Hi everyone,

I'm having trouble with this patch, which Malek pointed out is located here:

http://m5sim.org/cgi-bin/mailman/private/gem5-users/2009-January/004014.html

I haven't found any recent version of gem5 that works with this patch, so
it probably needs to be updated.  Here's the error I'm getting after
running scons for ARM_FS:

scons: Building targets ...
 [     CXX] ARM_FS/mem/bus.cc -> .fo
build/ARM_FS/mem/bus.cc: In member function 'bool Bus::recvTiming(Packet*)':
build/ARM_FS/mem/bus.cc:227:47: error: cannot resolve overloaded function
'curTick' based on conversion to type 'Tick'
scons: *** [build/ARM_FS/mem/bus.fo] Error 1
scons: building terminated because of errors.

Here are the changes in question:
diff --git a/src/mem/bus.cc b/src/mem/bus.cc
--- a/src/mem/bus.cc
+++ b/src/mem/bus.cc
@@ -198,8 +198,15 @@
     DPRINTF(Bus, "recvTiming: src %d dst %d %s 0x%x\n",
             src, pkt->getDest(), pkt->cmdString(), pkt->getAddr());

-    Tick headerFinishTime = pkt->isExpressSnoop() ? 0 :
calcPacketTiming(pkt);
-    Tick packetFinishTime = pkt->isExpressSnoop() ? 0 : pkt->finishTime;
+    Tick headerFinishTime, packetFinishTime;
+    if (pkt->isExpressSnoop()) {
+       headerFinishTime = 0;
+       packetFinishTime = 0;
+       pkt->firstWordTime = pkt->finishTime = curTick;
+    } else {
+       headerFinishTime = calcPacketTiming(pkt);
+       packetFinishTime = pkt->finishTime;
+    }

I took out this change from the patch, and everything it builds fine...but
I'm not sure what the purpose of the curTick line is (and whether the
syntax is right...).

Another problem is in src/mem/SConscript.  The merge fails due to a
function change from TraceFlag to DebugFlag.  After manually merging
(adding all the dramsim source files), I attempted building again.

Below are the errors I get.  If anyone with more knowledge about the
updates in the past year with gem5 has an idea what needs to be updated,
I'd appreciate the help.  Either that, or point me in the right direction.

 [     CXX] ARM_FS/mem/dramsim.cc -> .fo
In file included from build/ARM_FS/mem/dramsim.cc:40:0:
build/ARM_FS/mem/dramsim.hh: In member function 'virtual void
DRAMsim::Control::process()':
build/ARM_FS/mem/dramsim.hh:124:46: error: invalid operands of types
'<unresolved overloaded function type>' and 'Tick' to binary 'operator+'
build/ARM_FS/mem/dramsim.cc: In constructor 'DRAMsim::DRAMsim(const
DRAMsim::Params*)':
build/ARM_FS/mem/dramsim.cc:118:28: error: 'Clock' has not been declared
build/ARM_FS/mem/dramsim.cc: In member function 'void
DRAMsim::sendResponse(int)':
build/ARM_FS/mem/dramsim.cc:180:60: error: invalid operands of types
'<unresolved overloaded function type>' and 'int' to binary 'operator+'
build/ARM_FS/mem/dramsim.cc: In member function 'void DRAMsim::tick()':
build/ARM_FS/mem/dramsim.cc:191:42: error: invalid operands of types
'<unresolved overloaded function type>' and 'Tick' to binary 'operator/'
build/ARM_FS/mem/dramsim.cc:193:34: error: invalid operands of types
'<unresolved overloaded function type>' and 'Tick' to binary 'operator/'
build/ARM_FS/mem/dramsim.cc: In member function 'bool
DRAMsim::doTiming(Packet*, int)':
build/ARM_FS/mem/dramsim.cc:249:67: error: invalid operands of types
'<unresolved overloaded function type>' and 'Tick' to binary 'operator/'
build/ARM_FS/mem/dramsim.cc:252:41: error: invalid operands of types
'<unresolved overloaded function type>' and 'Tick' to binary 'operator+'
build/ARM_FS/mem/dramsim.cc:257:52: error: invalid operands of types
'<unresolved overloaded function type>' and 'int' to binary 'operator+'
scons: *** [build/ARM_FS/mem/dramsim.fo] Error 1
scons: building terminated because of errors.

Lastly, I did find another possible dramsim2-gem5 patch here:

https://bitbucket.org/rickshin/gem5-patches/src

Does anyone have experience with using this with ARM_FS?

Thanks,
Andrew
_______________________________________________
gem5-users mailing list
[email protected]
http://m5sim.org/cgi-bin/mailman/listinfo/gem5-users

Reply via email to