Gabe Black [Wed, 25 Oct 2006 21:49:41 +0000 (17:49 -0400)]
Implemented the SPARC fill and spill handlers.
src/arch/sparc/faults.cc:
src/arch/sparc/faults.hh:
Added a function to do normal SPARC trap processing, and implemented the spill and fill faults for SE
src/arch/sparc/process.cc:
src/arch/sparc/process.hh:
Added fill and spill handlers which are stuffed into the processes address space. The location of these handlers are stored in fillStart and spillStart.
--HG--
extra : convert_revision :
59adb96570cce86f373fbc2c3e4c05abe1742d3b
Gabe Black [Tue, 24 Oct 2006 19:50:41 +0000 (15:50 -0400)]
Replace the Alpha No op with a SPARC one.
--HG--
extra : convert_revision :
bed03e63dc80bf24f21bad08e6553d7aab92c7b3
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
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
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
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
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
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
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
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
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
Steve Reinhardt [Sun, 22 Oct 2006 16:52:58 +0000 (12:52 -0400)]
Add mutex test to Benchmarks.py.
--HG--
extra : convert_revision :
9b4f1ce9a181ac5a01e5b6a68067079969dfe9ce
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
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
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
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
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
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
Steve Reinhardt [Sat, 21 Oct 2006 20:43:14 +0000 (13:43 -0700)]
Refactor coherence state table initialization.
--HG--
extra : convert_revision :
eb36dd2cc1463e5076f4758a59cf68cc6b2bafc5
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
Steve Reinhardt [Sat, 21 Oct 2006 18:38:23 +0000 (11:38 -0700)]
Get rid of unused handleTargets() function.
--HG--
extra : convert_revision :
90032c3831d10e98c6453cd6144f9c00b9f97219
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
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
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
Nathan Binkert [Sat, 21 Oct 2006 07:31:46 +0000 (00:31 -0700)]
Missing case
--HG--
extra : convert_revision :
128896dd1a654fe9a02e2c07ef6ce6799b62f21f
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
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
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
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
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
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
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
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
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
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
Nathan Binkert [Fri, 20 Oct 2006 07:10:12 +0000 (00:10 -0700)]
Use PacketPtr everywhere
--HG--
extra : convert_revision :
d9eb83ab77ffd2d725961f295b1733137e187711
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
Nathan Binkert [Fri, 20 Oct 2006 06:35:59 +0000 (23:35 -0700)]
initialize end, clean up loop
--HG--
extra : convert_revision :
e1c107f0c0fd5d535acd2d6c43571a5df57c9ed3
Nathan Binkert [Fri, 20 Oct 2006 06:34:59 +0000 (23:34 -0700)]
Fix compile of m5.fast
--HG--
extra : convert_revision :
a8a37c318e55e48e697e4aaba339328f000b3f60
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
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
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
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
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
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
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
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
Ron Dreslinski [Thu, 19 Oct 2006 22:29:42 +0000 (18:29 -0400)]
Also mark the packet as successful.
--HG--
extra : convert_revision :
2c38c209d2f5cb0ee2f8e55fce6ee4400529d547
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
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
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
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
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
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
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
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
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
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
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
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
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
Ron Dreslinski [Wed, 18 Oct 2006 20:38:02 +0000 (16:38 -0400)]
Fix WriteInvalidateResp
--HG--
extra : convert_revision :
ac4281944202a9a2f166b305a1eaea507e484bcc
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Gabe Black [Mon, 16 Oct 2006 19:59:48 +0000 (15:59 -0400)]
Corrected the "Authors" line
--HG--
extra : convert_revision :
0202e130b170dcc2f45403c58cf51ec8c2e4e094
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
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
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
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
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
Gabe Black [Mon, 16 Oct 2006 01:04:14 +0000 (21:04 -0400)]
Started implementing microcode.
--HG--
extra : convert_revision :
51df0454085e13df023efd8a0c0a12f9756c4690
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
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
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
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
Gabe Black [Fri, 13 Oct 2006 22:59:29 +0000 (18:59 -0400)]
Fix stats for new bus model
--HG--
extra : convert_revision :
c081754c8eb8fa5b8e7336deb3fefb545789b8ac
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
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
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
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
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
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
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
Gabe Black [Thu, 12 Oct 2006 21:32:02 +0000 (17:32 -0400)]
StaticInst support for microcode
--HG--
extra : convert_revision :
c9e062637faf2166f0d36b914f3efa7f80626663
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
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
Gabe Black [Thu, 12 Oct 2006 21:27:06 +0000 (17:27 -0400)]
Support for returning unimplemented instruction in the decoder, lifted from Alpha
--HG--
extra : convert_revision :
7e26053696b23fbc0b8cd5827a5072dcf2526e2b