Gabe Black [Wed, 3 Jan 2007 05:52:30 +0000 (00:52 -0500)]
Merge zizzer:/bk/newmem
into zower.eecs.umich.edu:/eecshome/m5/newmem
--HG--
extra : convert_revision :
f4a05accb8fa24d425dd818b1b7f268378180e99
Kevin Lim [Sat, 30 Dec 2006 18:21:25 +0000 (13:21 -0500)]
Fix up previous commit to proper logic.
src/cpu/o3/commit_impl.hh:
Oops, changed the logic a little bit. Fix it up to how it used to be.
--HG--
extra : convert_revision :
df7f69b0997207b611374c3c92880f3a405e88be
Nathan Binkert [Sat, 30 Dec 2006 00:58:08 +0000 (16:58 -0800)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into iceaxe.:/Volumes/work/m5/incoming
--HG--
extra : convert_revision :
dad5311afaaf40c1378017514c8b3f73852f13f5
Nathan Binkert [Sat, 30 Dec 2006 00:57:45 +0000 (16:57 -0800)]
Formatting
--HG--
extra : convert_revision :
f5a940a8b9aaba0703781b398cf29be581907c21
Gabe Black [Thu, 28 Dec 2006 19:35:31 +0000 (14:35 -0500)]
Fixes to get non-delay slot ISAs (Alpha) working again, and pulling some debug output out of ifdefs.
--HG--
extra : convert_revision :
29d0969e2d3e809aac32262ba20907e6e4ef1a42
Gabe Black [Thu, 28 Dec 2006 19:33:45 +0000 (14:33 -0500)]
Phased out DelaySlotInfo.
--HG--
extra : convert_revision :
ab48db10caf38137300da63078aa9360f46b9631
Gabe Black [Thu, 28 Dec 2006 19:32:41 +0000 (14:32 -0500)]
Some fixes for decode stage branches without delay slots. This will need some work to be compatible with delay slots too. Also changed some direct variable uses to use an accessor function.
--HG--
extra : convert_revision :
b291292600e9d3e7e4a8255daf54342b736c7e35
Gabe Black [Thu, 28 Dec 2006 19:29:17 +0000 (14:29 -0500)]
Make sure the value of PC is actually updated now that the instruction target isn't set explicitly.
--HG--
extra : convert_revision :
4c00a219ac1d82abea78e4e8d70f529a435fdfe2
Gabe Black [Thu, 28 Dec 2006 19:27:45 +0000 (14:27 -0500)]
Implement a stub nnpc for alpha that is read only as npc+4.
--HG--
extra : convert_revision :
d08b740d32757fa5471c9bcde9084d59a1d8102d
Gabe Black [Thu, 28 Dec 2006 19:23:30 +0000 (14:23 -0500)]
Fixed NumMiscArchRegs. This is still a magic number, and it should be set automatically by the miscreg enum. I need to figure out how to do that without including the whole miscregfile.hh and making header spaghetti.
--HG--
extra : convert_revision :
eb640c9ef10a188b96f6a079f91abc8f67b9d38c
Ali Saidi [Wed, 27 Dec 2006 19:38:22 +0000 (14:38 -0500)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
afd4266bd494bb8f127c06985f343219ded4f637
Ali Saidi [Wed, 27 Dec 2006 19:38:07 +0000 (14:38 -0500)]
Bug fixes in the TLB
Make our replacement algorithm same as legion (although not same as the spec)
itb should be 64 entries not 48
src/arch/sparc/tlb.cc:
Bug fixes in the TLB
Make our replacement algorithm same as legion (although not same as the spec)
src/arch/sparc/tlb.hh:
Make our replacement algorithm same as legion (although not same as the spec)
src/python/m5/objects/SparcTLB.py:
itb should be 64 entries too
--HG--
extra : convert_revision :
1b5cb3597091e3cfe293e94f6f2219b1e621c35f
Ali Saidi [Wed, 27 Dec 2006 19:35:23 +0000 (14:35 -0500)]
Compare legion and m5 tlbs for differences
Only print faults instructions that aren't traps or faulting loads
src/cpu/exetrace.cc:
Compare the legion and m5 tlbs and printout any differences
Only show differences if the instruction isn't a trap and isn't a memory
operation that changes the trap level (a fault)
src/cpu/m5legion_interface.h:
update the m5<->legion interface to add tlb data
--HG--
extra : convert_revision :
6963b64ca1012604e6b1d3c5e0e5f5282fd0164e
Ali Saidi [Wed, 27 Dec 2006 19:32:26 +0000 (14:32 -0500)]
Change MemoryAccess dprintfs to print the data as well
--HG--
extra : convert_revision :
51336fffa5e51a810ad2f6eb29b91c1bfd67824b
Nathan Binkert [Wed, 27 Dec 2006 18:52:25 +0000 (10:52 -0800)]
No need to use NULL, just use 0
The result of operator= cannot be an l-value
--HG--
extra : convert_revision :
df97a57f466e3498bd5a29638cb9912c7f3e1bd4
Kevin Lim [Tue, 26 Dec 2006 06:43:18 +0000 (01:43 -0500)]
Remove some #if FULL_SYSTEMs so MP stuff works even in SE mode.
--HG--
extra : convert_revision :
5c334ec806305451b3883c7fd0ed9cd695c038bc
Nathan Binkert [Sun, 24 Dec 2006 23:15:12 +0000 (15:15 -0800)]
Make sure that all of the bits in the result are set
to some value.
--HG--
extra : convert_revision :
1f1700fd77531cbb8cfad7f04ce2b573fcdefdab
Nathan Binkert [Sun, 24 Dec 2006 22:06:56 +0000 (14:06 -0800)]
remove some output formatting stuff that we don't use
--HG--
extra : convert_revision :
367917499d3d7aebd0a91dad28c915bc85def624
Nathan Binkert [Sat, 23 Dec 2006 05:51:19 +0000 (21:51 -0800)]
Add options for setting the kernel to run and the
script to run
--HG--
extra : convert_revision :
32ad8e08ca74edf042d8606ca4876cbe1193e932
Nathan Binkert [Fri, 22 Dec 2006 06:41:08 +0000 (22:41 -0800)]
Fix copyright
--HG--
extra : convert_revision :
8ad7824885a5c4da80175c47ba5288aab55b06ca
Nathan Binkert [Fri, 22 Dec 2006 06:38:50 +0000 (22:38 -0800)]
Expose the C++ event queue to python via the python function
m5.internal.event.create(). It takes a python object and a
Tick and calls process() when the Tick occurs.
--HG--
extra : convert_revision :
5e4c9728982b206163ff51e6850a1497d85ad7a3
Nathan Binkert [Fri, 22 Dec 2006 06:34:19 +0000 (22:34 -0800)]
style
--HG--
extra : convert_revision :
6bbaaa88a608081eebf706ff30293f38729415aa
Gabe Black [Fri, 22 Dec 2006 01:42:40 +0000 (20:42 -0500)]
Stub for SE mode gdb support for MIPS.
--HG--
extra : convert_revision :
2166b511c3615f7a2355f058a624e9ffe8259e65
Nathan Binkert [Thu, 21 Dec 2006 23:58:38 +0000 (15:58 -0800)]
Create a wrapper function to more easily add swig stuff to the build
--HG--
extra : convert_revision :
3aaf540a9e314a88a8945579398f0d79aa85d5cf
Nathan Binkert [Thu, 21 Dec 2006 23:49:16 +0000 (15:49 -0800)]
move the swig initialization calls from src/sim/main.cc to
src/python/swig/init.cc so that it's not as easy to forget
about it when you add a new swig module.
--HG--
extra : convert_revision :
5cc4ec0838e636aa761901effb8986de58d23e03
Nathan Binkert [Thu, 21 Dec 2006 06:20:11 +0000 (22:20 -0800)]
don't use (*activeThreads).begin(), use activeThreads->blah().
Also don't call (*activeThreads).end() over and over. Just
call activeThreads->end() once and save the result.
Make sure we always check that there are elements in the list
before we grab the first one.
--HG--
extra : convert_revision :
d769d8ed52da99532d57a9bbc93e92ddf22b7e58
Nathan Binkert [Thu, 21 Dec 2006 05:46:39 +0000 (21:46 -0800)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into iceaxe.:/Volumes/work/m5/incoming
--HG--
extra : convert_revision :
c1724538f27091e16ca495c8fdf2df06f55f7668
Nathan Binkert [Thu, 21 Dec 2006 05:46:16 +0000 (21:46 -0800)]
<scold> Make sure that variables are always initalized! </scold>
--HG--
extra : convert_revision :
1e946d9b1e1def36f9b8a73986dabf1b77096327
Gabe Black [Thu, 21 Dec 2006 03:14:40 +0000 (22:14 -0500)]
Fixes to get MIPS_SE to compile.
--HG--
extra : convert_revision :
d173f212841341e436e9a38dcd3006d27886c1b8
Gabe Black [Thu, 21 Dec 2006 01:44:06 +0000 (20:44 -0500)]
Fixes to get ALPHA_FS and ALPHA_SE to compile again.
--HG--
extra : convert_revision :
6e0913903d4cbda6f31bec3b5d725b9c08dc1419
Gabe Black [Wed, 20 Dec 2006 23:39:40 +0000 (18:39 -0500)]
Initial work to make remote gdb available in SE mode. This is completely untested.
--HG--
extra : convert_revision :
3ad9a3368961d5e9e71f702da84ffe293fe8adc8
Gabe Black [Wed, 20 Dec 2006 20:44:37 +0000 (15:44 -0500)]
Make sure the "stack_min" variable is page aligned.
--HG--
extra : convert_revision :
e78c53778de83bdb2eca13d98d418b17b386ab29
Steve Reinhardt [Tue, 19 Dec 2006 07:11:48 +0000 (02:11 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/z/stever/bk/newmem-head
--HG--
extra : convert_revision :
4bd4f8bb8e48e09562a2d9ae6eb7d061be973c5e
Ali Saidi [Tue, 19 Dec 2006 07:11:47 +0000 (02:11 -0500)]
Merge zizzer:/bk/newmem
into zeep.pool:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
fa8ce7149973245a73bb562b9378db13be647a14
Ali Saidi [Tue, 19 Dec 2006 07:11:33 +0000 (02:11 -0500)]
fix twinx loads a little bit
bugfixes and demap implementation in tlb
ignore some more differencs for one cycle
src/arch/sparc/isa/formats/mem/blockmem.isa:
twinx has 2 micro-ops
src/arch/sparc/isa/formats/mem/util.isa:
fix the fault check for twinx
src/arch/sparc/tlb.cc:
tlb bugfixes and write demapping code
src/cpu/exetrace.cc:
don't halt on a couple more instruction (ldx, stx) when things differ
beacuse of the way tlb faults are handled in legion.
--HG--
extra : convert_revision :
1e156dead6ebd58b257213625ed63c3793ef4b71
Steve Reinhardt [Tue, 19 Dec 2006 07:07:52 +0000 (23:07 -0800)]
Streamline Cache/Tags interface: get rid of redundant functions,
don't regenerate address from block in cache so that tags can
turn around and use address to look up block again.
--HG--
extra : convert_revision :
171018aa6e331d98399c4e5ef24e173c95eaca28
Steve Reinhardt [Tue, 19 Dec 2006 05:53:06 +0000 (21:53 -0800)]
No need to template prefetcher on cache TagStore type.
--HG--
rename : src/mem/cache/prefetch/tagged_prefetcher_impl.hh => src/mem/cache/prefetch/tagged_prefetcher.cc
extra : convert_revision :
56c0b51e424a3a6590332dba4866e69a1ad19598
Steve Reinhardt [Tue, 19 Dec 2006 04:47:12 +0000 (20:47 -0800)]
Get rid of generic CacheTags object (fold back into Cache).
--HG--
extra : convert_revision :
8769bd8cc358ab3cbbdbbcd909b2e0f1515e09da
Gabe Black [Mon, 18 Dec 2006 23:20:13 +0000 (18:20 -0500)]
Fix a place where the wrong width parameter was used, and set the nextNPC correctly on memory squashes.
--HG--
extra : convert_revision :
7914a48ea953607c48f93984e3b043098f0d7c62
Gabe Black [Mon, 18 Dec 2006 23:18:37 +0000 (18:18 -0500)]
Make sure you only handle branch delay slots specially when there actually was a branch.
--HG--
extra : convert_revision :
ea6d33b1b9c2ba5c24225af4b10a9bd25558f1dd
Gabe Black [Mon, 18 Dec 2006 23:17:30 +0000 (18:17 -0500)]
Fixing the extended twin format to go with the new isa parser interface.
--HG--
extra : convert_revision :
f41183cfa011b21e7ab8cbcdef0ac1d464692362
Nathan Binkert [Mon, 18 Dec 2006 22:08:42 +0000 (14:08 -0800)]
Fix unittest compiles
--HG--
extra : convert_revision :
1163437081e1f1eab3f4512d04317dc94a673b9b
Nathan Binkert [Mon, 18 Dec 2006 22:07:52 +0000 (14:07 -0800)]
cast chars to int when we want to print integers so we get a number
instead of a character
--HG--
extra : convert_revision :
7bfa88ba23ad057b751eb01a80416d9f72cfe81a
Gabe Black [Mon, 18 Dec 2006 17:19:30 +0000 (12:19 -0500)]
Merge zizzer.eecs.umich.edu:/.automount/zower/eecshome/m5/newmem
into zizzer.eecs.umich.edu:/z/m5/Bitkeeper/sparco3
--HG--
extra : convert_revision :
f17800685609d8353ec14676f45fbb123fc4e6c3
Ali Saidi [Mon, 18 Dec 2006 08:37:52 +0000 (03:37 -0500)]
move the twinx loads to the correct opcode and add asis 0x24 and 0x27
Make the TLB ok to translate QUAD_LDD
src/arch/sparc/isa/decoder.isa:
move the twinx loads to the correct opcode.
src/arch/sparc/tlb.cc:
Make QUAD_LDD asi ok to execute
--HG--
extra : convert_revision :
2a44d1c9e4edb627079fc05776c28d918c8508ce
Steve Reinhardt [Mon, 18 Dec 2006 07:09:36 +0000 (23:09 -0800)]
Minor cleanup of new snippet/subst code.
--HG--
extra : convert_revision :
d81e0d1356f3433e8467e407d66d4afb95614748
Steve Reinhardt [Mon, 18 Dec 2006 03:27:50 +0000 (19:27 -0800)]
Convert Alpha (and finish converting MIPS) to new
InstObjParam interface.
src/arch/alpha/isa/branch.isa:
src/arch/alpha/isa/fp.isa:
src/arch/alpha/isa/int.isa:
src/arch/alpha/isa/main.isa:
src/arch/alpha/isa/mem.isa:
src/arch/alpha/isa/pal.isa:
src/arch/mips/isa/formats/mem.isa:
src/arch/mips/isa/formats/util.isa:
Get rid of CodeBlock calls to adapt to new InstObjParam interface.
src/arch/isa_parser.py:
Check template code for operands (in addition to snippets).
src/cpu/o3/alpha/dyn_inst.hh:
Add (read|write)MiscRegOperand calls to Alpha DynInst.
--HG--
extra : convert_revision :
332caf1bee19b014cb62c1ed9e793e793334c8ee
Nathan Binkert [Mon, 18 Dec 2006 02:58:50 +0000 (18:58 -0800)]
Nate's utility for compiling m5
--HG--
extra : convert_revision :
84b21f667736dfe07891323dcc810437ccb3c7c0
Nathan Binkert [Mon, 18 Dec 2006 02:58:05 +0000 (18:58 -0800)]
Utilities for doing a format check for some elements of proper
m5 style and fixing whitespace. For whitespace, any tabs in
leading whitespace on a line are converted to spaces, and any
trailing whitespace is removed.
--HG--
extra : convert_revision :
d0591663c028a388635fc71c6c1d31f700748cf6
Gabe Black [Sun, 17 Dec 2006 16:55:24 +0000 (11:55 -0500)]
Merge zizzer:/bk/newmem
into zower.eecs.umich.edu:/eecshome/m5/newmem
src/arch/sparc/isa/formats/mem/blockmem.isa:
src/arch/sparc/isa/operands.isa:
Hand Merge
--HG--
extra : convert_revision :
4c54544e5c7a61f055ea9b00ccf5f8510df0e6c2
Gabe Black [Sun, 17 Dec 2006 16:16:04 +0000 (11:16 -0500)]
Compilation fixes.
--HG--
extra : convert_revision :
4932ab507580e0c9f7012398e71921ce58fc3c4e
Gabe Black [Sun, 17 Dec 2006 16:15:37 +0000 (11:15 -0500)]
Added in the extended twin load format
src/arch/sparc/isa/decoder.isa:
Added the extended twin load instructions
src/arch/sparc/isa/formats/mem/blockmem.isa:
Added stuff to implement the extended twin loads. This created alot of duplication which I'll deal with later.
--HG--
extra : convert_revision :
5d8bdaacbfe83d21d3a396ce30ace90aeefc54d8
Gabe Black [Sun, 17 Dec 2006 15:54:17 +0000 (10:54 -0500)]
Started removing "CodeBlock" objects from the mips isa description.
--HG--
extra : convert_revision :
2e174ecfce8c86732e1addfc23e961429b86a570
Gabe Black [Sun, 17 Dec 2006 15:53:10 +0000 (10:53 -0500)]
Compilation fix after messy merge.
--HG--
extra : convert_revision :
bf650dfe401377ce1b4c952aa8bfe3708c865472
Gabe Black [Sat, 16 Dec 2006 17:55:55 +0000 (12:55 -0500)]
Merge zizzer:/bk/newmem
into zower.eecs.umich.edu:/eecshome/m5/sparcfs
--HG--
extra : convert_revision :
c8718b3df72b8c951c24742e8ce517a93bc23fe9
Gabe Black [Sat, 16 Dec 2006 17:55:15 +0000 (12:55 -0500)]
Merge zizzer:/bk/sparcfs/
into zower.eecs.umich.edu:/eecshome/m5/sparcfs
--HG--
extra : convert_revision :
2764b356ef01d1fcb6ed272e4ef96179cd651d4e
Gabe Black [Sat, 16 Dec 2006 17:54:28 +0000 (12:54 -0500)]
Support for twin loads.
src/arch/sparc/isa/decoder.isa:
Changed the names of the twin loads to match the 2005 spec. They still use the old format though.
src/arch/sparc/isa/formats/mem/blockmem.isa:
Added code to generate twin loads
src/arch/sparc/isa/formats/mem/util.isa:
Added an alignment check for twin loads
src/arch/sparc/isa/operands.isa:
Comment explaining twin load operands.
--HG--
extra : convert_revision :
ad42821a97dcda17744875b1e5dc00a9642e59b7
Gabe Black [Sat, 16 Dec 2006 17:53:01 +0000 (12:53 -0500)]
Compiler error fix.
--HG--
extra : convert_revision :
39e2638a10bf3e821e8f3d4d8c664008c98fc921
Gabe Black [Sat, 16 Dec 2006 16:35:40 +0000 (11:35 -0500)]
Merge zizzer:/bk/newmem
into zower.eecs.umich.edu:/eecshome/m5/newmem
src/arch/isa_parser.py:
src/arch/sparc/isa/formats/mem/basicmem.isa:
src/arch/sparc/isa/formats/mem/blockmem.isa:
src/arch/sparc/isa/formats/mem/util.isa:
src/arch/sparc/miscregfile.cc:
src/arch/sparc/miscregfile.hh:
src/cpu/o3/iew_impl.hh:
Hand Merge
--HG--
extra : convert_revision :
ae1b25cde85ab8ec275a09d554acd372887d4d47
Gabe Black [Sat, 16 Dec 2006 14:35:09 +0000 (09:35 -0500)]
Switch the endianness of data that's forwarded. This is the same sort of problem that was happening when stores went all the way to memory and back.
--HG--
extra : convert_revision :
09fece7ae934f542e51046d33505df3f7ec0b919
Gabe Black [Sat, 16 Dec 2006 14:34:20 +0000 (09:34 -0500)]
Make fetch detect when a branch is happening, rather than trying to compute when.
--HG--
extra : convert_revision :
1a8edc004570abb48e6c4cdf1b43c5699866838e
Gabe Black [Sat, 16 Dec 2006 12:47:33 +0000 (07:47 -0500)]
Accidently "cleaned" away the NPC parameter to the constructor.
--HG--
extra : convert_revision :
46670ee86000dfb171d327eb8f58555a4afb2360
Gabe Black [Sat, 16 Dec 2006 12:39:44 +0000 (07:39 -0500)]
Don't have "predict" set the predicted target of the instruction. Do that explicitly when you use predict.
--HG--
extra : convert_revision :
8b613bb365b31ffaef1cea9fd789abe46219bdcf
Gabe Black [Sat, 16 Dec 2006 12:37:33 +0000 (07:37 -0500)]
Add in constants which let you explicitly check if endian conversion would do anything. This was needed for a case where a piece of data was within a larger data type. When the larger data type was swapped, the location of the smaller data type would move.
--HG--
extra : convert_revision :
4c904c964678529c72b8f1044dfcb400604f6654
Gabe Black [Sat, 16 Dec 2006 12:35:56 +0000 (07:35 -0500)]
Add in capability to return to unblocking after a squash. This is needed because if you don't squash -all- the instructions, you need to keep clearing out whatever is left in the skid buffer.
--HG--
extra : convert_revision :
7308eda27f4366348cf5fce71ddfa4b217bc172d
Gabe Black [Sat, 16 Dec 2006 12:34:34 +0000 (07:34 -0500)]
Make sure endian conversion is done on the memory data when it's just set to an existing buffer.
--HG--
extra : convert_revision :
5a890091b6a31b5414acbf68f19e28d7122a98d7
Gabe Black [Sat, 16 Dec 2006 12:33:08 +0000 (07:33 -0500)]
Make the decoder use the new setup in the dyninsts for branch prediction.
--HG--
extra : convert_revision :
9a6d6c93e5b40a55774891df54d290ff557b322c
Gabe Black [Sat, 16 Dec 2006 12:32:06 +0000 (07:32 -0500)]
Made branch delay slots get squashed, and passed back an NPC and NNPC to start fetching from.
--HG--
extra : convert_revision :
a2e4845fedf113b5a2fd92d3d28ce5b006278103
Gabe Black [Sat, 16 Dec 2006 12:22:19 +0000 (07:22 -0500)]
Added a predicted NPC field, explicitly stored whether the instruction was predicted taken or not.
--HG--
extra : convert_revision :
ba668af302ca4d8a3a032e907d5058e1477f462a
Gabe Black [Sat, 16 Dec 2006 12:10:58 +0000 (07:10 -0500)]
Made changes to CWP be non speculative.
--HG--
extra : convert_revision :
43899bc97061c33e67a53179c23e46b079118117
Gabe Black [Sat, 16 Dec 2006 12:10:04 +0000 (07:10 -0500)]
Changes to the isa_parser and affected files to fix an indexing problem with split execute instructions and miscregs aliasing with integer registers.
src/arch/isa_parser.py:
Rearranged things so that classes with more than one execute function treat operands properly.
1. Eliminated the CodeBlock class
2. Created a SubOperandList
3. Redefined how InstObjParams is constructed
To define an InstObjParam, you can either pass in a single code literal which will be named "code", or you can pass in a dictionary of code snippets which will be substituted into the Templates. In order to get this to work, there is a new restriction that each template has only one function in it. These changes should only affect memory instructions which have regular and split execute functions.
Also changed the MiscRegs so that they use the instrunctions srcReg and destReg arrays.
src/arch/sparc/isa/formats/basic.isa:
src/arch/sparc/isa/formats/branch.isa:
src/arch/sparc/isa/formats/integerop.isa:
src/arch/sparc/isa/formats/mem/basicmem.isa:
src/arch/sparc/isa/formats/mem/blockmem.isa:
src/arch/sparc/isa/formats/mem/util.isa:
src/arch/sparc/isa/formats/nop.isa:
src/arch/sparc/isa/formats/priv.isa:
src/arch/sparc/isa/formats/trap.isa:
Rearranged to work with new InstObjParam scheme.
src/cpu/o3/sparc/dyn_inst.hh:
Added functions to access the miscregs using the indexes from instructions srcReg and destReg arrays. Also changed the names of the other accessors so that they have the suffix "Operand" if they use those arrays.
src/cpu/simple/base.hh:
Added functions to access the miscregs using the indexes from instructions srcReg and destReg arrays.
--HG--
extra : convert_revision :
c91e1073138b72bcf4113a721e0ed40ec600cf2e
Lisa Hsu [Fri, 15 Dec 2006 23:07:39 +0000 (18:07 -0500)]
Merge zizzer:/bk/newmem
into zed.eecs.umich.edu:/z/hsul/work/m5/newmem
--HG--
extra : convert_revision :
a6a40a3bc2e07bc7828de08fa2ce1c847105483d
Lisa Hsu [Fri, 15 Dec 2006 23:02:23 +0000 (18:02 -0500)]
Merge zizzer:/bk/sparcfs
into zed.eecs.umich.edu:/z/hsul/work/m5/newmem
--HG--
extra : convert_revision :
68e9bb607fbeb1ed0ea4192411e804dc8e6ddd95
Lisa Hsu [Fri, 15 Dec 2006 22:58:20 +0000 (17:58 -0500)]
small change to eliminate address range overlap.
--HG--
extra : convert_revision :
c8309a8774265a707c87c4f516bec1f81aff4a79
Lisa Hsu [Fri, 15 Dec 2006 22:55:47 +0000 (17:55 -0500)]
little fixes i noticed while searching for reason for address range issues (but these weren't the cause of the problem).
RangeSize as a function takes a start address, and a SIZE, and will make the range (start, start+size-1) for you.
src/cpu/memtest/memtest.hh:
src/cpu/o3/fetch.hh:
src/cpu/o3/lsq.hh:
src/cpu/ozone/front_end.hh:
src/cpu/ozone/lw_lsq.hh:
src/cpu/simple/atomic.hh:
src/cpu/simple/timing.hh:
Fix RangeSize arguments
src/dev/alpha/tsunami_cchip.cc:
src/dev/alpha/tsunami_io.cc:
src/dev/alpha/tsunami_pchip.cc:
src/dev/baddev.cc:
pioSize indicates SIZE, not a mask
--HG--
extra : convert_revision :
d385521fcfe58f8dffc8622260937e668a47a948
Lisa Hsu [Fri, 15 Dec 2006 18:27:53 +0000 (13:27 -0500)]
Merge zizzer:/bk/sparcfs
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
2f11b5f9fa6356cbf9f98c8cd7d4f6fbfaf9d24d
Lisa Hsu [Fri, 15 Dec 2006 18:06:37 +0000 (13:06 -0500)]
Merge zizzer:/bk/sparcfs
into zed.eecs.umich.edu:/z/hsul/work/m5/newmem
--HG--
extra : convert_revision :
92a865a90a7c3e251ed1443f79640f761b359c1d
Lisa Hsu [Fri, 15 Dec 2006 18:05:46 +0000 (13:05 -0500)]
some small general fixes to make everythign work nicely with other ISAs, now we can merge back with newmem.
exetrace.cc:
wrap this variable between FULL_SYSTEM #ifs
mmaped_ipr.hh:
fix for build
miscregfile.cc:
fixes for HPSTATE access during SE mode
src/arch/sparc/miscregfile.cc:
fixes for HPSTATE access during SE mode
src/arch/mips/mmaped_ipr.hh:
fix for build
src/cpu/exetrace.cc:
wrap this variable between FULL_SYSTEM #ifs
--HG--
extra : convert_revision :
c5b9d56ab99018a91d04de47ba1d5ca7768590bb
Lisa Hsu [Fri, 15 Dec 2006 18:01:06 +0000 (13:01 -0500)]
loadstore.isa:
this privilegedString is never used
--HG--
extra : convert_revision :
5e6881d467792b670e0009cee8d5e96bc7a79a95
Lisa Hsu [Fri, 15 Dec 2006 17:58:02 +0000 (12:58 -0500)]
tlb.cc:
fix namespace indentations
src/arch/alpha/tlb.cc:
fix namespace indentations
--HG--
extra : convert_revision :
327d5a1568ba60cab1c1ae4bb3963ea78dfe0176
Ali Saidi [Fri, 15 Dec 2006 06:49:41 +0000 (01:49 -0500)]
Use my range_map to speed up findPort() in the bus. The snoop code could still use some work.
--HG--
extra : convert_revision :
ba0a68bd378d68e4ebd80a101b965d36c8be1db9
Ali Saidi [Fri, 15 Dec 2006 06:48:09 +0000 (01:48 -0500)]
Optimized the TLB translations with some caching
--HG--
extra : convert_revision :
f79f863393f918ff9363b2c261f8c0dfec64312e
Ali Saidi [Fri, 15 Dec 2006 00:01:21 +0000 (19:01 -0500)]
flesh out twinx asis
fix TICK register reads
reduce the number of readmiscreg accesses,
implement tsb pointer stuff
src/arch/sparc/asi.cc:
flesh out twinx asis
src/arch/sparc/miscregfile.cc:
fix TICK register reads
src/arch/sparc/tlb.cc:
reduce the number of readmiscreg accesses,
implement tsb pointer stuff
--HG--
extra : convert_revision :
1995c3b04b7743c6122cbf8ded7c4d5de48fa3c8
Steve Reinhardt [Thu, 14 Dec 2006 06:04:36 +0000 (22:04 -0800)]
Split CachePort class into CpuSidePort and MemSidePort
and push those into derived Cache template class to
eliminate a few layers of virtual functions and
conditionals ("if (isCpuSide) { ... }" etc.).
--HG--
extra : convert_revision :
cb1b88246c95b36aa0cf26d534127d3714ddb774
Lisa Hsu [Wed, 13 Dec 2006 22:52:24 +0000 (17:52 -0500)]
Merge zizzer:/bk/newmem
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
8cf3e824e4892249b12ed0fd92bb310748b18fa2
Lisa Hsu [Wed, 13 Dec 2006 22:51:28 +0000 (17:51 -0500)]
fix MiscRegFile::readRegWithEffect, which neglected the MISCREGS.
--HG--
extra : convert_revision :
4fdffe01b8e63e24b97a2e4194c747e6cf5e25ba
Lisa Hsu [Wed, 13 Dec 2006 19:33:59 +0000 (14:33 -0500)]
Merge zizzer:/bk/newmem
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
82733f9c7bf833cf6bbfbd2aad292f69f52d21bc
Lisa Hsu [Wed, 13 Dec 2006 19:33:32 +0000 (14:33 -0500)]
Merge zizzer:/bk/sparcfs
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
c6d174716641f0b8286b8478bcb9053b3eec54e3
Lisa Hsu [Wed, 13 Dec 2006 02:19:51 +0000 (21:19 -0500)]
Merge zizzer:/bk/newmem
into zed.eecs.umich.edu:/z/hsul/work/sparc/m5
--HG--
extra : convert_revision :
6e58629b1e51f1fc493a89f16c3f2e676dc5d191
Gabe Black [Tue, 12 Dec 2006 23:10:00 +0000 (18:10 -0500)]
Merge zizzer:/bk/newmem/
into zower.eecs.umich.edu:/eecshome/m5/newmem
--HG--
extra : convert_revision :
17d6c49ee15af5d192dedf82871159219d4277cd
Kevin Lim [Tue, 12 Dec 2006 22:55:50 +0000 (17:55 -0500)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/tmp/test-regress
--HG--
extra : convert_revision :
d420ee86454b72b0e5d3a98bac3b496f172c1788
Ali Saidi [Tue, 12 Dec 2006 22:55:27 +0000 (17:55 -0500)]
Fix bugs in tlbmap (and thus rangemap since the code is nearly identical)
Deal with block initializing stores (by doing nothing, at some point we might want to do the write hint 64 like thing)
Fix tcc instruction igoner in legion-lock stuff to be correct in all cases
Have console interrupts warn rather than panicing until we figure out what to do with interrupts
src/arch/sparc/miscregfile.cc:
src/arch/sparc/miscregfile.hh:
add a magic miscreg which reads all the bits the tlb needs in one go
src/arch/sparc/tlb.cc:
initialized the context type and id to reasonable values and handle block init stores
src/arch/sparc/tlb_map.hh:
fix bug in tlb map code
src/base/range_map.hh:
fix bug in rangemap code and add range_multimap
(these are probably useful for bus range stuff)
src/cpu/exetrace.cc:
fixup tcc ignore code to be correct
src/dev/sparc/t1000.cc:
make console interrupt stuff warn instead of panicing until we get interrupt stuff figured out
src/unittest/rangemaptest.cc:
fix up the rangemap unit test to catch the missing case
--HG--
extra : convert_revision :
70604a8b5d0553aa0b0bd7649f775a0cfa8267a5
Kevin Lim [Tue, 12 Dec 2006 22:35:46 +0000 (17:35 -0500)]
Allow for multiple redirects to happen on a single cycle (only the one for the oldest instruction is passed on to commit).
This fixes a minor bug when multiple FU completions come back out of order (due to the order in which the FUs are freed up), and the oldest redirect isn't recorded properly. The eon benchmark should run now.
src/cpu/o3/iew_impl.hh:
Allow for multiple redirects to happen on a single cycle (only the one for the oldest instruction is passed on to commit).
--HG--
extra : convert_revision :
b7d202dee1754539ed814f0fac59adb8c6328ee1
Steve Reinhardt [Tue, 12 Dec 2006 17:58:40 +0000 (09:58 -0800)]
Rename the StaticInst-based (read|set)(Int|Float)Reg methods to (read|set)(Int|Float)RegOperand to distinguish from non-StaticInst version.
--HG--
extra : convert_revision :
b33ce0ebe2fee86cc791c00a35d8c6e395e1380c
Steve Reinhardt [Tue, 12 Dec 2006 17:54:59 +0000 (09:54 -0800)]
If no tests are specified for regression, just build the binaries
(instead of complaining and exiting).
--HG--
extra : convert_revision :
24ac0bab7fd92d9e74c80847a667f0affcd0473d
Steve Reinhardt [Tue, 12 Dec 2006 07:21:03 +0000 (02:21 -0500)]
Get rid of unused lock code.
--HG--
extra : convert_revision :
a8030132268662ca54f487b8d32d09ba224317a8
Kevin Lim [Tue, 12 Dec 2006 04:51:21 +0000 (23:51 -0500)]
Fix up in case a req hasn't yet been generated for this instruction (if there was a fault prior to translation).
--HG--
extra : convert_revision :
43f4ea5e6a234cc6071006eab72135c11b8523c8
Kevin Lim [Tue, 12 Dec 2006 04:47:30 +0000 (23:47 -0500)]
Fix for fetch to use the icache's block size to generate proper access size.
--HG--
extra : convert_revision :
0f292233ac05b584f527c32f80e3ca3d40a6a2c1
Steve Reinhardt [Sun, 10 Dec 2006 07:05:33 +0000 (02:05 -0500)]
Merge zizzer.eecs.umich.edu:/z/stever/bk/newmem-head
into zizzer.eecs.umich.edu:/z/stever/bk/newmem-cache3
--HG--
extra : convert_revision :
c961d1bf2acaae6807870b78f444a4a606be65cc
Steve Reinhardt [Sun, 10 Dec 2006 07:04:53 +0000 (02:04 -0500)]
Reorder CacheTags members for better cache performance.
--HG--
extra : convert_revision :
cac6e9d447675805e3fcc4342e3bfdbef179fbf5