gem5.git
18 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Mon, 23 Oct 2006 18:32:35 +0000 (14:32 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/o3-merge/newmem

--HG--
extra : convert_revision : 161c35ade82f2471e605d948dca56cfa216693fd

18 years agoFix fetch to stop fetching upon encountering a fault in SE mode. Also change warning...
Kevin Lim [Mon, 23 Oct 2006 18:10:37 +0000 (14:10 -0400)]
Fix fetch to stop fetching upon encountering a fault in SE mode.  Also change warning to a DPRINTF.

--HG--
extra : convert_revision : 819bade049d7ffd97d316051c99146ece5e3a651

18 years agoAdd in support for LL/SC in the O3 CPU. Needs to be fully tested.
Kevin Lim [Mon, 23 Oct 2006 18:00:07 +0000 (14:00 -0400)]
Add in support for LL/SC in the O3 CPU.  Needs to be fully tested.

src/cpu/base_dyn_inst.hh:
    Extend BaseDynInst a little bit so it can be use as a TC as well (specifically for ll/sc code).
src/cpu/base_dyn_inst_impl.hh:
    Add variable to track if the result of the instruction should be recorded.
src/cpu/o3/alpha/cpu_impl.hh:
    Clear lock flag upon hwrei.
src/cpu/o3/lsq_unit.hh:
    Use ISA specified handling of locked reads.
src/cpu/o3/lsq_unit_impl.hh:
    Use ISA specified handling of locked writes.

--HG--
extra : convert_revision : 1f5c789c35deb4b016573c02af4aab60d726c0e5

18 years agoMinor compile fix. Not sure why this is broken.
Gabe Black [Mon, 23 Oct 2006 15:17:59 +0000 (11:17 -0400)]
Minor compile fix. Not sure why this is broken.

--HG--
extra : convert_revision : 6f181b15f37114ca0a3965cabcb2036bd2f97916

18 years agoMove around more SPARC memory code, and make block memory operations work with the...
Gabe Black [Mon, 23 Oct 2006 15:17:15 +0000 (11:17 -0400)]
Move around more SPARC memory code, and make block memory operations work with the timing cpu

--HG--
extra : convert_revision : 37358504c4d05d78d08c19ba3d0c99d38c4babf5

18 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Mon, 23 Oct 2006 13:44:58 +0000 (09:44 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  zeep.eecs.umich.edu:/home/gblack/m5/newmem

--HG--
extra : convert_revision : cb15101d24ef2969e1819d6bdeeb2dd1f23f02d1

18 years agoAdd reference outputs for SPARC on the atomic timing cpu model
Gabe Black [Mon, 23 Oct 2006 11:57:16 +0000 (07:57 -0400)]
Add reference outputs for SPARC on the atomic timing cpu model

--HG--
extra : convert_revision : b64ff7c05504da6112631baaae8f0d927469e16f

18 years agoBroke Load/Store instructions into microcode, and partially refactored memory operati...
Gabe Black [Mon, 23 Oct 2006 11:55:52 +0000 (07:55 -0400)]
Broke Load/Store instructions into microcode, and partially refactored memory operations in the SPARC ISA description.

--HG--
rename : src/arch/sparc/isa/formats.isa => src/arch/sparc/isa/formats/formats.isa
rename : src/arch/sparc/isa/formats/mem.isa => src/arch/sparc/isa/formats/mem/basicmem.isa
rename : src/arch/sparc/isa/formats/blockmem.isa => src/arch/sparc/isa/formats/mem/blockmem.isa
rename : src/arch/sparc/isa/formats/mem.isa => src/arch/sparc/isa/formats/mem/mem.isa
extra : convert_revision : dbbb00f997a102871b084b209b9fa08c5e1853ee

18 years agoDon't let interupts interupt microcode at undesired points.
Gabe Black [Mon, 23 Oct 2006 06:39:02 +0000 (02:39 -0400)]
Don't let interupts interupt microcode at undesired points.

--HG--
extra : convert_revision : a8ddc6b213b1a1b0d9c5cd194b88ac0c6bfb2a21

18 years agoFiles in base shouldn't depend on things in sim. Changed "sim/host.hh" to <inttypes.hh>
Gabe Black [Mon, 23 Oct 2006 06:37:54 +0000 (02:37 -0400)]
Files in base shouldn't depend on things in sim. Changed "sim/host.hh" to <inttypes.hh>

--HG--
extra : convert_revision : c1e46c012a26cdb0603416f8e8a99e0ecb1c09bc

18 years agoStart making memory ops work with InitiateAcc and CompleteAcc, and some minor cleanups
Gabe Black [Mon, 23 Oct 2006 06:36:46 +0000 (02:36 -0400)]
Start making memory ops work with InitiateAcc and CompleteAcc, and some minor cleanups

--HG--
extra : convert_revision : 178a8c5d0506c75ad7a7e8d691c8863235ed7e95

18 years agoChange the default constructors to take ExtMachInsts rather than regular MachInsts
Gabe Black [Mon, 23 Oct 2006 06:32:58 +0000 (02:32 -0400)]
Change the default constructors to take ExtMachInsts rather than regular MachInsts

--HG--
extra : convert_revision : 8fa34f82e0cbf5ce81775d572b182826c578581f

18 years agoAdd mutex test to Benchmarks.py.
Steve Reinhardt [Sun, 22 Oct 2006 16:52:58 +0000 (12:52 -0400)]
Add mutex test to Benchmarks.py.

--HG--
extra : convert_revision : 9b4f1ce9a181ac5a01e5b6a68067079969dfe9ce

18 years agoAnother missing case in a switch (like Nate's earlier fix).
Steve Reinhardt [Sun, 22 Oct 2006 16:51:49 +0000 (12:51 -0400)]
Another missing case in a switch (like Nate's earlier fix).

--HG--
extra : convert_revision : b2f195c29861a09e9dd99aefcf4a173be2f8c97c

18 years agoHave tracediff print warning if no traceflags are set.
Steve Reinhardt [Sun, 22 Oct 2006 16:51:00 +0000 (12:51 -0400)]
Have tracediff print warning if no traceflags are set.
Elaborate on description a bit.

--HG--
extra : convert_revision : 2649961b53d6fb2774ddfb60219415ae4251db2d

18 years agoSmall bug fixes for timing LL/SC. Better now but
Steve Reinhardt [Sun, 22 Oct 2006 06:35:00 +0000 (23:35 -0700)]
Small bug fixes for timing LL/SC.  Better now but
not necessarily 100% there yet.

src/mem/cache/cache_impl.hh:
    Generate response packet on failed store conditional.
src/mem/packet.hh:
    Clear packet flags when reinitializing.
    (SATISFIED in particular is one we don't want to leave set.)

--HG--
extra : convert_revision : 29207c8a09afcbce43f41c480ad0c1b21d47454f

18 years agoAdd Quiesce trace flag to track CPU quiesce/wakeup events.
Steve Reinhardt [Sun, 22 Oct 2006 06:32:14 +0000 (23:32 -0700)]
Add Quiesce trace flag to track CPU quiesce/wakeup events.

--HG--
extra : convert_revision : 23be99d0fe6e2184523efe5d9e0a1ac7bf19d087

18 years agoJust give up if a store conditional misses completely
Steve Reinhardt [Sun, 22 Oct 2006 00:19:33 +0000 (17:19 -0700)]
Just give up if a store conditional misses completely
in the cache (don't treat as normal write miss).

--HG--
extra : convert_revision : c030eb6ba25318cae422e4da31e3b802049c8c74

18 years agoFix formatting that got screwed up when tabs were removed.
Steve Reinhardt [Sat, 21 Oct 2006 20:54:48 +0000 (13:54 -0700)]
Fix formatting that got screwed up when tabs were removed.

--HG--
extra : convert_revision : 98596542a5774fe010e25632836ce92b66779f53

18 years agoRefactor coherence state table initialization.
Steve Reinhardt [Sat, 21 Oct 2006 20:43:14 +0000 (13:43 -0700)]
Refactor coherence state table initialization.

--HG--
extra : convert_revision : eb36dd2cc1463e5076f4758a59cf68cc6b2bafc5

18 years agoMerge vm1.(none):/home/stever/bk/newmem-head
Steve Reinhardt [Sat, 21 Oct 2006 18:41:53 +0000 (11:41 -0700)]
Merge vm1.(none):/home/stever/bk/newmem-head
into  vm1.(none):/home/stever/bk/newmem-llsc

--HG--
extra : convert_revision : 157d07cc56e8ea68741d1b8536a9856488cb4a69

18 years agoGet rid of unused handleTargets() function.
Steve Reinhardt [Sat, 21 Oct 2006 18:38:23 +0000 (11:38 -0700)]
Get rid of unused handleTargets() function.

--HG--
extra : convert_revision : 90032c3831d10e98c6453cd6144f9c00b9f97219

18 years agoTweak a few things for better page fault debugging.
Steve Reinhardt [Sat, 21 Oct 2006 09:28:05 +0000 (05:28 -0400)]
Tweak a few things for better page fault debugging.

src/sim/faults.cc:
    Fix fault message.
src/kern/tru64/tru64.hh:
    Add DPRINTF to see where new thread stacks are allocated.
src/arch/alpha/faults.cc:
    Add print statement so we know what the faulting address is in SE mode.

--HG--
extra : convert_revision : 6eb2b513c339496a0d013b7e914953a0a066c12d

18 years agoUpdated to work with new command line argument ordering.
Steve Reinhardt [Sat, 21 Oct 2006 09:24:27 +0000 (02:24 -0700)]
Updated to work with new command line argument ordering.
Note that command line syntax has totally changed as a result.
See comments for more details.

--HG--
extra : convert_revision : bdb6e27abd2da83c7468dfe2a95e8bf54757ac6c

18 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Nathan Binkert [Sat, 21 Oct 2006 07:32:09 +0000 (00:32 -0700)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  iceaxe.:/Volumes/work/research/m5/incoming

--HG--
extra : convert_revision : c9153e5dca1d1f46a34770c645761d7b0419e8ce

18 years agoMissing case
Nathan Binkert [Sat, 21 Oct 2006 07:31:46 +0000 (00:31 -0700)]
Missing case

--HG--
extra : convert_revision : 128896dd1a654fe9a02e2c07ef6ce6799b62f21f

18 years agoAdd some default options, point it to the /dist version of the splash benchmarks
Ron Dreslinski [Sat, 21 Oct 2006 01:13:10 +0000 (21:13 -0400)]
Add some default options, point it to the /dist version of the splash benchmarks

--HG--
extra : convert_revision : cd3b4f395b360d646b8b60464768eaad0fd110a4

18 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Sat, 21 Oct 2006 00:04:45 +0000 (20:04 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest

--HG--
extra : convert_revision : 4678ce5fb0dc29a28d9cd21e687f9cee967d21fa

18 years agoClean up splash2 so it works in v2.0
Ron Dreslinski [Fri, 20 Oct 2006 23:53:52 +0000 (19:53 -0400)]
Clean up splash2 so it works in v2.0

configs/splash2/run.py:
    Update the splash2 file

--HG--
extra : convert_revision : b57ef1ab4b8fd1eaf281358db623b7581b96546b

18 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Fri, 20 Oct 2006 20:39:47 +0000 (16:39 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  zeep.eecs.umich.edu:/home/gblack/m5/newmem

--HG--
extra : convert_revision : 2711fec2bf72801999b060e65f0bf744c18734fb

18 years agoConstruct a correct value of PYTHONHOME from the interpreter
Nathan Binkert [Fri, 20 Oct 2006 18:37:59 +0000 (11:37 -0700)]
Construct a correct value of PYTHONHOME from the interpreter
running SCons, make it into a sticky option that can be
overridden at build time, and set it up before the interpreter
is started.  Also, fix the code that turns sticky options into
config/*.hh so that it works with types other than bool.

--HG--
extra : convert_revision : 602398b35d4da4e813f78865678ed348fdea7270

18 years agoGive physical memory some latency to stress the system
Ron Dreslinski [Fri, 20 Oct 2006 17:36:26 +0000 (13:36 -0400)]
Give physical memory some latency to stress the system

--HG--
extra : convert_revision : 3ca32ff9140770d0774cac5e82807a0574db09dd

18 years agoAdd a config file in the example with the memtester and some parser options.
Ron Dreslinski [Fri, 20 Oct 2006 17:32:24 +0000 (13:32 -0400)]
Add a config file in the example with the memtester and some parser options.

--HG--
extra : convert_revision : e70ccc3de4f7a3ae20ff9ec672853ee1555ed41b

18 years agoGet rid of a variable put back by merge.
Ron Dreslinski [Fri, 20 Oct 2006 17:05:39 +0000 (13:05 -0400)]
Get rid of a variable put back by merge.

--HG--
extra : convert_revision : 5ddb6ae5d5412f062c07c16a27b79483430b5f22

18 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Fri, 20 Oct 2006 17:04:59 +0000 (13:04 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest

src/mem/tport.cc:
    Merge PacketPtr changes

--HG--
extra : convert_revision : 0329c5803a3df67af3dda89bd9d4753fd1a286d1

18 years agoUse fixPacket function everywhere.
Ron Dreslinski [Fri, 20 Oct 2006 17:01:21 +0000 (13:01 -0400)]
Use fixPacket function everywhere.
Fix fixPacket assert function.
Stop timing port from forwarding the request if a response was found in its queue on a read.

src/cpu/memtest/memtest.cc:
src/cpu/memtest/memtest.hh:
src/python/m5/objects/MemTest.py:
    Add parameter to configure what percentage of mem accesses are functional
src/mem/cache/base_cache.cc:
src/mem/cache/cache_impl.hh:
    Use fix Packet function
src/mem/packet.cc:
    Fix an assert that was checking the wrong thing
src/mem/tport.cc:
    Properly detect if we need to do the access to the functional device

--HG--
extra : convert_revision : 447cc1a9a65ddd2a41e937fb09dc0e7c74e9c75e

18 years agoUse PacketPtr everywhere
Nathan Binkert [Fri, 20 Oct 2006 07:10:12 +0000 (00:10 -0700)]
Use PacketPtr everywhere

--HG--
extra : convert_revision : d9eb83ab77ffd2d725961f295b1733137e187711

18 years agorefactor code for the packet, get rid of packet_impl.hh
Nathan Binkert [Fri, 20 Oct 2006 06:38:45 +0000 (23:38 -0700)]
refactor code for the packet, get rid of packet_impl.hh
and call it packet_access.hh and fix the #includes so
things compile right.

--HG--
extra : convert_revision : d3626c9715b9f7e51bb3ab8d97e971fad4e0b724

18 years agoinitialize end, clean up loop
Nathan Binkert [Fri, 20 Oct 2006 06:35:59 +0000 (23:35 -0700)]
initialize end, clean up loop

--HG--
extra : convert_revision : e1c107f0c0fd5d535acd2d6c43571a5df57c9ed3

18 years agoFix compile of m5.fast
Nathan Binkert [Fri, 20 Oct 2006 06:34:59 +0000 (23:34 -0700)]
Fix compile of m5.fast

--HG--
extra : convert_revision : a8a37c318e55e48e697e4aaba339328f000b3f60

18 years agoDelete unused file src/mem/cache.hh
Steve Reinhardt [Fri, 20 Oct 2006 05:59:38 +0000 (22:59 -0700)]
Delete unused file src/mem/cache.hh

--HG--
extra : convert_revision : 11bd043bb72eef0239fa60155e1f5a5e02de7cbc

18 years agom5term: assume localhost if host name not provided.
Steve Reinhardt [Fri, 20 Oct 2006 04:42:30 +0000 (21:42 -0700)]
m5term: assume localhost if host name not provided.

util/term/term.c:
    Reindent.
util/term/term.c:
    Assume localhost if only port number is given on command line.

--HG--
extra : convert_revision : 768e61a56339a0795ca258cca788e9a2c20cbaae

18 years agoFix corner case on assertion.
Ron Dreslinski [Fri, 20 Oct 2006 01:26:46 +0000 (21:26 -0400)]
Fix corner case on assertion.
I need to move over to using the fixPacket function so I don't have to make the same changes everywhere.
Still a functional access bug someplace I need to track down in timing mode.

src/mem/cache/base_cache.cc:
src/mem/cache/cache_impl.hh:
    Fix corner case on assertion
tests/configs/memtest.py:
    Updated memtester with uncacheable addresses and functional accesses

--HG--
extra : convert_revision : e6fa851621700ff9227b83cc5cac20af4fc8444f

18 years agoFix memtester to use functional access, fix cache to work functionally now that we...
Ron Dreslinski [Fri, 20 Oct 2006 01:07:53 +0000 (21:07 -0400)]
Fix memtester to use functional access, fix cache to work functionally now that we could test it.

src/cpu/memtest/memtest.cc:
    Fix memtest to do functional accesses
src/mem/cache/cache_impl.hh:
    Fix cache to handle functional accesses properly based on memtester changes
    Still need to fix functional accesses in timing mode now that the memtester can test it.

--HG--
extra : convert_revision : a6dbca4dc23763ca13560fbf5d41a23ddf021113

18 years agoSmall changes:
Ron Dreslinski [Fri, 20 Oct 2006 00:18:17 +0000 (20:18 -0400)]
Small changes:
?? doesn't compile in warn statements
Should have been false, where I had a true.

src/cpu/o3/lsq_impl.hh:
    Apparently you can't have ?? in a warn statement (Something about trigraphs)
src/mem/cache/cache_impl.hh:
    Forgot to signal atomic mode in snoopProbe

--HG--
extra : convert_revision : c75cb76e193e852284564993440c8ea39e6de426

18 years agoFixes to get single level uni-coherence to work.
Ron Dreslinski [Fri, 20 Oct 2006 00:02:57 +0000 (20:02 -0400)]
Fixes to get single level uni-coherence to work.
Now to try L2 caches in FS.

src/mem/cache/base_cache.hh:
    Fix uni-coherence for atomic accesses in coherence protocol access to port
src/mem/cache/cache_impl.hh:
    Properly handle uni-coherence
src/mem/cache/coherence/simple_coherence.hh:
    Properly forward invalidates (not done for MSI+ protocols (assumed top level for now)
src/mem/cache/coherence/uni_coherence.cc:
src/mem/cache/coherence/uni_coherence.hh:
    Properly forward invalidates in atomic/timing uni-coherence

--HG--
extra : convert_revision : f0f11315e8e7f32c19d92287f6f9c27b079c96f7

18 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Thu, 19 Oct 2006 23:00:43 +0000 (19:00 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest

--HG--
extra : convert_revision : c6611b32537918f5bf183788227ddf69a9a9a069

18 years agoAlways get the functional access from the highest level of cache first.
Ron Dreslinski [Thu, 19 Oct 2006 23:00:27 +0000 (19:00 -0400)]
Always get the functional access from the highest level of cache first.

src/mem/cache/cache_impl.hh:
    Get the read data from the highest level of cache on a functional access

--HG--
extra : convert_revision : 7437ac46fb40f3ea3b42197a1aa8aec62af60181

18 years agoAlso mark the packet as successful.
Ron Dreslinski [Thu, 19 Oct 2006 22:29:42 +0000 (18:29 -0400)]
Also mark the packet as successful.

--HG--
extra : convert_revision : 2c38c209d2f5cb0ee2f8e55fce6ee4400529d547

18 years agoCleaned up the function a bit to help route out bugs.
Gabe Black [Thu, 19 Oct 2006 18:57:06 +0000 (14:57 -0400)]
Cleaned up the function a bit to help route out bugs.

--HG--
extra : convert_revision : db9a526bddc8634cea63b42b882f580806066db5

18 years agoProperly update the state in the cache block on functional access.
Ron Dreslinski [Thu, 19 Oct 2006 18:55:54 +0000 (14:55 -0400)]
Properly update the state in the cache block on functional access.
Mark as satisfied for functional snoops.

--HG--
extra : convert_revision : f75309c3436044a64caff097e2a585363cd004c3

18 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
Steve Reinhardt [Thu, 19 Oct 2006 17:33:08 +0000 (13:33 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into  zizzer.eecs.umich.edu:/z/stever/bk/newmem-head

--HG--
extra : convert_revision : 8a70922250092c013fa4db6d83254b438ee6c4be

18 years agoAdd "All" compund flag to enable all defined trace flags.
Steve Reinhardt [Thu, 19 Oct 2006 17:32:08 +0000 (10:32 -0700)]
Add "All" compund flag to enable all defined trace flags.

--HG--
extra : convert_revision : dcc699d8341f762dee659290cd35206e326e1179

18 years agoAdd new event priority for trace enable events so
Steve Reinhardt [Thu, 19 Oct 2006 17:21:23 +0000 (10:21 -0700)]
Add new event priority for trace enable events so
that tracing gets turned on as the very first thing
in the selected cycle (tick).

--HG--
extra : convert_revision : c08f749ca42782af1b48e5aa5f0860bf7076bd3c

18 years agoFirst cut at LL/SC support in caches (atomic mode only).
Steve Reinhardt [Thu, 19 Oct 2006 07:33:33 +0000 (00:33 -0700)]
First cut at LL/SC support in caches (atomic mode only).

configs/example/fs.py:
    Add MOESI protocol to caches (uni coherence not quite working w/FS yet).

--HG--
extra : convert_revision : 7bef7d9c5b24bf7241cc810df692408837b06b86

18 years agoZeroed out the actual LSB in addition to moving it's original value the MSB.
Gabe Black [Thu, 19 Oct 2006 00:53:59 +0000 (20:53 -0400)]
Zeroed out the actual LSB in addition to moving it's original value the MSB.

--HG--
extra : convert_revision : d29efe01781d72ee6e61818e7b93972262c0616b

18 years agoFixed up exetrace.cc to deal with microcode, and to made floating point register...
Gabe Black [Thu, 19 Oct 2006 00:52:34 +0000 (20:52 -0400)]
Fixed up exetrace.cc to deal with microcode, and to made floating point register numbers correlate to the numbers used in SPARC in m5 and statetrace.

src/cpu/exetrace.cc:
    Fixed up to deal with microcode, and to make floating point register numbers correlate to the numbers used in SPARC.
util/statetrace/arch/tracechild_sparc.cc:
util/statetrace/arch/tracechild_sparc.hh:
    Make floating point register numbers correlate to the numbers used in SPARC.

--HG--
extra : convert_revision : 878897292f696092453cf61d6eac2d1c407ca13b

18 years agoFixed a compiler error, disassembly output, and corrected the address calculation.
Gabe Black [Thu, 19 Oct 2006 00:48:08 +0000 (20:48 -0400)]
Fixed a compiler error, disassembly output, and corrected the address calculation.

--HG--
extra : convert_revision : d34b3c0443064addb6f454ac70fbaeda0678e329

18 years agoFixed up ldblockf_p, implemented stdfa properly, and got rid of some old code.
Gabe Black [Thu, 19 Oct 2006 00:44:51 +0000 (20:44 -0400)]
Fixed up ldblockf_p, implemented stdfa properly, and got rid of some old code.

--HG--
extra : convert_revision : 263b4b835d6d1bc9049acdc1398286277bede97a

18 years agohow did i not commit this already? the other way doesn't seem to work, need to conve...
Lisa Hsu [Wed, 18 Oct 2006 22:04:53 +0000 (18:04 -0400)]
how did i not commit this already?  the other way doesn't seem to work, need to convert to System ptr first to access System method.

src/python/m5/SimObject.py:
    how did i not commit this already?  the other way doesn't seem to work.

--HG--
extra : convert_revision : 55737d3d10742a1913a376d1febbc5809f2fab8f

18 years agoneed some initializations before doing the loop.
Lisa Hsu [Wed, 18 Oct 2006 22:01:33 +0000 (18:01 -0400)]
need some initializations before doing the loop.

--HG--
extra : convert_revision : e5e8b16ae4f119c923d8c0d295aa9569d7a8fe5b

18 years agoonly do this assert after you know you're not switched out or idle.
Lisa Hsu [Wed, 18 Oct 2006 21:59:11 +0000 (17:59 -0400)]
only do this assert after you know you're not switched out or idle.

--HG--
extra : convert_revision : 0cd0d31db44fe7e8e44bde90e1756873faca422f

18 years agoFix WriteInvalidateResp
Ron Dreslinski [Wed, 18 Oct 2006 20:38:02 +0000 (16:38 -0400)]
Fix WriteInvalidateResp

--HG--
extra : convert_revision : ac4281944202a9a2f166b305a1eaea507e484bcc

18 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Wed, 18 Oct 2006 17:34:52 +0000 (13:34 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest

--HG--
extra : convert_revision : 9e47881686a6c060fa28e7edfd9a0b556099bf30

18 years agoBreak a lot of overly long lines.
Steve Reinhardt [Wed, 18 Oct 2006 15:41:05 +0000 (08:41 -0700)]
Break a lot of overly long lines.
Factor out some asserts that were on both
sides of an if/else.

--HG--
extra : convert_revision : 78f0c2d76a81a98216b2f281159c6b6ea0147731

18 years agoGet rid of doData() lines (were already commented out).
Steve Reinhardt [Wed, 18 Oct 2006 15:24:24 +0000 (08:24 -0700)]
Get rid of doData() lines (were already commented out).
Reindent due to resulting changes in nesting.

--HG--
extra : convert_revision : 6be099d572efb618efb08fbc06d7e0e4b5b4cab2

18 years agoGet rid of obsolete in-cache copy support.
Steve Reinhardt [Wed, 18 Oct 2006 15:16:22 +0000 (08:16 -0700)]
Get rid of obsolete in-cache copy support.

--HG--
extra : convert_revision : a701ed9d078c67718a33f4284c0403a8aaac7b25

18 years agoAdd --caches option to add caches to server CPUs.
Steve Reinhardt [Wed, 18 Oct 2006 06:30:11 +0000 (23:30 -0700)]
Add --caches option to add caches to server CPUs.

--HG--
extra : convert_revision : 6aa97dcc807e175215e73c638faf73be926d4cd4

18 years agoInclude packet_impl.hh (need this on my laptop,
Steve Reinhardt [Wed, 18 Oct 2006 04:16:17 +0000 (21:16 -0700)]
Include packet_impl.hh (need this on my laptop,
but not on zizzer... g++ 4 thing maybe?)

--HG--
extra : convert_revision : 31c49f1c55fe9daf6365411bfb5bb7f6ccc8032d

18 years agoEnable MP systems via cmd-line flag in fs.py.
Steve Reinhardt [Wed, 18 Oct 2006 04:15:11 +0000 (21:15 -0700)]
Enable MP systems via cmd-line flag in fs.py.

configs/example/fs.py:
    Add flag for MP server systems.
src/python/m5/objects/AlphaConsole.py:
src/python/m5/objects/IntrControl.py:
    Change CPU from 'any' to 'cpu[0]' to work better with MP sytems.
tests/configs/tsunami-simple-atomic-dual.py:
tests/configs/tsunami-simple-timing-dual.py:
    Don't need to set console & intrcontrol cpu
    params anymore (default is fixed now).

--HG--
extra : convert_revision : 9417b12b1b395ff7d6a9f2894e4123923c754daf

18 years agoadd code to serialize se structures. Lisa is working on the python side of things...
Ali Saidi [Tue, 17 Oct 2006 23:38:36 +0000 (19:38 -0400)]
add code to serialize se structures. Lisa is working on the python side of things and will test

src/mem/page_table.cc:
src/mem/page_table.hh:
    add code to serialize/unserialize page table
src/sim/process.cc:
src/sim/process.hh:
    add code to serialize/unserialize process

--HG--
extra : convert_revision : ee9eb5e2c38c5d317a2f381972c552d455e0db9e

18 years agoFixes for uni-coherence in timing mode for FS.
Ron Dreslinski [Tue, 17 Oct 2006 22:50:19 +0000 (18:50 -0400)]
Fixes for uni-coherence in timing mode for FS.
Still a bug in atomic uni-coherence in FS.

src/cpu/o3/fetch_impl.hh:
src/cpu/o3/lsq_impl.hh:
src/cpu/simple/atomic.cc:
src/cpu/simple/timing.cc:
    Make CPU models handle coherence requests
src/mem/cache/base_cache.cc:
    Properly signal coherence CSHRs
src/mem/cache/coherence/uni_coherence.cc:
    Only deallocate once

--HG--
extra : convert_revision : c4533de421c371c5532ee505e3ecd451511f5c99

18 years agoFixes to cache eliminating the assumption that the Packet is still valid after sendin...
Ron Dreslinski [Tue, 17 Oct 2006 20:47:22 +0000 (16:47 -0400)]
Fixes to cache eliminating the assumption that the Packet is still valid after sending out a request.
Still need to rework upgrades into this system, but works for now.

src/mem/cache/base_cache.cc:
    Re order code to be more readable
src/mem/cache/base_cache.hh:
    Be sure to delete the copy on a bus block
src/mem/cache/cache_impl.hh:
    Be sure to remove the copy on a writeback success
src/mem/cache/miss/mshr_queue.cc:
    Demorgans to make it easier to understand
src/mem/tport.cc:
    Delete writebacks

--HG--
extra : convert_revision : 9519fb37b46ead781d340de29bb342a322a6a92e

18 years agoProperly chack the pkt pointer on upgrades to insure no segfaults when writebacks...
Ron Dreslinski [Tue, 17 Oct 2006 19:07:40 +0000 (15:07 -0400)]
Properly chack the pkt pointer on upgrades to insure no segfaults when writebacks delete the packet.

--HG--
extra : convert_revision : 72b1c6296a16319f4d16c62bc7038365654dbc40

18 years agoFix it so that the cache does not assume to gave the packet it sent out via sendTiming.
Ron Dreslinski [Tue, 17 Oct 2006 19:05:21 +0000 (15:05 -0400)]
Fix it so that the cache does not assume to gave the packet it sent out via sendTiming.
Still need to fix upgrades to use this path

src/mem/cache/base_cache.cc:
    Copy the pkt to the MSHR before issuing the sendTiming where it may be changed/consumed
src/mem/cache/cache_impl.hh:
    Use copy of packet, because sendTiming may have changed the pkt
    Also, delete the copy when the time comes

--HG--
extra : convert_revision : 635cde6b4f08d010affde310c46b1caf50fbe424

18 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Tue, 17 Oct 2006 18:28:17 +0000 (14:28 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest

--HG--
extra : convert_revision : e33d535feb0c3d975dc043efdc86efe0df05800c

18 years agoRename 'Machine' to 'SysConfig'.
Steve Reinhardt [Tue, 17 Oct 2006 18:08:49 +0000 (11:08 -0700)]
Rename 'Machine' to 'SysConfig'.
Clean up a little.

--HG--
extra : convert_revision : db5f36776209c76a593205c46b08aa147358f33a

18 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Tue, 17 Oct 2006 18:05:23 +0000 (14:05 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest

--HG--
extra : convert_revision : c3650273684f3fbdcd2e14e95d09ee3c6de8d6b6

18 years agoCorrected the "Authors" line
Gabe Black [Mon, 16 Oct 2006 19:59:48 +0000 (15:59 -0400)]
Corrected the "Authors" line

--HG--
extra : convert_revision : 0202e130b170dcc2f45403c58cf51ec8c2e4e094

18 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Gabe Black [Mon, 16 Oct 2006 19:56:53 +0000 (15:56 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  zeep.eecs.umich.edu:/home/gblack/m5/newmem

--HG--
extra : convert_revision : 898976bbd322e55bc234035456df8090c6dcf72d

18 years agoFix up microcode support.
Gabe Black [Mon, 16 Oct 2006 19:56:46 +0000 (15:56 -0400)]
Fix up microcode support.

src/arch/sparc/isa/formats/blockmem.isa:
    Several small and medium bug fixes.
src/cpu/simple/base.cc:
    Fixed a few compiler errors and made sure the next micro pc is set to 1 to prevent the first microop from executing twice. Also fixed a fetching bug.
src/cpu/thread_state.cc:
    Made sure the microPC and nextMicroPC are initialized properly.

--HG--
extra : convert_revision : a0fc8aa18d1ade916f17c557181a793c6108a8af

18 years agoChanged how floating point register numbers are decoded to fit with the spec.
Gabe Black [Mon, 16 Oct 2006 19:53:48 +0000 (15:53 -0400)]
Changed how floating point register numbers are decoded to fit with the spec.

--HG--
extra : convert_revision : 155f48c84d06619c9c1c43375beb9d0a1c7495c9

18 years agoMade sure the constructor for insts use ExtMachInst rather than MachInst, since other...
Gabe Black [Mon, 16 Oct 2006 19:52:14 +0000 (15:52 -0400)]
Made sure the constructor for insts use ExtMachInst rather than MachInst, since otherwise the EXT_ASI field is lost.

src/arch/sparc/isa/base.isa:
src/arch/sparc/isa/formats/micro.isa:
    Switch MachInst to ExtMachInst so that the EXT_ASI field is available to the instructions.
src/arch/sparc/utility.hh:
    Made sure EXT_ASI was set to the appropriate ASI value whether or not the asi register was used.

--HG--
extra : convert_revision : cc4363dfe7da81969959cec9d5ad48528edeb8ce

18 years agoAdded in missing portions of the stat structure copying function.
Gabe Black [Mon, 16 Oct 2006 01:54:59 +0000 (21:54 -0400)]
Added in missing portions of the stat structure copying function.

--HG--
extra : convert_revision : cfabcb07b2c0c5655a757e8c98999ec3cf791e09

18 years agoStarted implementing microcode.
Gabe Black [Mon, 16 Oct 2006 01:04:14 +0000 (21:04 -0400)]
Started implementing microcode.

--HG--
extra : convert_revision : 51df0454085e13df023efd8a0c0a12f9756c4690

18 years agoAdded an execute function to the macro op so it can be instantiated.
Gabe Black [Mon, 16 Oct 2006 00:54:35 +0000 (20:54 -0400)]
Added an execute function to the macro op so it can be instantiated.

--HG--
extra : convert_revision : 89dd46f5bbac966e6eb4f6f747419fa1d344eb87

18 years agoFix how additional template parameters are handled. Non string parameters are not...
Gabe Black [Mon, 16 Oct 2006 00:37:28 +0000 (20:37 -0400)]
Fix how additional template parameters are handled. Non string parameters are not processed as code.

src/arch/isa_parser.py:
    Changed the way the extra template parameters are specified. MIPS might need to be adjusted.
src/arch/sparc/isa/decoder.isa:
    Changed how Frd_N was set up.
src/arch/sparc/isa/formats/blockmem.isa:
    Fixed up handling of block memory operations
src/arch/sparc/isa/formats/integerop.isa:
src/arch/sparc/isa/formats/mem.isa:
src/arch/sparc/isa/formats/priv.isa:
    Fix up extra template parameters.

--HG--
extra : convert_revision : ebf850d192193521bb84ca36b577051f74338d23

18 years agoGet rid of unused CacheBlk << output operator.
Steve Reinhardt [Sat, 14 Oct 2006 06:09:05 +0000 (02:09 -0400)]
Get rid of unused CacheBlk << output operator.

--HG--
extra : convert_revision : d5c0aadc35edf5c9495afcd3375f1f64716ef845

18 years agoMerge 141.212.106.238:/home/gblack/m5/newmem_bus
Gabe Black [Fri, 13 Oct 2006 23:09:46 +0000 (19:09 -0400)]
Merge 141.212.106.238:/home/gblack/m5/newmem_bus
into  zizzer.eecs.umich.edu:/.automount/wexford/x/gblack/m5/newmem_bus

--HG--
extra : convert_revision : ff15f3805a9ed9aa81e92013d5b57399a30720bb

18 years agoFix stats for new bus model
Gabe Black [Fri, 13 Oct 2006 22:59:29 +0000 (18:59 -0400)]
Fix stats for new bus model

--HG--
extra : convert_revision : c081754c8eb8fa5b8e7336deb3fefb545789b8ac

18 years agoFix assertion. I haven't tested it fully (I can't reproduce Lisa's error) but I...
Kevin Lim [Fri, 13 Oct 2006 21:35:23 +0000 (17:35 -0400)]
Fix assertion.  I haven't tested it fully (I can't reproduce Lisa's error) but I believe it should fix what she's running into (which was definitely a bug).

src/cpu/o3/fetch_impl.hh:
    Move assertion to area where it should really always be true.  Sometimes you might recvRetry and not necessarily be blocked (if there was a squash).

--HG--
extra : convert_revision : 76ad35357e7f4c44fa544ffed071096a62053018

18 years agoMerge zizzer:/bk/newmem
Ron Dreslinski [Fri, 13 Oct 2006 19:47:35 +0000 (15:47 -0400)]
Merge zizzer:/bk/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmemcleanest

--HG--
extra : convert_revision : f62790e46a7e3eb88a6f8c7bfaa08526285248a3

18 years agoFix for DMA's in FS caches.
Ron Dreslinski [Fri, 13 Oct 2006 19:47:05 +0000 (15:47 -0400)]
Fix for DMA's in FS caches.
Fix CSHR's for flow control.
Fix for Bus Bridges reusing packets (clean flags up)

Now both timing/atomic caches with MOESI in UP fail at same point.

src/dev/io_device.hh:
    DMA's should send WriteInvalidates
src/mem/bridge.cc:
    Reusing packet, clean flags in the packet set by bus.
src/mem/cache/base_cache.cc:
src/mem/cache/base_cache.hh:
src/mem/cache/cache.hh:
src/mem/cache/cache_impl.hh:
src/mem/cache/coherence/simple_coherence.hh:
src/mem/cache/coherence/uni_coherence.cc:
src/mem/cache/coherence/uni_coherence.hh:
    Fix CSHR's for flow control.
src/mem/packet.hh:
    Make a writeInvalidateResp, since the DMA expects responses to it's writes

--HG--
extra : convert_revision : 59fd6658bcc0d076f4b143169caca946472a86cd

18 years agofix a bug in CopyStringOut. dprintk appears to work again.
Ali Saidi [Fri, 13 Oct 2006 18:28:46 +0000 (14:28 -0400)]
fix a bug in CopyStringOut. dprintk appears to work again.

--HG--
extra : convert_revision : cd0d13a85ddc7599308db8604a8f63a48679cc05

18 years agoMerge zizzer:/bk/newmem
Lisa Hsu [Thu, 12 Oct 2006 22:56:57 +0000 (18:56 -0400)]
Merge zizzer:/bk/newmem
into  zed.eecs.umich.edu:/z/hsul/work/m5/newmem

src/cpu/simple/timing.cc:
    hand merge

--HG--
extra : convert_revision : 083bf102249ad9bc63c447dbf85d3863f935f647

18 years agoChanged the sign extension function from mine to the provided one. Mine relied on...
Gabe Black [Thu, 12 Oct 2006 21:39:15 +0000 (17:39 -0400)]
Changed the sign extension function from mine to the provided one. Mine relied on implementation specific behavior, namely right shifting a signed value.

--HG--
extra : convert_revision : 4f5ef44d012de87919ad681024fe2ed0213a412f

18 years agoSome support for handling block loads and stores and ASIs properly.
Gabe Black [Thu, 12 Oct 2006 21:38:06 +0000 (17:38 -0400)]
Some support for handling block loads and stores and ASIs properly.

src/arch/sparc/isa/bitfields.isa:
    Added a field to retrieve the asi from the ExtMachInst
src/arch/sparc/isa/decoder.isa:
    Fixed up how the size of memory operations where handled, and use the new EXT_ASI bit field.
src/arch/sparc/isa/formats.isa:
    add includes for the new formats.
src/arch/sparc/isa/formats/basic.isa:
    Add a template for BasicDecodeWithMnemonic which is needed by the unimp format.
src/arch/sparc/isa/formats/mem.isa:
    Change around the memory format to figure out the memory access width on its own.
src/arch/sparc/isa/operands.isa:
    Added support for the operands of block loads/stores which are offset from Frd.
src/arch/sparc/utility.hh:
    Encoded the ASI into the ExtMachInst

--HG--
extra : convert_revision : 5c6026a07e3a919e738d27f78beb0faf6b060643

18 years agoStaticInst support for microcode
Gabe Black [Thu, 12 Oct 2006 21:32:02 +0000 (17:32 -0400)]
StaticInst support for microcode

--HG--
extra : convert_revision : c9e062637faf2166f0d36b914f3efa7f80626663

18 years agoThe beginnings of an instruction format to deal with block loads and stores. This...
Gabe Black [Thu, 12 Oct 2006 21:30:25 +0000 (17:30 -0400)]
The beginnings of an instruction format to deal with block loads and stores. This takes advantage of microcode.

--HG--
extra : convert_revision : ac912df76c781f40fc462f314451148c5cdfaf43

18 years agoSome support for macro/micro instructions in SPARC.
Gabe Black [Thu, 12 Oct 2006 21:29:28 +0000 (17:29 -0400)]
Some support for macro/micro instructions in SPARC.

--HG--
extra : convert_revision : 1f0687d58ab3a4823911a67d8d5c66b27cc211a5