Steve Reinhardt
4d1bcbcd36
Merge vm1.(none):/home/stever/bk/newmem-head
...
into vm1.(none):/home/stever/bk/newmem-cache2
--HG--
extra : convert_revision : 1da75335907fee2d1745ec13e515819dfe2aad89
2007-06-22 09:24:33 -07:00
Steve Reinhardt
bdd5fd20fb
Fixes to hitLatency, blocking, buffer allocation.
...
Single-cpu timing mode seems to work now.
--HG--
extra : convert_revision : 720f6172df18a1c941e5bd0e8fdfbd686c13c7ad
2007-06-22 09:24:07 -07:00
Gabe Black
470a6a9a74
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision : ba4d93f354749d02278b16e78b4ecd4b2311416b
2007-06-21 20:35:23 +00:00
Ali Saidi
0a879b4590
update stats for fixed nextCycle()
...
--HG--
extra : convert_revision : 3626c4d2d67ed190d846f6edae06c43444a14feb
2007-06-21 16:35:22 -04:00
Steve Reinhardt
eff122797b
Merge vm1.(none):/home/stever/bk/newmem-head
...
into vm1.(none):/home/stever/bk/newmem-cache2
--HG--
extra : convert_revision : 9002940097a166c8442ae1adf41b974227968920
2007-06-21 12:03:22 -07:00
Steve Reinhardt
83af0fdcf5
Getting closer...
...
configs/example/memtest.py:
Add progress interval option.
src/base/traceflags.py:
Add MemTest flag.
src/cpu/memtest/memtest.cc:
Clean up tracing.
src/cpu/memtest/memtest.hh:
Get rid of unused code.
--HG--
extra : convert_revision : 92bd8241a6c90bfb6d908e5a5132cbdb500cbb87
2007-06-21 11:59:17 -07:00
Ali Saidi
5195500cdf
Use FastAlloc for Packet, Request, CoherenceState, and SenderState so we don't spend so much time calling malloc()
...
--HG--
extra : convert_revision : a946564eee46ed7d2aed41c32d488ca7f036c32f
2007-06-21 13:50:35 -04:00
Gabe Black
25e385e0cf
Use the new symbols to clean up the assembler.
...
--HG--
extra : convert_revision : 005464e875ede1e37dfe0e0482c29fd793ca52be
2007-06-21 15:30:05 +00:00
Gabe Black
13bf022053
Needed for last change set to work :P
...
--HG--
extra : convert_revision : 9e57e582dd1ef2805d5adffcc0ccfd99596d9f54
2007-06-21 15:29:02 +00:00
Gabe Black
ae60d58083
Define symbols for the x86 specialization of the microassembler.
...
--HG--
extra : convert_revision : 1fd66ba519d211fec18641b6df94b7640c56080c
2007-06-21 15:28:08 +00:00
Gabe Black
0dc15742e3
Fix a comment.
...
--HG--
extra : convert_revision : 17e67cf6ea17fe6f971ef608547983fbb94adec9
2007-06-21 15:26:38 +00:00
Gabe Black
7e7d3ee0aa
Fix a problem where part of a microops parameters might be interpretted as an "ID", and also added support for symbols.
...
--HG--
extra : convert_revision : 60d1ef677a6a59a9d897086893843ec1ec368148
2007-06-21 15:26:01 +00:00
Gabe Black
efce09e958
Add in code that lays the ground work for setting flags.
...
--HG--
extra : convert_revision : e4fcb64d45804700a0ef34e8acf5615b66e2a527
2007-06-21 13:48:44 +00:00
Gabe Black
77aa98d0f8
Implement rip relative addressing and put in some missing loads and stores.
...
--HG--
extra : convert_revision : 99053414cef40f13c5226871a72909b2622d8c26
2007-06-20 19:08:04 +00:00
Gabe Black
c4ebfa850e
Fix a newly introduced bug where the predecoder wasn't picking up all the displacement.
...
--HG--
extra : convert_revision : 9202c11ee187458adcd85ba616b7f7f4bdd4eec1
2007-06-20 19:06:08 +00:00
Gabe Black
a19f1c4014
X86 probably doesn't need a window save area.
...
--HG--
extra : convert_revision : c4a76262d4396f5f5b96b1c9e751014c2abbd78a
2007-06-20 19:05:06 +00:00
Gabe Black
6c4b3db04c
Fix a typo in one of the operand type tags.
...
--HG--
extra : convert_revision : bea87214ba4b40d75a350b803154836ec6d0ae9e
2007-06-20 19:04:41 +00:00
Gabe Black
e6328170e1
Comment out some unnecessary debug output.
...
--HG--
extra : convert_revision : 9df17841d970a7995d8ed1d51ee66e2c5457e5e3
2007-06-20 19:04:40 +00:00
Gabe Black
a735b7e282
Forgot to check these in...
...
--HG--
extra : convert_revision : f489fda15740bae0a73bfb012f3bab5790b5c2b5
2007-06-20 19:04:39 +00:00
Gabe Black
27da9f99b1
Comment out some unnecessary debug statements.
...
--HG--
extra : convert_revision : aabaaf099f070832bf42cedf2472170e0738ee1c
2007-06-20 19:04:38 +00:00
Gabe Black
0a971cc0c9
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision : f2fac2b1a09e709021cd8382a9fbe805df2177ef
2007-06-20 19:04:37 +00:00
Vincentius Robby
4a7bc06553
Minor error.
...
--HG--
extra : convert_revision : 514032e21c8861f20fcbcae7204e132088cc7dbc
2007-06-20 15:04:36 -04:00
Vincentius Robby
d540dde5b4
Removed "adding instead of dividing" trick.
...
Caused slowdown in performance instead of speeding up.
src/cpu/base.cc:
Removed "adding instead of dividing" trick.
src/mem/bus.cc:
Fixed spelling in comments.
Removed "adding instead of dividing" trick.
--HG--
extra : convert_revision : 65a736f4f09a64e737dc7aeee53b117976330488
2007-06-20 14:54:17 -04:00
Nathan Binkert
f65e2710ec
Don't do checker stuff if the checker is not defined
...
--HG--
extra : convert_revision : 1c920b050c21e592a386410e4e9f45354f8e4441
2007-06-20 08:15:06 -07:00
Nathan Binkert
b47737dde7
Make sure all parameters have default values if they're
...
supposed to and make sure parameters have the right type.
Also make sure that any object that should be an intermediate
type has the right options set.
--HG--
extra : convert_revision : d56910628d9a067699827adbc0a26ab629d11e93
2007-06-20 08:14:11 -07:00
Nathan Binkert
438ec924d6
Don't go over 80 chars per line
...
--HG--
extra : convert_revision : ec73c3c8788757990a6fab8c600f3b353d0d4206
2007-06-20 08:12:10 -07:00
Gabe Black
a68ddf685c
Make memory instructions work better, add more macroop implementations, add an lea microop, move EmulEnv into it's own .cc and .hh.
...
--HG--
extra : convert_revision : 1212b8463eab1c1dcba7182c487d1e9184cf9bea
2007-06-20 15:02:50 +00:00
Gabe Black
d2ccf5e509
More faithfulness to what instructions should work in what modes, and added the MOVSXD instruction.
...
--HG--
extra : convert_revision : 38b9bf6cd4bdec6355b1158967c7d3562715cacd
2007-06-19 22:40:10 +00:00
Gabe Black
cc796de962
Missed an "offset" to get rid of.
...
--HG--
extra : convert_revision : 7542f130b269a6a09e6ed51ae4689d1faa45a155
2007-06-19 19:01:02 +00:00
Gabe Black
ea70e6d6da
Make branches work by repopulating the predecoder every time through. This is probably fine as far as the predecoder goes, but the simple cpu might want to not refetch something it already has. That reintroduces the self modifying code problem though.
...
--HG--
extra : convert_revision : 802197e65f8dc1ad657c6b346091e03cb563b0c0
2007-06-19 18:17:34 +00:00
Gabe Black
d496492793
Make instructions that are illegal in 64 bit mode not do the wrong thing in 64 bit mode. Also add in more versions of PUSH and POP, and a version of near CALL.
...
--HG--
extra : convert_revision : 7d8266cdfa54ac25610466b3533d3e9e5433297b
2007-06-19 17:56:06 +00:00
Gabe Black
4486762a85
Make an error message a little more descriptive.
...
--HG--
extra : convert_revision : dbde025b1dcec0083e7276a9938bd21e7ab2887f
2007-06-19 17:53:10 +00:00
Gabe Black
ebe4d05f70
Renovate the "fault" microop implementation.
...
--HG--
extra : convert_revision : dc9d67dd5413f00f16d37cb2d0f8b0d10971e14a
2007-06-19 14:50:35 +00:00
Gabe Black
056cfc345b
Get rid of the commented out versions of macroops which have been reimplemented. The comments are basically functioning like a todo list.
...
--HG--
extra : convert_revision : cb07e3813f6cf882b4a5c77c498ffbca26adf586
2007-06-19 14:26:42 +00:00
Gabe Black
053c715f21
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision : 2dfc24b0720b3b378858a289e4bb6f4ee7132b3d
2007-06-19 14:18:46 +00:00
Gabe Black
6e286cddfa
Get rid of the immediate and displacement components of the EmulEnv struct and use them directly out of the instruction. The extra copies are conceptually realistic but are just innefficient as implemented. Also don't use the zeroeth microcode register for general storage since it's now the zero register, and implement a load and a store microops.
...
--HG--
extra : convert_revision : 0686296ca8b72940d961ecc6051063bfda1e932d
2007-06-19 14:18:25 +00:00
Gabe Black
8caef7d25a
Add a stack size bitfield and expose the mode component of the ExtMachInst.
...
--HG--
extra : convert_revision : aad0ec51745fb94335898b0565bb11c1b399bbee
2007-06-19 14:15:21 +00:00
Gabe Black
1012fd4427
Add a function to print out segment names.
...
--HG--
extra : convert_revision : 8cbe3ca0d05165f7da5d6fa38c899ecc9e782511
2007-06-19 14:14:17 +00:00
Ali Saidi
2d08ab0cc2
fix bug in timing cpu. getTime() is the time the requset was created, not the time it was repsonded to. In timing mode the
...
time it was responded to is curTick. Doesn't change the results, but it does make implementation of nextCycle() more difficult
--HG--
extra : convert_revision : 67ed6261a5451d17d96d5df45992590acc353afc
2007-06-18 18:11:07 -04:00
Gabe Black
7994fa9431
Merge zizzer.eecs.umich.edu:/bk/newmem
...
into ahchoo.blinky.homelinux.org:/home/gblack/m5/newmem-x86
--HG--
extra : convert_revision : fd64f2de0051afdc51e833a7cbf7fa120b230cc3
2007-06-18 14:16:08 +00:00
Gabe Black
4ae284282e
Get rid of unnecessary output.
...
--HG--
extra : convert_revision : 0df9a12788b8ce3225c113c095d5f13e49a7c544
2007-06-18 14:15:47 +00:00
Gabe Black
6c12577937
Add in incomplete pick and merge functions which read and write pieces of registers, and fill out microcode disassembly.
...
--HG--
extra : convert_revision : 56332b3999a9079b1bd305ee2826abdf593367e1
2007-06-18 14:15:00 +00:00
Steve Reinhardt
d69a763833
Merge vm1.(none):/home/stever/bk/newmem-head
...
into vm1.(none):/home/stever/bk/newmem-cache2
configs/example/memtest.py:
Hand merge redundant changes.
--HG--
extra : convert_revision : a2e36be254bf052024f37bcb23b5209f367d37e1
2007-06-17 17:30:24 -07:00
Steve Reinhardt
35cf19d441
More major reorg of cache. Seems to work for atomic mode now,
...
timing mode still broken.
configs/example/memtest.py:
Revamp options.
src/cpu/memtest/memtest.cc:
No need for memory initialization.
No need to make atomic response... memory system should do that now.
src/cpu/memtest/memtest.hh:
MemTest really doesn't want to snoop.
src/mem/bridge.cc:
checkFunctional() cleanup.
src/mem/bus.cc:
src/mem/bus.hh:
src/mem/cache/base_cache.cc:
src/mem/cache/base_cache.hh:
src/mem/cache/cache.cc:
src/mem/cache/cache.hh:
src/mem/cache/cache_blk.hh:
src/mem/cache/cache_builder.cc:
src/mem/cache/cache_impl.hh:
src/mem/cache/coherence/coherence_protocol.cc:
src/mem/cache/coherence/coherence_protocol.hh:
src/mem/cache/coherence/simple_coherence.hh:
src/mem/cache/miss/SConscript:
src/mem/cache/miss/mshr.cc:
src/mem/cache/miss/mshr.hh:
src/mem/cache/miss/mshr_queue.cc:
src/mem/cache/miss/mshr_queue.hh:
src/mem/cache/prefetch/base_prefetcher.cc:
src/mem/cache/tags/fa_lru.cc:
src/mem/cache/tags/fa_lru.hh:
src/mem/cache/tags/iic.cc:
src/mem/cache/tags/iic.hh:
src/mem/cache/tags/lru.cc:
src/mem/cache/tags/lru.hh:
src/mem/cache/tags/split.cc:
src/mem/cache/tags/split.hh:
src/mem/cache/tags/split_lifo.cc:
src/mem/cache/tags/split_lifo.hh:
src/mem/cache/tags/split_lru.cc:
src/mem/cache/tags/split_lru.hh:
src/mem/packet.cc:
src/mem/packet.hh:
src/mem/physical.cc:
src/mem/physical.hh:
src/mem/tport.cc:
More major reorg. Seems to work for atomic mode now,
timing mode still broken.
--HG--
extra : convert_revision : 7e70dfc4a752393b911880ff028271433855ae87
2007-06-17 17:27:53 -07:00
Ali Saidi
c2a97387cf
since the o3 cpu perlbmk regression doesn't work, just delete it. Perhaps the regression will terminate now
...
--HG--
extra : convert_revision : 509e42c2abc4bce1f56dc0b6a69e5c27ab95f448
2007-06-17 14:01:01 -04:00
Steve Reinhardt
f4babe1082
memtest.cc:
...
No need to initialize memory contents; should come up as 0.
src/cpu/memtest/memtest.cc:
No need to initialize memory contents; should come up as 0.
--HG--
extra : convert_revision : 1713676956f3d33b4686fee2650bd17027bcc495
2007-06-16 14:05:05 -07:00
Gabe Black
3ceb0a46ae
Add in some microregs.
...
--HG--
extra : convert_revision : e8a894c2f7901329bd390a4cfd92209d0e29cf80
2007-06-14 20:52:25 +00:00
Gabe Black
dad3058224
Sign extend byte immediates as well. There might need to be a fancier system in place to handle this in the future.
...
--HG--
extra : convert_revision : 2c5bd719c770d9a93a57bd29782842f82384863d
2007-06-14 20:52:24 +00:00
Gabe Black
7213944110
Fix limm.
...
--HG--
extra : convert_revision : ab76b11c2bb2f3abc0e7a84f7167d92d16ed074e
2007-06-14 20:52:23 +00:00
Gabe Black
866cc8214b
Implement a handful more instructions and differentiate macroops based on the operand types they expect.
...
--HG--
extra : convert_revision : f9c8e694a8c0eb33b988657dca03ab495b65bee8
2007-06-14 20:52:22 +00:00