summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2006-07-05Split off files that are shared across the O3 and Ozone models.Kevin Lim
--HG-- extra : convert_revision : 023e84660d5cee5162d39548f87e5ca8ec68115f
2006-07-05Add some different parameters. The main change is that the writeback count ↵Kevin Lim
is now limited so that it doesn't overflow the buffer. src/cpu/o3/alpha_cpu_builder.cc: src/cpu/o3/alpha_params.hh: Add in dispatchWidth, wbWidth, wbDepth parameters. wbDepth is the number of cycles of wbWidth instructions that can be buffered. src/cpu/o3/iew.hh: Include separate parameter for dispatch width. Also limit the number of outstanding writebacks so the writeback buffer isn't overflowed. The IQ must make sure with the IEW stage that it can issue instructions prior to issuing. src/cpu/o3/iew_impl.hh: Include separate parameter for dispatch width. Also limit the number of outstanding writebacks so the writeback buffer isn't overflowed. src/cpu/o3/inst_queue_impl.hh: IQ needs to check with the IEW to make sure it can issue instructions, and increments the IEW wb counter each time there is an outstanding instruction that will writeback. src/cpu/o3/lsq_unit_impl.hh: Be sure to decrement the writeback counter if there's a squashed load that returned. src/python/m5/objects/AlphaO3CPU.py: Change the parameters to include dispatch width, writeback width, and writeback depth. --HG-- extra : convert_revision : 31c8cc495273e3c481b79055562fc40f71291fc4
2006-06-29Merge ktlim@zizzer:/bk/newmemKevin Lim
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge --HG-- extra : convert_revision : 0756f7f1f63fae472e0ef1d20e9eb38e56de78c8
2006-06-29Remove function that no longer can be used. We should figure out if we want ↵Kevin Lim
to allow the m5checkpoint pseudoinstruction or not. src/sim/pseudo_inst.cc: Remove the setup function from Checkpoint. I'm not sure what we want to do with this pseudoinst. src/sim/serialize.hh: Remove setup function. --HG-- extra : convert_revision : 5ff494d816e2d8a7fe65a3d13037608003388d8f
2006-06-29Various fixes for the CPU models to support the features that have been ↵Kevin Lim
moved to python. src/cpu/base.cc: src/cpu/base.hh: src/cpu/simple/atomic.hh: Switching out no longer takes a sampler. src/cpu/simple/atomic.cc: Fix up switching out. Also fix up serialization; the nameOut() was messing up the ordering. src/cpu/simple/timing.cc: Add in quiesce, fix up serialization. src/cpu/simple/timing.hh: Add in queisce, fix up serialization. --HG-- extra : convert_revision : 9d59d53bdf269d4d82fb119e5ae7c8a5d475880b
2006-06-29Add in support for quiescing the system, taking checkpoints, restoring from ↵Kevin Lim
checkpoints, changing memory modes, and switching CPUs. Key new functions that can be called on the m5 object at the python interpreter: doQuiesce(root) - A helper function that quiesces the object passed in and all of its children. resume(root) - Another helper function that tells the object and all of its children that the quiesce is over. checkpoint(root) - Takes a checkpoint of the system. Checkpoint directory must be set before hand. setCheckpointDir(name) - Sets the checkpoint directory. restoreCheckpoint(root) - Restores the values from the checkpoint located in the checkpoint directory. changeToAtomic(system) - Changes the system and all of its children to atomic memory mode. changeToTiming(system) - Changes the system and all of its children to timing memory mode. switchCpus(list) - Takes in a list of tuples, where each tuple is a pair of (old CPU, new CPU). Quiesces the old CPUs, and then switches over to the new CPUs. src/SConscript: Remove serializer, replaced by python code. src/python/m5/__init__.py: Updates to support quiescing, checkpointing, changing memory modes, and switching CPUs. src/python/m5/config.py: Several functions defined on the SimObject for quiescing, changing timing modes, and switching CPUs src/sim/main.cc: Add some extra functions that are exported to python through SWIG. src/sim/serialize.cc: Change serialization around a bit. Now it is controlled through Python, so there's no need for SerializeEvents or SerializeParams. Also add in a new unserializeAll() function that loads a checkpoint and handles unserializing all objects. src/sim/serialize.hh: Add unserializeAll function and a setCheckpointName function. src/sim/sim_events.cc: Add process() function for CountedQuiesceEvent, which calls exitSimLoop() once its counter reaches 0. src/sim/sim_events.hh: Add in a CountedQuiesceEvent, which is used when the system is preparing to quiesce. Any objects that can't be quiesced immediately are given a pointer to a CountedQuiesceEvent. The event has its counter set via Python, and as objects finish quiescing they call process() on the event. Eventually the event causes the simulation to stop once all objects have quiesced. src/sim/sim_object.cc: Add a few functions for quiescing, checkpointing, and changing memory modes. src/sim/sim_object.hh: Add a state variable to all SimObjects that tracks both the timing mode of the object and the quiesce state of the object. Currently this isn't serialized, and I'm not sure it needs to be so long as the timing mode starts up the same after a checkpoint. --HG-- extra : convert_revision : a8c738d3911c68d5a7caf7de24d732dcc62cfb61
2006-06-29Update the readme to point people to m5.eecs.umich.eduAli Saidi
start a new release section in RELEASE_NOTES add AUTHORS file that still needs work README: Update the readme to point people to m5.eecs.umich.edu RELEASE_NOTES: start a new release section --HG-- extra : convert_revision : 4c51e4255aecb67b10f18337428e5af114759d2e
2006-06-27change the page table from map to hash_map and create small cache to to ↵Ali Saidi
speed up lookups --HG-- extra : convert_revision : 4c73ed33c2a22ae3254b459b0fd189e6ac9d438e
2006-06-27Make full CPU handle SE faultsAli Saidi
--HG-- extra : convert_revision : e336623ac3329ec0ee2430548c6a9650e2a69d6a
2006-06-27Add help strings for optionsAli Saidi
--HG-- extra : convert_revision : ebbafaf00c56a4d2ee65eea08a12d276f279135d
2006-06-27Fix import command.Kevin Lim
--HG-- extra : convert_revision : 8a87b23dba77b7661583029920b8fc5ea89fe8f6
2006-06-26Merge zizzer:/bk/newmemAli Saidi
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : 39c99c8acadd43f3ec42ae7550289a5075d910e4
2006-06-26don't depend on the memory system to return the atomic cpu a multiple of cpu ↵Ali Saidi
cycles. --HG-- extra : convert_revision : e5eb36f14c8394381a0269fefd34a178833c8346
2006-06-26remove extern "C" from the functions we all from gdb. This isn't requried ↵Ali Saidi
and trips up GDB sometimes when i thinks the extern name should be mangled, but it isn't --HG-- extra : convert_revision : 62e2a1989e8fd3d73958d3a3e2d00e378488e642
2006-06-26add python options for input file and command line options for live processAli Saidi
--HG-- extra : convert_revision : 3db1e6d29846812378aa5174179a0686f0141580
2006-06-26add syscall emulation page table fault so we can allocate more stack pagesAli Saidi
src/cpu/simple/base.cc: add syscall emulation page table fault so we can allocate more stack pages FaultBase::invoke will do this, we don't need to do it here src/sim/faults.hh: I have no idea why this #if was there... gone src/sim/process.cc: make stack_min actually be the current minimum --HG-- extra : convert_revision : 9786b39f2747b94654a5d77c74243cd20503add4
2006-06-25Allow ports to be created without a name.Kevin Lim
--HG-- extra : convert_revision : 26dad6853feaf4f68907aab902c54259281cac1c
2006-06-25Make OzoneCPU work again in SE/FS.Kevin Lim
src/cpu/ozone/cpu.hh: Fixes to get OzoneCPU working in SE/FS again. src/cpu/ozone/cpu_impl.hh: Be sure to set up ports properly. src/cpu/ozone/front_end.hh: Allow port to be created without specifying its name at the beginning. src/cpu/ozone/front_end_impl.hh: Setup port properly, also only use checker if it's enabled. src/cpu/ozone/lw_back_end_impl.hh: Be sure to initialize variables. src/cpu/ozone/lw_lsq.hh: Handle locked flag for UP systems. src/cpu/ozone/lw_lsq_impl.hh: Initialize all variables. src/python/m5/objects/OzoneCPU.py: Fix up config. --HG-- extra : convert_revision : c99e7bf82fc0dd1099c7a82eaebd58ab6017764d
2006-06-22Checker related updates.Kevin Lim
src/cpu/o3/cpu.cc: Updates to make sure the checker is compiled in if enabled and also to include it only when it's used. --HG-- extra : convert_revision : c48ead5b2665dc858acd87c2ee99d39d80594a69
2006-06-22Delete old unused files in the Ozone directory.Kevin Lim
--HG-- extra : convert_revision : 8f417b566e772d7a26d91fb66ff3d4484bd35c42
2006-06-22Changes to get OzoneCPU to compile once more.Kevin Lim
The changes largely are fixing up the memory accesses to use ports/Requests/Packets, supporting the splitting off of instantiation of template classes, and handling some of the reorganization that happened. OzoneCPU is untested for now but at least compiles. Fixes will be coming shortly. SConstruct: Remove OzoneSimpleCPU from list of CPUs. src/cpu/SConscript: Leave out OzoneSimpleCPU. src/cpu/ozone/bpred_unit.cc: Fixes to get OzoneCPU to compile. src/cpu/ozone/checker_builder.cc: src/cpu/ozone/cpu.cc: src/cpu/ozone/cpu.hh: src/cpu/ozone/cpu_builder.cc: src/cpu/ozone/cpu_impl.hh: src/cpu/ozone/dyn_inst.hh: src/cpu/ozone/dyn_inst_impl.hh: src/cpu/ozone/front_end.cc: src/cpu/ozone/front_end.hh: src/cpu/ozone/front_end_impl.hh: src/cpu/ozone/lw_back_end.hh: src/cpu/ozone/lw_back_end_impl.hh: src/cpu/ozone/lw_lsq.hh: src/cpu/ozone/lw_lsq_impl.hh: src/cpu/ozone/ozone_impl.hh: src/cpu/ozone/rename_table.cc: src/cpu/ozone/simple_params.hh: src/cpu/ozone/thread_state.hh: Fixes to get OzoneCPU back to compiling. --HG-- extra : convert_revision : 90ffb397263bcf9fea3987317272c64f2b20f7e6
2006-06-22Change ThreadState constructor ordering to match the rest of the ThreadStates.Kevin Lim
--HG-- extra : convert_revision : 63d98aa8b6a694c285d95a2a57e1b3aaef4cee3b
2006-06-22Misc fixes.Kevin Lim
src/cpu/o3/alpha_dyn_inst_impl.hh: Consolidate these calls into one. src/cpu/o3/commit_impl.hh: Include checker only if it's being used. src/cpu/o3/fetch_impl.hh: Do not deallocate request if it's a squashed response that was received. src/cpu/o3/lsq_unit.hh: Add in comment. src/cpu/o3/lsq_unit_impl.hh: Only include checker if it's being used. --HG-- extra : convert_revision : aae0bf1e19baae90f1e61d41191548612bbb3be6
2006-06-22Split Checker up properly into templated and non-templated definitions.Kevin Lim
--HG-- extra : convert_revision : 3ead18e42f4a536f2f868da07cb81a8940a7fa2f
2006-06-22Fix to have the static inst exec sigs also dependent on the CPU models used.Kevin Lim
--HG-- extra : convert_revision : 65d978d638dd9a57a641ca52adcf2c0ef48edf1c
2006-06-18use 'tick' instead of 'cycle'Korey Sewell
--HG-- extra : convert_revision : e7119d20ef95deab16081743c885979b0fa85548
2006-06-18Merge zizzer.eecs.umich.edu:/bk/newmemSteve Reinhardt
into tpx31.:C:/cygwin/home/stever/bk/newmem --HG-- extra : convert_revision : c13feaea77fe650a3d11112804a88bc5c729c32e
2006-06-18Put sconsign in bulid dir.Steve Reinhardt
--HG-- extra : convert_revision : e1be318e99037842501306e7c35cf4d6690ebdce
2006-06-18Merge zizzer:/bk/newmemAli Saidi
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : 1b2352532b6e1d1e180f3debd66588a450a46923
2006-06-18minor device fixupsAli Saidi
configs/test/SysPaths.py: remove some tabs and add /n/poolfs/z/dist/m5/system src/dev/io_device.cc: fix since pio timing dma packts colud be nacked too src/dev/io_device.hh: move DmaReqState into DmaDevie --HG-- extra : convert_revision : 2b5300d85ab33b3753afc54bc6a04a47b6e00d20
2006-06-17Minor updates.Kevin Lim
src/cpu/o3/alpha_cpu.hh: Fix #define in header. util/rundiff: Fix file comments to be more correct. util/tracediff: Update comments to be more correct. --HG-- extra : convert_revision : a28030ce8979de3d9361191c6af23743460dc53e
2006-06-17Merge ktlim@zizzer:/bk/newmemKevin Lim
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge --HG-- extra : convert_revision : a11200523e2cf7f69547b1a4f5622396caa511be
2006-06-17Delete old doxygen docs... now on wiki.Steve Reinhardt
Update release scripts for new tree structure. --HG-- extra : convert_revision : 35603f5476abd296625f777718c1245593a5dfc4
2006-06-17Merge ktlim@zizzer:/bk/newmemKevin Lim
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge --HG-- extra : convert_revision : 037fe9ee54da7e11c2bd07388b9f79cda9abef4c
2006-06-17Change options back to just being flags instead of taking in a True/False value.Kevin Lim
src/python/m5/__init__.py: Change up options. Now setting the flag enables/disables, each of which is the opposite of the default values found in the Python class. --HG-- extra : convert_revision : 23889b89e6105a437a74906587d90ab6ba885c97
2006-06-17Fix up code to be able to use the Checker.Kevin Lim
SConstruct: Remove check for Checker from this SConstruct src/arch/SConscript: Specific check if CheckerCPU is being used. Not the cleanest, but works for now. src/cpu/SConscript: Code to handle using the CheckerCPU a little better. Allows -c to be used normally. --HG-- extra : convert_revision : 0a82f16db0f38e5ce114d08368477bd211331fa3
2006-06-17Split off instantiation into separate CC files for each of the models. This ↵Kevin Lim
makes it easier to be able to specify only certain CPU models. src/cpu/SConscript: Split off instantiations into separate CC files. This makes it easier to split them per CPU model. src/cpu/base_dyn_inst_impl.hh: Move instantations out of impl.hh file and into a cc file. src/cpu/checker/cpu_impl.hh: Move instantiations over to .cc files inside each CPU's directory. Makes it easier to only use what's actually included. src/cpu/o3/bpred_unit.cc: Pull Ozone instantiations out of this .cc file; put them into the ozone's CC file. src/cpu/o3/checker_builder.cc: Instantiate Checker for O3 CPU. src/cpu/ozone/checker_builder.cc: Instantiate Checker for Ozone CPU. --HG-- rename : src/cpu/base_dyn_inst.cc => src/cpu/base_dyn_inst_impl.hh rename : src/cpu/checker/cpu.cc => src/cpu/checker/cpu_impl.hh rename : src/cpu/checker/o3_builder.cc => src/cpu/o3/checker_builder.cc rename : src/cpu/checker/ozone_builder.cc => src/cpu/ozone/checker_builder.cc extra : convert_revision : 4e5f928b165379c06d31071c544ea46cf0b8fa71
2006-06-17include misc.hh for panicNathan Binkert
--HG-- extra : convert_revision : 05e59f45b98e862f9d61bec223871b314eb2195e
2006-06-17add mac os x fast byte swap codeAli Saidi
--HG-- extra : convert_revision : 591e5adbf86feb894fceea982b9303da70a41955
2006-06-17Merge zizzer:/bk/newmemAli Saidi
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : 9b628a0ee157657ac76c3a9455108d033c125822
2006-06-17minor header cleanupsAli Saidi
src/dev/alpha_console.cc: Remove my name twice from header src/dev/ide_disk.cc: Spell my full name correctly src/mem/bus.hh: I think I edited much of this src/sim/byteswap.hh: I believe most of this code is mine or nate's --HG-- extra : convert_revision : b672b5de5492e04d2880fb51e7d63bc5587f2954
2006-06-17Merge zizzer.eecs.umich.edu:/bk/newmemSteve Reinhardt
into tpx31.:C:/cygwin/home/stever/bk/newmem --HG-- extra : convert_revision : 81affa14d8d900ccd3d1c44cb160eaecfb8599d1
2006-06-17Fixes to compile under Cygwin.Steve Reinhardt
src/kern/linux/linux.hh: src/kern/solaris/solaris.hh: Rename BSD_HOST to the more specific NO_STAT64. src/sim/byteswap.hh: Replace set of swap_byte functions with a single templated version. Hope this fixes compiler issues with e.g. int32_t vs int disambiguation. src/sim/syscall_emul.hh: Rename BSD_HOST to the more specific NO_STAT64. Set this for __CYGWIN__. --HG-- extra : convert_revision : 86a63b4b60d2445a566321333381d79ba8ab63c4
2006-06-17Make the system paths more configurableNathan Binkert
configs/test/SysPaths.py: Make the paths more configurable --HG-- extra : convert_revision : c426b102dfe55e4b601a23e980e1b01140e0ee93
2006-06-17Merge zizzer.eecs.umich.edu:/bk/newmemNathan Binkert
into iceaxe.:/Volumes/work/research/m5/newmem --HG-- extra : convert_revision : 915088112b7b8c3e2182b188ae832b587dd79386
2006-06-17remove byte_swap.hh since it's not usedAli Saidi
--HG-- extra : convert_revision : 20120d34ad2ab28d9dd5ac2907b974c40e511e9e
2006-06-17remove profile.ccAli Saidi
--HG-- extra : convert_revision : ac400789ee0cbd1cd01c28ffd149789dbd954613
2006-06-17Add myself to list of authorsNathan Binkert
--HG-- extra : convert_revision : 0c9a892127476d586fb8bff1b0eb7342c6b1f166
2006-06-17Merge zizzer:/bk/newmemAli Saidi
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem --HG-- extra : convert_revision : c8670f1a39d6826870ca0934587f4cc71c94b0ab
2006-06-17Rename SWIG "main" module to "cc_main" so it'sSteve Reinhardt
clear from the Python side that this is the interface to C++. src/SConscript: main_wrap.cc -> cc_main_wrap.cc src/python/SConscript: src/python/m5/__init__.py: src/sim/main.cc: s/main/cc_main/ src/python/m5/config.py: s/main/cc_main/ Also directly import cc_main so we don't need to put the "m5." in front all the time. --HG-- extra : convert_revision : 755552f70cf671881ff31e476c677b95ef12950d