Nathan Binkert [Sat, 17 Jun 2006 22:14:16 +0000 (18:14 -0400)]
Make the system paths more configurable
configs/test/SysPaths.py:
Make the paths more configurable
--HG--
extra : convert_revision :
c426b102dfe55e4b601a23e980e1b01140e0ee93
Nathan Binkert [Sat, 17 Jun 2006 22:12:44 +0000 (18:12 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into iceaxe.:/Volumes/work/research/m5/newmem
--HG--
extra : convert_revision :
915088112b7b8c3e2182b188ae832b587dd79386
Nathan Binkert [Sat, 17 Jun 2006 21:49:38 +0000 (17:49 -0400)]
Add myself to list of authors
--HG--
extra : convert_revision :
0c9a892127476d586fb8bff1b0eb7342c6b1f166
Ali Saidi [Sat, 17 Jun 2006 21:17:43 +0000 (17:17 -0400)]
Merge zizzer:/bk/newmem
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
c8670f1a39d6826870ca0934587f4cc71c94b0ab
Steve Reinhardt [Sat, 17 Jun 2006 16:08:19 +0000 (12:08 -0400)]
Rename SWIG "main" module to "cc_main" so it's
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
Steve Reinhardt [Sat, 17 Jun 2006 13:58:10 +0000 (09:58 -0400)]
Add --outdir option. Didn't call it "-d" since
that's already being used for "detailed cpu".
Needed to add extra function for user script
to pass parsed options back to m5 module.
configs/test/fs.py:
configs/test/test.py:
Call setStandardOptions().
src/python/m5/__init__.py:
Add --outdir option.
Add setStandardOptions() so user script can
pass parsed options back to m5 module.
src/sim/main.cc:
Add SWIG-wrappable function to set output dir.
--HG--
extra : convert_revision :
1323bee69ca920c699a1cd1218e15b7b0875c1e5
Steve Reinhardt [Sat, 17 Jun 2006 13:26:08 +0000 (09:26 -0400)]
Minor fixes in comments.
SConstruct:
Fix paths in comments and other minor comment edits.
src/cpu/SConscript:
Fix path in comment.
--HG--
extra : convert_revision :
c02aa9cefd8c5ad791ad2f1653c1554a4aa8ffbd
Kevin Lim [Sat, 17 Jun 2006 01:18:19 +0000 (21:18 -0400)]
Add in some of the commonly used Trace/ExeTrace/Debug options.
src/python/m5/__init__.py:
Add in some of the commonly used Trace/ExeTrace/Debug options. Not terribly clean but it works.
--HG--
extra : convert_revision :
abb3cb4892512483a5031606baabf6540019233c
Kevin Lim [Fri, 16 Jun 2006 22:04:34 +0000 (18:04 -0400)]
Update this with the same option as single_fs.py
--HG--
extra : convert_revision :
778d654f515b6af7c45165b0a9bc5ef0d60f0d19
Kevin Lim [Fri, 16 Jun 2006 21:53:33 +0000 (17:53 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge
--HG--
extra : convert_revision :
488b9a9965dd86ca73dc9e510e5b3122cbd357f9
Kevin Lim [Fri, 16 Jun 2006 21:52:15 +0000 (17:52 -0400)]
Reorganization to move FuncUnit, FUDesc, and OpDesc out of the encumbered directory and into the normal cpu directory.
src/SConscript:
Split off FuncUnits from old FUPool so I'm not including encumbered code. This was all written by Steve Raasch so it's safe to include in the main tree.
src/cpu/o3/fu_pool.cc:
Include the func unit file that's not in the encumbered directory.
--HG--
extra : convert_revision :
9801c606961dd2d62dba190d13a76069992bf241
Kevin Lim [Fri, 16 Jun 2006 21:19:36 +0000 (17:19 -0400)]
Add in exec_context.hh, which is a file for documentation purposes only. It describes the ExecContext interface that the ISA uses to access CPU state. Also #ifdef Erik's old copy code from the decoder so ExecContext doesn't need his two specific copy functions.
src/arch/alpha/isa/decoder.isa:
Surround Erik's old copy code with #ifdefs. This way the copy functions don't need to be included in the ExecContext (until somebody decides to add them back in).
--HG--
extra : convert_revision :
508ca387757a32bb616e5b4b07af17787a76970e
Kevin Lim [Fri, 16 Jun 2006 21:15:18 +0000 (17:15 -0400)]
Miscellaneous minor fixes.
src/cpu/checker/cpu.cc:
Add in comment.
src/cpu/cpuevent.hh:
Fix up comment.
src/cpu/o3/bpred_unit.cc:
Comment out Ozone instantiations.
src/cpu/o3/dep_graph.hh:
Include destructor.
--HG--
extra : convert_revision :
549454ed11bc2fa49a0627f7fb8f96d00a9be303
Kevin Lim [Fri, 16 Jun 2006 21:08:47 +0000 (17:08 -0400)]
Two updates that got combined into one ChangeSet accidentally. They're both pretty simple so they shouldn't cause any trouble.
First: Rename FullCPU and its variants in the o3 directory to O3CPU to differentiate from the old model, and also to specify it's an out of order model.
Second: Include build options for selecting the Checker to be used. These options make sure if the Checker is being used there is a CPU that supports it also being compiled.
SConstruct:
Add in option USE_CHECKER to allow for not compiling in checker code. The checker is enabled through this option instead of through the CPU_MODELS list. However it's still necessary to treat the Checker like a CPU model, so it is appended onto the CPU_MODELS list if enabled.
configs/test/test.py:
Name change for DetailedCPU to DetailedO3CPU. Also include option for max tick.
src/base/traceflags.py:
Add in O3CPU trace flag.
src/cpu/SConscript:
Rename AlphaFullCPU to AlphaO3CPU.
Only include checker sources if they're necessary. Also add a list of CPUs that support the Checker, and only allow the Checker to be compiled in if one of those CPUs are also being included.
src/cpu/base_dyn_inst.cc:
src/cpu/base_dyn_inst.hh:
Rename typedef to ImplCPU instead of FullCPU, to differentiate from the old FullCPU.
src/cpu/cpu_models.py:
src/cpu/o3/alpha_cpu.cc:
src/cpu/o3/alpha_cpu.hh:
src/cpu/o3/alpha_cpu_builder.cc:
src/cpu/o3/alpha_cpu_impl.hh:
Rename AlphaFullCPU to AlphaO3CPU to differentiate from old FullCPU model.
src/cpu/o3/alpha_dyn_inst.hh:
src/cpu/o3/alpha_dyn_inst_impl.hh:
src/cpu/o3/alpha_impl.hh:
src/cpu/o3/alpha_params.hh:
src/cpu/o3/commit.hh:
src/cpu/o3/cpu.hh:
src/cpu/o3/decode.hh:
src/cpu/o3/decode_impl.hh:
src/cpu/o3/fetch.hh:
src/cpu/o3/iew.hh:
src/cpu/o3/iew_impl.hh:
src/cpu/o3/inst_queue.hh:
src/cpu/o3/lsq.hh:
src/cpu/o3/lsq_impl.hh:
src/cpu/o3/lsq_unit.hh:
src/cpu/o3/regfile.hh:
src/cpu/o3/rename.hh:
src/cpu/o3/rename_impl.hh:
src/cpu/o3/rob.hh:
src/cpu/o3/rob_impl.hh:
src/cpu/o3/thread_state.hh:
src/python/m5/objects/AlphaO3CPU.py:
Rename FullCPU to O3CPU to differentiate from old FullCPU model.
src/cpu/o3/commit_impl.hh:
src/cpu/o3/cpu.cc:
src/cpu/o3/fetch_impl.hh:
src/cpu/o3/lsq_unit_impl.hh:
Rename FullCPU to O3CPU to differentiate from old FullCPU model.
Also #ifdef the checker code so it doesn't need to be included if it's not selected.
--HG--
rename : src/cpu/checker/o3_cpu_builder.cc => src/cpu/checker/o3_builder.cc
rename : src/cpu/checker/cpu_builder.cc => src/cpu/checker/ozone_builder.cc
rename : src/python/m5/objects/AlphaFullCPU.py => src/python/m5/objects/AlphaO3CPU.py
extra : convert_revision :
86619baf257b8b7c8955efd447eba56e0d7acd6a
Kevin Lim [Fri, 16 Jun 2006 17:10:47 +0000 (13:10 -0400)]
Checker updates.
src/cpu/checker/cpu.cc:
src/cpu/checker/cpu.hh:
Updates for checker. Output more informative messages on error. Rename some functions. Add in option to warn (and not exit) on load results being incorrect.
src/cpu/checker/cpu_builder.cc:
src/cpu/checker/o3_cpu_builder.cc:
Add in parameter to warn (and not exit) on load result errors.
src/cpu/o3/commit_impl.hh:
src/cpu/o3/lsq_unit_impl.hh:
Renamed checker functin.
--HG--
extra : convert_revision :
d7aa28b8462691d20600f97a7213e2acd91c5665
Korey Sewell [Fri, 16 Jun 2006 02:01:28 +0000 (22:01 -0400)]
Initial changes to allowed DetailedCPU to work with other architectures (i.e. Sparc & MIPS)
Still need to add some code to fetch & commit stages
src/cpu/o3/commit.hh:
src/cpu/o3/cpu.cc:
src/cpu/o3/cpu.hh:
Add nextNPC read & set functions
src/cpu/o3/fetch.hh:
src/cpu/o3/fetch_impl.hh:
Add nextNPC
--HG--
extra : convert_revision :
120677547d54091411399156bd066ce5baf785f7
Ali Saidi [Thu, 15 Jun 2006 19:05:26 +0000 (15:05 -0400)]
Merge zizzer:/bk/newmem
into zeep.eecs.umich.edu:/z/saidi/work/m5.newmem
--HG--
extra : convert_revision :
45677638b0bb5753f3277c212094cfb9313d4706
Steve Reinhardt [Thu, 15 Jun 2006 15:46:13 +0000 (11:46 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into zizzer.eecs.umich.edu:/z/stever/bk/newmem-head
--HG--
extra : convert_revision :
8a1cd7ff43aa4ebbfce0ff174d2f4ba3f095dd47
Steve Reinhardt [Thu, 15 Jun 2006 15:45:51 +0000 (11:45 -0400)]
Get Port stuff working with full-system scripts.
Key was adding support for cloning port references (trickier than it sounds).
Got rid of class/instance thing and go back to instance cloning...
still don't allow changing SimObject parameters/children after a
class (instance) has been subclassed or instantiated (or cloned), which
should avoid bizarre unintended behavior.
configs/test/fs.py:
Add ".port" to busses to get a port reference.
Get rid of commented-out code.
src/python/m5/__init__.py:
resolveSimObject should call getCCObject() instead of createCCObject()
to avoid cycles in recursively creating objects.
src/python/m5/config.py:
Get rid of class/instance thing and go back to instance cloning.
Deep copy has to happen only on instance cloning then (and not on subclassing).
Add getCCObject() method to force creation of C++ SimObject without
recursively creating its children.
Add support for cloning port references (trickier than it sounds).
Also clean up some very obsolete comments.
src/python/m5/objects/Bridge.py:
src/python/m5/objects/Device.py:
Add ports.
--HG--
extra : convert_revision :
4816d05ead0de520748aace06dbd1911a33f0af8
Korey Sewell [Thu, 15 Jun 2006 05:00:15 +0000 (01:00 -0400)]
Mips Code Cleanup:
Fix some author stuff and copyright dates
Take out full system code
src/arch/mips/isa/base.isa:
src/arch/mips/isa/bitfields.isa:
copyright info
src/arch/mips/isa/decoder.isa:
src/arch/mips/isa/formats/basic.isa:
src/arch/mips/isa/formats/branch.isa:
src/arch/mips/isa/formats/control.isa:
src/arch/mips/isa/formats/fp.isa:
src/arch/mips/isa/formats/int.isa:
src/arch/mips/isa/formats/mem.isa:
src/arch/mips/isa/formats/noop.isa:
src/arch/mips/isa/formats/tlbop.isa:
src/arch/mips/isa/formats/trap.isa:
src/arch/mips/isa/formats/unimp.isa:
src/arch/mips/isa/formats/unknown.isa:
src/arch/mips/isa/formats/util.isa:
src/arch/mips/isa/includes.isa:
src/arch/mips/isa/main.isa:
src/arch/mips/isa/operands.isa:
src/arch/mips/process.cc:
src/arch/mips/regfile/misc_regfile.hh:
src/arch/mips/stacktrace.hh:
copyright 2006
src/arch/mips/isa_traits.cc:
src/arch/mips/isa_traits.hh:
copyright 2006
take out full system
src/arch/mips/regfile/float_regfile.hh:
src/arch/mips/regfile/regfile.hh:
copyright 2006
use FloatRegVal
src/arch/mips/regfile/int_regfile.hh:
copyright 2006
move HI/LO to types.hh
src/arch/mips/types.hh:
copyright 2006
typedef FloatRegVal
--HG--
extra : convert_revision :
1d0d72cd655a4e28622745a6c6b06349da533a1d
Korey Sewell [Thu, 15 Jun 2006 02:01:36 +0000 (22:01 -0400)]
tried to undo change and it didnt work so might as well put it back
--HG--
extra : convert_revision :
9793917e8a3e4d30f59ff469e4f08da96ce001f9
Korey Sewell [Wed, 14 Jun 2006 23:53:36 +0000 (19:53 -0400)]
change back, BK is acting up
--HG--
extra : convert_revision :
11fd5ebbca0408b357e9186d1b3722eb571e874e
Korey Sewell [Wed, 14 Jun 2006 23:45:15 +0000 (19:45 -0400)]
add cycle to exit message
src/arch/mips/isa/formats/trap.isa:
Take out fix that tried to fix trap
instruction disassembly. It forces bad
compile ..
configs/test/test.py:
add 'cycle' to exit message
--HG--
extra : convert_revision :
568877797fd2806416b4cbb388cc3f7eb2492627
Korey Sewell [Wed, 14 Jun 2006 23:31:21 +0000 (19:31 -0400)]
-luxc1 fix
-noop templates
-trap disassembly
src/arch/mips/isa/decoder.isa:
luxc1 uses doubleword, not single
src/arch/mips/isa/formats/int.isa:
use new nop decode template
src/arch/mips/isa/formats/mem.isa:
Noop templates
src/arch/mips/isa/formats/noop.isa:
redo noop templates
src/arch/mips/isa/formats/trap.isa:
fix for trap disassembly
--HG--
extra : convert_revision :
56f13e88abdcbd03ab828cff5d775c993157ae96
Ali Saidi [Wed, 14 Jun 2006 20:12:56 +0000 (16:12 -0400)]
add a comment that should be able to pass --help after config file
--HG--
extra : convert_revision :
0229d0c2f4f2615fa744561f32773b4c8160e81a
Korey Sewell [Wed, 14 Jun 2006 18:43:45 +0000 (14:43 -0400)]
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-release
--HG--
extra : convert_revision :
9b5b1419e8e22bce16ed97fc02c2008ca0181afc
Kevin Lim [Wed, 14 Jun 2006 17:12:41 +0000 (13:12 -0400)]
Minor code cleanup of BaseDynInst.
src/cpu/base_dyn_inst.cc:
src/cpu/base_dyn_inst.hh:
Minor code cleanup by putting several bools into a bitset instead.
src/cpu/o3/commit_impl.hh:
src/cpu/o3/decode_impl.hh:
src/cpu/o3/iew_impl.hh:
src/cpu/o3/inst_queue_impl.hh:
src/cpu/o3/lsq_unit.hh:
src/cpu/o3/lsq_unit_impl.hh:
src/cpu/o3/rename_impl.hh:
src/cpu/o3/rob_impl.hh:
Changed around some things in BaseDynInst.
--HG--
extra : convert_revision :
1db363d69a863cc8744cc9f9ec542ade8472eb42
Steve Reinhardt [Wed, 14 Jun 2006 03:19:42 +0000 (23:19 -0400)]
Merge zizzer:/bk/newmem
into vm1.(none):/home/stever/bk/newmem
--HG--
extra : convert_revision :
6ebb12890c516a11733a04041f29c9964267a5ca
Steve Reinhardt [Wed, 14 Jun 2006 03:19:28 +0000 (23:19 -0400)]
Move SimObject creation and Port connection loops
into Python.
Add Port and VectorPort objects and support for
specifying port connections via assignment.
The whole C++ ConfigNode hierarchy is gone now, as are
C++ Connector objects.
configs/test/fs.py:
configs/test/test.py:
Rewrite for new port connector syntax.
src/SConscript:
Remove unneeded files:
- mem/connector.*
- sim/config*
src/dev/io_device.hh:
src/mem/bridge.cc:
src/mem/bridge.hh:
src/mem/bus.cc:
src/mem/bus.hh:
src/mem/mem_object.hh:
src/mem/physical.cc:
src/mem/physical.hh:
Allow getPort() to take an optional index to
support vector ports (eventually).
src/python/m5/__init__.py:
Move SimObject construction and port connection
operations into Python (with C++ calls).
src/python/m5/config.py:
Move SimObject construction and port connection
operations into Python (with C++ calls).
Add support for declaring and connecting MemObject
ports in Python.
src/python/m5/objects/Bus.py:
src/python/m5/objects/PhysicalMemory.py:
Add port declaration.
src/sim/builder.cc:
src/sim/builder.hh:
src/sim/serialize.cc:
src/sim/serialize.hh:
ConfigNodes are gone; builder just gets the
name of a .ini file section now.
src/sim/main.cc:
Move SimObject construction and port connection
operations into Python (with C++ calls).
Split remaining initialization operations into two parts,
loadIniFile() and finalInit().
src/sim/param.cc:
src/sim/param.hh:
SimObject resolution done globally in Python now
(not via ConfigNode hierarchy).
src/sim/sim_object.cc:
Remove unneeded #include.
--HG--
extra : convert_revision :
2fa4001eaaec0c9a4231ef6e854f8e156d930dfe
Kevin Lim [Wed, 14 Jun 2006 02:40:02 +0000 (22:40 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge
--HG--
extra : convert_revision :
5c0e56572c5ca14e0c9a7ac52b0453026e48b336
Kevin Lim [Wed, 14 Jun 2006 02:39:31 +0000 (22:39 -0400)]
Add in a few global options. Feel free to rename them, they're just the first thing that came to mind.
src/python/m5/__init__.py:
Add in a few global options.
--HG--
extra : convert_revision :
e0dba78dd60f565a2e5cbda2cd6cf221bb3f4688
Kevin Lim [Wed, 14 Jun 2006 02:35:05 +0000 (22:35 -0400)]
Minor updates for stats.
src/cpu/o3/commit_impl.hh:
src/cpu/o3/fetch.hh:
Update stats comments.
src/cpu/o3/fetch_impl.hh:
Differentiate stats.
src/cpu/o3/iew.hh:
src/cpu/o3/iew_impl.hh:
src/cpu/o3/inst_queue.hh:
src/cpu/o3/inst_queue_impl.hh:
Update for stats.
src/cpu/o3/lsq.hh:
LSQ now has stats.
src/cpu/o3/lsq_impl.hh:
Register stats of all LSQ units.
src/cpu/o3/lsq_unit.hh:
src/cpu/o3/lsq_unit_impl.hh:
Add in stats.
--HG--
extra : convert_revision :
7672ecf3c02515b268c28d5a986af1432197654a
Ali Saidi [Tue, 13 Jun 2006 20:53:26 +0000 (16:53 -0400)]
allow long opts to m5 and add a help flag back.
--HG--
extra : convert_revision :
279cf97fe2e3098e2fe9c568c0336f97e41a14e4
Kevin Lim [Tue, 13 Jun 2006 18:39:05 +0000 (14:39 -0400)]
Make syscalls serialize after instructions so they work properly on the new CPU model.
--HG--
extra : convert_revision :
c2cea5771e41d3c97d0e44559316363718d89abd
Kevin Lim [Tue, 13 Jun 2006 18:37:50 +0000 (14:37 -0400)]
Add itb and dtb to checker when in full system mode.
--HG--
extra : convert_revision :
6e272d484d04b018e7d48e2878ae3e21e8dc571e
Kevin Lim [Tue, 13 Jun 2006 18:15:24 +0000 (14:15 -0400)]
Add in DetailedCPU to test.
--HG--
extra : convert_revision :
98c67b45af239e1cf5bad6888da6577a4c3bb45d
Korey Sewell [Tue, 13 Jun 2006 16:07:48 +0000 (12:07 -0400)]
Merge zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-release
--HG--
extra : convert_revision :
78ef94172884c2db0f591c54657b28be5be7f61c
Kevin Lim [Tue, 13 Jun 2006 15:58:05 +0000 (11:58 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zamp/z/ktlim2/clean/newmem-merge
--HG--
extra : convert_revision :
1a00a3970c6064cb59cd2f788094569fc431bf70
Kevin Lim [Tue, 13 Jun 2006 15:38:16 +0000 (11:38 -0400)]
Compile fix.
--HG--
extra : convert_revision :
20649b0b9b9c496aae22c19926c1166c8c0cc821
Kevin Lim [Mon, 12 Jun 2006 23:15:14 +0000 (19:15 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zamp/z/ktlim2/clean/newmem-merge
--HG--
extra : convert_revision :
349dbc2a39eba7fa5019c811123a643a41fdc6ff
Kevin Lim [Mon, 12 Jun 2006 23:11:38 +0000 (19:11 -0400)]
Fixes for checker. The RC/RS instructions check the interrupt flag, which isn't verifiable by the checker.
src/arch/alpha/isa/decoder.isa:
src/cpu/checker/cpu.cc:
Fixes for checker.
--HG--
extra : convert_revision :
b0ec8f3c4a10453a567cd6691283fc498403795e
Kevin Lim [Mon, 12 Jun 2006 23:05:48 +0000 (19:05 -0400)]
Fix output messages.
src/cpu/o3/decode_impl.hh:
src/cpu/o3/rename_impl.hh:
Fix output message.
--HG--
extra : convert_revision :
f226b84d0e15f275286b1ed078d341831370322b
Kevin Lim [Mon, 12 Jun 2006 23:04:42 +0000 (19:04 -0400)]
Clean up/shift some code around.
src/cpu/base_dyn_inst.cc:
Clean up some code and update.
src/cpu/base_dyn_inst.hh:
Clean up some code and update with more descriptive function names.
src/cpu/o3/alpha_cpu_builder.cc:
src/cpu/o3/alpha_params.hh:
src/cpu/o3/commit.hh:
Remove unused parameters.
src/cpu/o3/commit_impl.hh:
Remove unused parameters, also set squashCounter directly to the counted number of squashes.
src/cpu/o3/fetch_impl.hh:
Update for function name changes.
src/cpu/o3/iew.hh:
src/cpu/o3/iew_impl.hh:
Remove unused parameter, move some code into a function.
--HG--
extra : convert_revision :
45abd77ad43dde2e93c2e53c4738c90ba8352a1d
Kevin Lim [Mon, 12 Jun 2006 22:59:24 +0000 (18:59 -0400)]
Fix compile error.
--HG--
extra : convert_revision :
334f5033f5a3a303bfaec3a3acfbd36f205efe86
Kevin Lim [Mon, 12 Jun 2006 22:58:29 +0000 (18:58 -0400)]
Fix memory leak.
src/arch/alpha/ev5.cc:
Fix memory leak. The faults are refcounted, but that only works if you're actually assigning them to a RefCountingPtr.
--HG--
extra : convert_revision :
9a57963eb5d5d86c16023bfedb0fb5ccdbe7efaa
Korey Sewell [Mon, 12 Jun 2006 22:16:05 +0000 (18:16 -0400)]
Merge zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-release
--HG--
extra : convert_revision :
7ac7b9c9288e4940899766cd2dd55ef793d48d4d
Kevin Lim [Mon, 12 Jun 2006 21:53:57 +0000 (17:53 -0400)]
Merge fixes to make full system compile and run.
src/arch/alpha/linux/system.cc:
src/cpu/o3/alpha_cpu_impl.hh:
src/sim/system.cc:
Merge fixes.
--HG--
extra : convert_revision :
aa3326c0ebf54da9ab1dbd2d9877da41ca487082
Kevin Lim [Mon, 12 Jun 2006 20:42:56 +0000 (16:42 -0400)]
Removed syscall function from thread_context.hh. ThreadContext is the interface for external, non-CPU objects to access the thread, so they probably shouldn't be able to call syscall(). The case it was being used for was already handled by the ISA code.
src/arch/sparc/faults.cc:
src/cpu/thread_context.hh:
Fix for merge problems.
--HG--
extra : convert_revision :
05a7a2d6e45099fcf36d113da2e52450d892a72c
Korey Sewell [Mon, 12 Jun 2006 20:19:18 +0000 (16:19 -0400)]
Merge zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-release
--HG--
extra : convert_revision :
18a381fa230f2ef6d027359ffd619e3ae75cd446
Steve Reinhardt [Mon, 12 Jun 2006 10:19:13 +0000 (06:19 -0400)]
Fix python binary name in arch/SConscript.
Also delete no-longer-needed SPARC test.py files (should
have gone with my last chnageset where LiveProcess
became ISA-independent).
src/arch/SConscript:
Mistakenly committed hard-coded python binary name.
Should use same python to run isa_parser that was
used to run scons.
--HG--
extra : convert_revision :
a3acd5496f3b930d57bb59ae164b8a4a8065bbf8
Nathan Binkert [Mon, 12 Jun 2006 03:02:50 +0000 (23:02 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into iceaxe.:/Volumes/work/research/m5/newmem
--HG--
extra : convert_revision :
e457e807b29d8ff88ac335cd50acd596e7e31eee
Nathan Binkert [Mon, 12 Jun 2006 02:01:34 +0000 (22:01 -0400)]
Merge iceaxe.:/Volumes/work/research/m5/head
into iceaxe.:/Volumes/work/research/m5/merge
src/cpu/simple/base.cc:
src/kern/kernel_stats.cc:
src/kern/kernel_stats.hh:
src/kern/system_events.cc:
src/kern/system_events.hh:
src/python/m5/objects/System.py:
src/sim/system.cc:
src/sim/system.hh:
hand merge
--HG--
rename : build/SConstruct => SConstruct
rename : SConscript => src/SConscript
rename : arch/alpha/freebsd/system.cc => src/arch/alpha/freebsd/system.cc
rename : arch/alpha/linux/system.cc => src/arch/alpha/linux/system.cc
rename : arch/alpha/linux/system.hh => src/arch/alpha/linux/system.hh
rename : arch/alpha/system.cc => src/arch/alpha/system.cc
rename : arch/alpha/tru64/system.cc => src/arch/alpha/tru64/system.cc
rename : base/statistics.cc => src/base/statistics.cc
rename : base/statistics.hh => src/base/statistics.hh
rename : base/stats/mysql.cc => src/base/stats/mysql.cc
rename : base/stats/mysql.hh => src/base/stats/mysql.hh
rename : base/stats/statdb.cc => src/base/stats/statdb.cc
rename : base/stats/statdb.hh => src/base/stats/statdb.hh
rename : base/stats/text.cc => src/base/stats/text.cc
rename : base/stats/text.hh => src/base/stats/text.hh
rename : cpu/simple/cpu.cc => src/cpu/simple/base.cc
rename : kern/kernel_stats.cc => src/kern/kernel_stats.cc
rename : kern/kernel_stats.hh => src/kern/kernel_stats.hh
rename : kern/system_events.cc => src/kern/system_events.cc
rename : kern/system_events.hh => src/kern/system_events.hh
rename : python/m5/objects/System.py => src/python/m5/objects/System.py
rename : sim/system.cc => src/sim/system.cc
rename : sim/system.hh => src/sim/system.hh
rename : test/stattest.cc => src/unittest/stattest.cc
extra : convert_revision :
4bb576a2bf5e32784efc48030bd776c6c7c29a7c
Steve Reinhardt [Mon, 12 Jun 2006 01:49:46 +0000 (21:49 -0400)]
Move LiveProcess::create() from arch-specific files
bcak to main LiveProcess, then automatically select
ISA based on object file type. Now simulation scripts
no longer need to care about the ISA, as they can just
call LiveProcess().
configs/test/test.py:
Script no longer cares about ISA.
src/arch/alpha/process.cc:
src/arch/alpha/process.hh:
src/arch/mips/process.cc:
src/arch/mips/process.hh:
src/arch/sparc/process.cc:
src/arch/sparc/process.hh:
src/sim/process.cc:
src/sim/process.hh:
Move create() from arch-specific files back to
main LiveProcess, then automatically select ISA
based on object file type.
--HG--
extra : convert_revision :
ef33ffdc79623b77000f5d68edd2026760b76ab6
Steve Reinhardt [Mon, 12 Jun 2006 00:37:56 +0000 (20:37 -0400)]
Add some utility functions to ease handling
SimObjects and sequences of SimObjects in a
uniform manner.
--HG--
extra : convert_revision :
5db28b778c6b1ca63ad0a112ad7e92cd610f64d3
Korey Sewell [Sun, 11 Jun 2006 23:04:22 +0000 (19:04 -0400)]
Remove Full System Files
src/arch/mips/SConscript:
remove full-system
src/arch/mips/stacktrace.hh:
alpha to mips
--HG--
extra : convert_revision :
5aa7ba6a4af4884e911708608dfc5a552f70654d
Ali Saidi [Sun, 11 Jun 2006 21:21:02 +0000 (17:21 -0400)]
Fix compiling for SPARC_SE:
- change include from exec_context.hh -> threadcontext.hh
- g++ 4.0.3 complaint about broken code (which it was).
- bad merge thread_context -> exec_context
src/arch/sparc/isa/includes.isa:
Fix SPARC_SE for exec_context->thread_context switch
src/arch/sparc/regfile.hh:
fix g++ 4.0.3 complaint about broken code (which it was).
src/cpu/thread_context.hh:
fix bad merge
--HG--
extra : convert_revision :
f5bab822d5c25177756e9890e143b0ad8d704201
Korey Sewell [Sun, 11 Jun 2006 21:11:36 +0000 (17:11 -0400)]
Merge zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-release
--HG--
extra : convert_revision :
b73eeb1f73a5886a008919acd9e1971a79fd6bfb
Korey Sewell [Sun, 11 Jun 2006 20:25:31 +0000 (16:25 -0400)]
Remove MIPS tests
--HG--
extra : convert_revision :
03cd1c26b49422feb3ea1de5947063c7048dfa67
Korey Sewell [Sun, 11 Jun 2006 19:38:40 +0000 (15:38 -0400)]
next round of MIPS ISA changes
src/arch/mips/isa/decoder.isa:
div,divu,ext,seb,seh, fp conditonal moves, fp indexed memory...
src/arch/mips/isa/formats/mem.isa:
MemoryNoDisp class .. use sext<> function instead of doing it manually
src/arch/mips/regfile/float_regfile.hh:
use bits function
--HG--
extra : convert_revision :
cbbda9499185b91bdb2a6198fe1b961be04f9265
Korey Sewell [Sun, 11 Jun 2006 18:38:14 +0000 (14:38 -0400)]
Edit Fetch DPRINT in simple CPU
src/arch/mips/isa/formats/mt.isa:
change copyright to 2006
src/cpu/simple/base.cc:
Only DPRINT NNPC if we are not using ALPHA
src/cpu/static_inst.hh:
Take Out MIPS Specific functions ...
--HG--
extra : convert_revision :
7a69e80cd1564fa3b778b9dade0e9fe3cef94e64
Steve Reinhardt [Sun, 11 Jun 2006 01:13:36 +0000 (21:13 -0400)]
Don't allow SimObject-valued class params to be set
after the class has been instantiated or subclassed.
This is one of the main situations that leads to
confusing results.
configs/test/fs.py:
Clean up to avoid modifying BaseCPU after it's been subclassed.
--HG--
extra : convert_revision :
335cb87bc3b211ecc8969cfb99ffc28f62f1f877
Steve Reinhardt [Sat, 10 Jun 2006 23:58:36 +0000 (19:58 -0400)]
Only allow SimObject classes to be instantiated (no cloning!).
Provide a makeClass() method to generate a new class using
a SimObject instance as a template.
All instantiation, subclassing, and class generation is done
recursively using "deep copy"-style memoization to maintain
object relationships in the face of multiple references to
shared objects/classes.
src/python/m5/multidict.py:
Rename local dict attribute from 'dict' to 'local'
for clarity.
--HG--
extra : convert_revision :
73ed6836216308709d7bb68d09f8131acd5f1822
Nathan Binkert [Sat, 10 Jun 2006 17:08:43 +0000 (13:08 -0400)]
Remove all binning stuff
--HG--
extra : convert_revision :
6da2b3b0b6c2824f2064d42670fd8383edb7c718
Steve Reinhardt [Sat, 10 Jun 2006 04:22:42 +0000 (00:22 -0400)]
Update scripts for testing ALPHA_FS and MIPS_SE.
Minor fixes to ALPHA_FS and SPARC_SE.
SPARC_SE still does not compile... looks like there
are unresolved issues with ExecContext -> ThreadContext
rename/reorg.
configs/test/fs.py:
Port to new script interface/model.
configs/test/test.py:
Add support for running MIPS test(s) too via
command-line option.
src/arch/alpha/ev5.cc:
Fix include file.
src/arch/sparc/regfile.hh:
Make Bit64 a ULL constant to avoid compiler error.
--HG--
extra : convert_revision :
c46c179758271c4f00171faaa579915846bf4624
Steve Reinhardt [Sat, 10 Jun 2006 03:33:15 +0000 (23:33 -0400)]
Fix up imports in Ozone objects/*.py files.
src/python/m5/objects/FUPool.py:
src/python/m5/objects/OzoneCPU.py:
src/python/m5/objects/SimpleOzoneCPU.py:
Fix up imports (m5 namespace no longer includes m5.config).
--HG--
extra : convert_revision :
8575ef7d19ef8dfe9524723d7c4f85234d1280d2
Steve Reinhardt [Sat, 10 Jun 2006 03:18:46 +0000 (23:18 -0400)]
Merge vm1.(none):/home/stever/bk/newmem
into vm1.(none):/home/stever/bk/newmem-py
src/python/m5/__init__.py:
src/sim/syscall_emul.cc:
Hand merge.
--HG--
extra : convert_revision :
e2542735323e648383c89382421d98a7d1d761bf
Steve Reinhardt [Sat, 10 Jun 2006 03:01:31 +0000 (23:01 -0400)]
Move main control from C++ into Python.
User script now invokes initialization and
simulation loop after building configuration.
These functions are exported from C++ to Python
using SWIG.
SConstruct:
Set up SWIG builder & scanner.
Set up symlinking of source files into build directory
(by not disabling the default behavior).
configs/test/test.py:
Rewrite to use new script-driven interface.
Include a sample option.
src/SConscript:
Set up symlinking of source files into build directory
(by not disabling the default behavior).
Add SWIG-generated main_wrap.cc to source list.
src/arch/SConscript:
Set up symlinking of source files into build directory
(by not disabling the default behavior).
src/arch/alpha/ev5.cc:
src/arch/alpha/isa/decoder.isa:
src/cpu/o3/alpha_cpu_impl.hh:
src/cpu/trace/opt_cpu.cc:
src/cpu/trace/trace_cpu.cc:
src/sim/pseudo_inst.cc:
src/sim/root.cc:
src/sim/serialize.cc:
src/sim/syscall_emul.cc:
SimExit() is now exitSimLoop().
src/cpu/base.cc:
SimExitEvent is now SimLoopExitEvent
src/python/SConscript:
Add SWIG build command for main.i.
Use python/m5 in build dir as source for zip archive...
easy now with file duplication enabled.
src/python/m5/__init__.py:
- Move copyright notice back to C++ so we can print
it right away, even for interactive sessions.
- Get rid of argument parsing code; just provide default
option descriptors for user script to call optparse with.
- Don't clutter m5 namespace by sucking in all of m5.config
and m5.objects.
- Move instantiate() function here from config.py.
src/python/m5/config.py:
- Move instantiate() function to __init__.py.
- Param.Foo deferred type lookups must use m5.objects
namespace now (not m5).
src/python/m5/objects/AlphaConsole.py:
src/python/m5/objects/AlphaFullCPU.py:
src/python/m5/objects/AlphaTLB.py:
src/python/m5/objects/BadDevice.py:
src/python/m5/objects/BaseCPU.py:
src/python/m5/objects/BaseCache.py:
src/python/m5/objects/Bridge.py:
src/python/m5/objects/Bus.py:
src/python/m5/objects/CoherenceProtocol.py:
src/python/m5/objects/Device.py:
src/python/m5/objects/DiskImage.py:
src/python/m5/objects/Ethernet.py:
src/python/m5/objects/Ide.py:
src/python/m5/objects/IntrControl.py:
src/python/m5/objects/MemObject.py:
src/python/m5/objects/MemTest.py:
src/python/m5/objects/Pci.py:
src/python/m5/objects/PhysicalMemory.py:
src/python/m5/objects/Platform.py:
src/python/m5/objects/Process.py:
src/python/m5/objects/Repl.py:
src/python/m5/objects/Root.py:
src/python/m5/objects/SimConsole.py:
src/python/m5/objects/SimpleDisk.py:
src/python/m5/objects/System.py:
src/python/m5/objects/Tsunami.py:
src/python/m5/objects/Uart.py:
Fix up imports (m5 namespace no longer includes m5.config).
src/sim/eventq.cc:
src/sim/eventq.hh:
Support for Python-called simulate() function:
- Use IsExitEvent flag to signal events that want
to exit the simulation loop gracefully (instead of
calling exit() to terminate the process).
- Modify interface to hand exit event object back to
caller so it can be inspected for cause.
src/sim/host.hh:
Add MaxTick constant.
src/sim/main.cc:
Move copyright notice back to C++ so we can print
it right away, even for interactive sessions.
Use PYTHONPATH environment var to set module path
(instead of clunky code injection method).
Move main control from here into Python:
- Separate initialization code and simulation loop
into separate functions callable from Python.
- Make Python interpreter invocation more pure (more
like directly invoking interpreter).
Add -i and -p flags (only options on binary itself;
other options processed by Python).
Import readline package when using interactive mode.
src/sim/sim_events.cc:
SimExitEvent is now SimLoopExitEvent, and uses
IsSimExit flag to terminate loop (instead of
exiting simulator process).
src/sim/sim_events.hh:
SimExitEvent is now SimLoopExitEvent, and uses
IsSimExit flag to terminate loop (instead of
exiting simulator process).
Get rid of a few unused constructors.
src/sim/sim_exit.hh:
SimExit() is now exitSimLoop().
Get rid of unused functions.
Add comments.
--HG--
extra : convert_revision :
280b0d671516b25545a6f24cefa64a68319ff3d4
Korey Sewell [Fri, 9 Jun 2006 22:39:56 +0000 (18:39 -0400)]
Authorship stuff
src/sim/syscall_emul.cc:
Authorship Stuff
--HG--
extra : convert_revision :
0770ce292bf590926d10c1bef537a543c01f0b95
Korey Sewell [Fri, 9 Jun 2006 22:19:08 +0000 (18:19 -0400)]
Authorship stuff
--HG--
extra : convert_revision :
10c894365fa93eeb44528c29358ad73342f86902
Korey Sewell [Fri, 9 Jun 2006 21:47:23 +0000 (17:47 -0400)]
Merge zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-release
--HG--
extra : convert_revision :
82b83199a36059d4b402f89f7db2de299ea59c1e
Korey Sewell [Fri, 9 Jun 2006 21:46:07 +0000 (17:46 -0400)]
change SimpleCPU to Atomic
--HG--
extra : convert_revision :
ead4a39cd12665e9b0842fe22541034d9010bb78
Kevin Lim [Fri, 9 Jun 2006 21:21:37 +0000 (17:21 -0400)]
Two minor fixes.
src/cpu/o3/lsq_unit_impl.hh:
Missed this name change.
src/cpu/thread_state.cc:
Fix for stats.
--HG--
extra : convert_revision :
50ea862f97f2fbc75c1c03d5700df1e8f2c0d122
Korey Sewell [Fri, 9 Jun 2006 21:07:13 +0000 (17:07 -0400)]
add fcntl64Func
use ThreadContext rename
src/arch/mips/isa/formats/branch.isa:
src/arch/mips/isa/formats/fp.isa:
src/arch/mips/isa/includes.isa:
Use ThreadContext
src/sim/syscall_emul.cc:
fcntl64 function using TC
src/sim/syscall_emul.hh:
Add fcntl64func
--HG--
extra : convert_revision :
b5e2348530473704388b1c5a2b59bf78360260a9
Kevin Lim [Fri, 9 Jun 2006 20:28:17 +0000 (16:28 -0400)]
Removing of old code and adding in new comments.
src/cpu/base_dyn_inst.cc:
Clean up old functions, comments.
src/cpu/o3/alpha_cpu_builder.cc:
src/cpu/o3/alpha_params.hh:
src/cpu/o3/cpu.hh:
src/cpu/o3/fetch_impl.hh:
src/cpu/o3/iew.hh:
src/cpu/o3/iew_impl.hh:
src/cpu/o3/lsq.hh:
src/cpu/o3/lsq_impl.hh:
src/cpu/o3/rename_impl.hh:
src/cpu/ozone/lsq_unit.hh:
src/cpu/ozone/lsq_unit_impl.hh:
Remove old commented code.
src/cpu/o3/fetch.hh:
Remove old commented code, add in comments.
src/cpu/o3/inst_queue_impl.hh:
Move comment to better place.
src/cpu/o3/lsq_unit.hh:
Remove old commented code, add in new comments.
src/cpu/o3/lsq_unit_impl.hh:
Remove old commented code, rename variable.
--HG--
extra : convert_revision :
8e79af9b4d3b3bdd0f55e4747c6ab64c9ad2f571
Kevin Lim [Fri, 9 Jun 2006 16:29:40 +0000 (12:29 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge
--HG--
extra : convert_revision :
184b6ff6c11de8f9c9083dcb93754cb451d9cfce
Kevin Lim [Fri, 9 Jun 2006 16:29:31 +0000 (12:29 -0400)]
Allow for fetch to retry access if the sendTiming call fails.
--HG--
extra : convert_revision :
ddbcf82e0a3160c93c4e51f5d60b0a7b5983d3ba
Kevin Lim [Fri, 9 Jun 2006 16:28:11 +0000 (12:28 -0400)]
Fix allocating requests twice on retries.
--HG--
extra : convert_revision :
7b3324ed41e24b69b3e793005ebc07a7d72a3763
Kevin Lim [Fri, 9 Jun 2006 16:25:55 +0000 (12:25 -0400)]
Remove obsolete stuff.
src/cpu/o3/alpha_cpu.hh:
Remove functions no longer used for reading and writing.
--HG--
extra : convert_revision :
aa2fde86ebad06a9a3a9628016b885ff546c0189
Kevin Lim [Fri, 9 Jun 2006 15:46:35 +0000 (11:46 -0400)]
Fixes for some outstanding issues in the LSQ. It should now be able to retry. It should also be able to handle LL/SC (through hacks) for the UP case.
src/cpu/o3/lsq_unit.hh:
Handle being able to retry (untested but hopefully very close to working).
Handle lock flag for LL/SC hack. Hopefully the memory system will add in LL/SC soon.
Better output message.
src/cpu/o3/lsq_unit_impl.hh:
Handle being able to retry (untested but should be very close to working).
Make SC's work (hopefully) while the memory system doesn't have a LL/SC implementation.
--HG--
extra : convert_revision :
bffa721b21405c88a9c6b3d9b9080957f8a2638f
Korey Sewell [Fri, 9 Jun 2006 07:57:25 +0000 (03:57 -0400)]
Merging in a month of changes
src/arch/isa_parser.py:
Sign extend bit if you read int reg that is greater than default size
src/arch/mips/SConscript:
src/arch/mips/faults.cc:
src/arch/mips/faults.hh:
src/arch/mips/isa/base.isa:
src/arch/mips/isa/bitfields.isa:
src/arch/mips/isa/decoder.isa:
src/arch/mips/isa/formats/basic.isa:
src/arch/mips/isa/formats/branch.isa:
src/arch/mips/isa/formats/formats.isa:
src/arch/mips/isa/formats/fp.isa:
src/arch/mips/isa/formats/int.isa:
src/arch/mips/isa/formats/mem.isa:
src/arch/mips/isa/formats/noop.isa:
src/arch/mips/isa/formats/tlbop.isa:
src/arch/mips/isa/formats/trap.isa:
src/arch/mips/isa/formats/unimp.isa:
src/arch/mips/isa/formats/unknown.isa:
src/arch/mips/isa/formats/util.isa:
src/arch/mips/isa/includes.isa:
src/arch/mips/isa/main.isa:
src/arch/mips/isa/operands.isa:
src/arch/mips/isa_traits.cc:
src/arch/mips/linux/process.cc:
src/arch/mips/linux/process.hh:
src/arch/mips/process.cc:
src/arch/mips/process.hh:
src/arch/mips/regfile/float_regfile.hh:
src/arch/mips/utility.hh:
1 month of changes!
src/arch/mips/isa/formats/control.isa:
control formats
src/arch/mips/isa/formats/mt.isa:
mips mt format
src/arch/mips/utility.cc:
utility functions
--HG--
extra : convert_revision :
c1332cb5ce08b464b99fbf04f4a5cac312898784
Ali Saidi [Thu, 8 Jun 2006 23:43:50 +0000 (19:43 -0400)]
add nacked result and a function to swizzle nacked packet into something that can be sent out again
implement ability for i/o devices to handle
src/dev/io_device.cc:
src/dev/io_device.hh:
implement ability for i/o devices to handle
src/mem/packet.hh:
add nacked result and a function to swizzle nacked packet into something that can be sent out again
--HG--
extra : convert_revision :
fa42b01f4ab21562d37bd6bf6f4d7f69a94f0e86
Ali Saidi [Thu, 8 Jun 2006 23:03:58 +0000 (19:03 -0400)]
add write/read functions that have endian conversions in them
when we get a virtual port delete it (even though delete does nothing in these cases)
src/arch/alpha/linux/system.cc:
src/arch/alpha/stacktrace.cc:
src/base/remote_gdb.cc:
src/cpu/simple_thread.cc:
when we get a virtual port delete it (even though delete does nothing in this case)
src/mem/port.hh:
src/mem/vport.hh:
add write/read functions that have endian conversions in them
--HG--
extra : convert_revision :
163e05cc038c461f95c92f8ce55422033f9ea513
Kevin Lim [Thu, 8 Jun 2006 21:04:41 +0000 (17:04 -0400)]
Tell checker that an instruction is completed prior once it does the access to memory. As long as the checker does not access memory to verify the store's data (currently impossible in the O3 model), this will work fine.
src/cpu/o3/lsq_unit_impl.hh:
Tell checker that an instruction is completed prior once it does the access to memory.
--HG--
extra : convert_revision :
1d4bbac4b35fbd355f300eab76f29b38b5bc88cb
Kevin Lim [Thu, 8 Jun 2006 21:02:48 +0000 (17:02 -0400)]
Creation of translating port pushed off to CPU.
--HG--
extra : convert_revision :
842556970ff6f0660e8bef13819a3ddfc048d8c8
Kevin Lim [Thu, 8 Jun 2006 20:58:50 +0000 (16:58 -0400)]
Get O3 CPU mostly working in full system, and fix an FP bug that showed up.
It still does not yet handle retries.
src/cpu/base_dyn_inst.hh:
Get working in full-system mode and fix some FP bugs.
src/cpu/checker/cpu.cc:
src/cpu/checker/cpu.hh:
src/cpu/checker/thread_context.hh:
src/cpu/o3/alpha_cpu.hh:
src/cpu/o3/alpha_cpu_impl.hh:
src/cpu/o3/commit_impl.hh:
src/cpu/o3/cpu.cc:
src/cpu/o3/cpu.hh:
src/cpu/o3/fetch_impl.hh:
src/cpu/o3/thread_state.hh:
src/cpu/ozone/cpu.hh:
src/cpu/ozone/thread_state.hh:
src/cpu/thread_state.hh:
Get working in full system.
src/cpu/checker/o3_cpu_builder.cc:
Checker does not take a MemObject as a simobj parameter.
src/cpu/o3/alpha_dyn_inst.hh:
Fix up float regs.
src/cpu/o3/regfile.hh:
Fix up an fp error, print out more useful output messages.
--HG--
extra : convert_revision :
d7cc152a051c697f18b7ee9e14050fbf3ffa5966
Kevin Lim [Wed, 7 Jun 2006 20:02:55 +0000 (16:02 -0400)]
Update copyright.
--HG--
extra : convert_revision :
8ad012b1acfe046e6a8a5fb064891d91dadeb2e0
Kevin Lim [Wed, 7 Jun 2006 19:29:53 +0000 (15:29 -0400)]
Reorganization/renaming of CPUExecContext. Now it is called SimpleThread in order to clear up the confusion due to the many ExecContexts. It also derives from a common ThreadState object, which holds various state common to threads across CPU models.
Following with the previous check-in, ExecContext now refers only to the interface provided to the ISA in order to access CPU state. ThreadContext refers to the interface provided to all objects outside the CPU in order to access thread state. SimpleThread provides all thread state and the interface to access it, and is suitable for simple execution models such as the SimpleCPU.
src/SConscript:
Include thread state file.
src/arch/alpha/ev5.cc:
src/cpu/checker/cpu.cc:
src/cpu/checker/cpu.hh:
src/cpu/checker/thread_context.hh:
src/cpu/memtest/memtest.cc:
src/cpu/memtest/memtest.hh:
src/cpu/o3/cpu.cc:
src/cpu/ozone/cpu_impl.hh:
src/cpu/simple/atomic.cc:
src/cpu/simple/base.cc:
src/cpu/simple/base.hh:
src/cpu/simple/timing.cc:
Rename CPUExecContext to SimpleThread.
src/cpu/base_dyn_inst.hh:
Make thread member variables protected..
src/cpu/o3/alpha_cpu.hh:
src/cpu/o3/cpu.hh:
Make various members of ThreadState protected.
src/cpu/o3/alpha_cpu_impl.hh:
Push generation of TranslatingPort into the CPU itself.
Make various members of ThreadState protected.
src/cpu/o3/thread_state.hh:
Pull a lot of common code into the base ThreadState class.
src/cpu/ozone/thread_state.hh:
Rename CPUExecContext to SimpleThread, move a lot of common code into base ThreadState class.
src/cpu/thread_state.hh:
Push a lot of common code into base ThreadState class. This goes along with renaming CPUExecContext to SimpleThread, and making it derive from ThreadState.
src/cpu/simple_thread.cc:
Rename CPUExecContext to SimpleThread, make it derive from ThreadState. This helps push a lot of common code/state into a single class that can be used by all CPUs.
src/cpu/simple_thread.hh:
Rename CPUExecContext to SimpleThread, make it derive from ThreadState.
src/kern/system_events.cc:
Rename cpu_exec_context to thread_context.
src/sim/process.hh:
Remove unused forward declaration.
--HG--
rename : src/cpu/cpu_exec_context.cc => src/cpu/simple_thread.cc
rename : src/cpu/cpu_exec_context.hh => src/cpu/simple_thread.hh
extra : convert_revision :
2ed617aa80b64016cb9270f75352607cca032733
Kevin Lim [Wed, 7 Jun 2006 19:17:34 +0000 (15:17 -0400)]
Move checker's exec_context.hh to match the other changes. Also add in some more comments.
src/cpu/thread_context.hh:
Add more comments.
--HG--
rename : src/cpu/checker/exec_context.hh => src/cpu/checker/thread_context.hh
extra : convert_revision :
008a030b0254241118edb033c848e771e09ec8c0
Kevin Lim [Wed, 7 Jun 2006 18:46:18 +0000 (14:46 -0400)]
Clear misc regs at startup.
src/arch/alpha/regfile.hh:
Define clear functions on the individual reg files.
src/cpu/o3/regfile.hh:
Be sure to clear the misc reg file at startup.
--HG--
extra : convert_revision :
41e640887f0cf15d778c59a4dcd544d46899b527
Kevin Lim [Tue, 6 Jun 2006 21:32:21 +0000 (17:32 -0400)]
Change ExecContext to ThreadContext. This is being renamed to differentiate between the interface used objects outside of the CPU, and the interface used by the ISA. ThreadContext is used by objects outside of the CPU and is specifically defined in thread_context.hh. ExecContext is more implicit, and is defined by files such as base_dyn_inst.hh or cpu/simple/base.hh.
Further renames/reorganization will be coming shortly; what is currently CPUExecContext (the old ExecContext from m5) will be renamed to SimpleThread or something similar.
src/arch/alpha/arguments.cc:
src/arch/alpha/arguments.hh:
src/arch/alpha/ev5.cc:
src/arch/alpha/faults.cc:
src/arch/alpha/faults.hh:
src/arch/alpha/freebsd/system.cc:
src/arch/alpha/freebsd/system.hh:
src/arch/alpha/isa/branch.isa:
src/arch/alpha/isa/decoder.isa:
src/arch/alpha/isa/main.isa:
src/arch/alpha/linux/process.cc:
src/arch/alpha/linux/system.cc:
src/arch/alpha/linux/system.hh:
src/arch/alpha/linux/threadinfo.hh:
src/arch/alpha/process.cc:
src/arch/alpha/regfile.hh:
src/arch/alpha/stacktrace.cc:
src/arch/alpha/stacktrace.hh:
src/arch/alpha/tlb.cc:
src/arch/alpha/tlb.hh:
src/arch/alpha/tru64/process.cc:
src/arch/alpha/tru64/system.cc:
src/arch/alpha/tru64/system.hh:
src/arch/alpha/utility.hh:
src/arch/alpha/vtophys.cc:
src/arch/alpha/vtophys.hh:
src/arch/mips/faults.cc:
src/arch/mips/faults.hh:
src/arch/mips/isa_traits.cc:
src/arch/mips/isa_traits.hh:
src/arch/mips/linux/process.cc:
src/arch/mips/process.cc:
src/arch/mips/regfile/float_regfile.hh:
src/arch/mips/regfile/int_regfile.hh:
src/arch/mips/regfile/misc_regfile.hh:
src/arch/mips/regfile/regfile.hh:
src/arch/mips/stacktrace.hh:
src/arch/sparc/faults.cc:
src/arch/sparc/faults.hh:
src/arch/sparc/isa_traits.hh:
src/arch/sparc/linux/process.cc:
src/arch/sparc/linux/process.hh:
src/arch/sparc/process.cc:
src/arch/sparc/regfile.hh:
src/arch/sparc/solaris/process.cc:
src/arch/sparc/stacktrace.hh:
src/arch/sparc/ua2005.cc:
src/arch/sparc/utility.hh:
src/arch/sparc/vtophys.cc:
src/arch/sparc/vtophys.hh:
src/base/remote_gdb.cc:
src/base/remote_gdb.hh:
src/cpu/base.cc:
src/cpu/base.hh:
src/cpu/base_dyn_inst.hh:
src/cpu/checker/cpu.cc:
src/cpu/checker/cpu.hh:
src/cpu/checker/exec_context.hh:
src/cpu/cpu_exec_context.cc:
src/cpu/cpu_exec_context.hh:
src/cpu/cpuevent.cc:
src/cpu/cpuevent.hh:
src/cpu/exetrace.hh:
src/cpu/intr_control.cc:
src/cpu/memtest/memtest.hh:
src/cpu/o3/alpha_cpu.hh:
src/cpu/o3/alpha_cpu_impl.hh:
src/cpu/o3/alpha_dyn_inst_impl.hh:
src/cpu/o3/commit.hh:
src/cpu/o3/commit_impl.hh:
src/cpu/o3/cpu.cc:
src/cpu/o3/cpu.hh:
src/cpu/o3/fetch_impl.hh:
src/cpu/o3/regfile.hh:
src/cpu/o3/thread_state.hh:
src/cpu/ozone/back_end.hh:
src/cpu/ozone/cpu.hh:
src/cpu/ozone/cpu_impl.hh:
src/cpu/ozone/front_end.hh:
src/cpu/ozone/front_end_impl.hh:
src/cpu/ozone/inorder_back_end.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/thread_state.hh:
src/cpu/pc_event.cc:
src/cpu/pc_event.hh:
src/cpu/profile.cc:
src/cpu/profile.hh:
src/cpu/quiesce_event.cc:
src/cpu/quiesce_event.hh:
src/cpu/simple/atomic.cc:
src/cpu/simple/base.cc:
src/cpu/simple/base.hh:
src/cpu/simple/timing.cc:
src/cpu/static_inst.cc:
src/cpu/static_inst.hh:
src/cpu/thread_state.hh:
src/dev/alpha_console.cc:
src/dev/ns_gige.cc:
src/dev/sinic.cc:
src/dev/tsunami_cchip.cc:
src/kern/kernel_stats.cc:
src/kern/kernel_stats.hh:
src/kern/linux/events.cc:
src/kern/linux/events.hh:
src/kern/system_events.cc:
src/kern/system_events.hh:
src/kern/tru64/dump_mbuf.cc:
src/kern/tru64/tru64.hh:
src/kern/tru64/tru64_events.cc:
src/kern/tru64/tru64_events.hh:
src/mem/vport.cc:
src/mem/vport.hh:
src/sim/faults.cc:
src/sim/faults.hh:
src/sim/process.cc:
src/sim/process.hh:
src/sim/pseudo_inst.cc:
src/sim/pseudo_inst.hh:
src/sim/syscall_emul.cc:
src/sim/syscall_emul.hh:
src/sim/system.cc:
src/cpu/thread_context.hh:
src/sim/system.hh:
src/sim/vptr.hh:
Change ExecContext to ThreadContext.
--HG--
rename : src/cpu/exec_context.hh => src/cpu/thread_context.hh
extra : convert_revision :
108bb97d15a114a565a2a6a23faa554f4e2fd77e
Kevin Lim [Tue, 6 Jun 2006 18:06:30 +0000 (14:06 -0400)]
Fix checker to work in newmem in SE mode.
src/cpu/o3/fetch_impl.hh:
Give the checker a pointer to the icachePort.
src/cpu/o3/lsq_unit_impl.hh:
Give the checker a pointer to the dcachePort.
src/mem/request.hh:
Allow checking for the scResult being valid prior to accessing it.
--HG--
extra : convert_revision :
ced4180588d242111ecba4a11586823badd6cf15
Kevin Lim [Mon, 5 Jun 2006 22:14:39 +0000 (18:14 -0400)]
Fixes to get new CPU model working for simple test case. The CPU does not yet support retrying accesses.
src/cpu/base_dyn_inst.cc:
Delete the allocated data in destructor.
src/cpu/base_dyn_inst.hh:
Only copy the addresses if the translation succeeded.
src/cpu/o3/alpha_cpu.hh:
Return actual translating port.
Don't panic on setNextNPC() as it's always called, regardless of the architecture, when the process initializes.
src/cpu/o3/alpha_cpu_impl.hh:
Pass in memobject to the thread state in SE mode.
src/cpu/o3/commit_impl.hh:
Initialize all variables.
src/cpu/o3/decode_impl.hh:
Handle early resolution of branches properly.
src/cpu/o3/fetch.hh:
Switch structure back to requests.
src/cpu/o3/fetch_impl.hh:
Initialize all variables, create/delete requests properly.
src/cpu/o3/lsq_unit.hh:
Include sender state along with the packet. Also include a more generic writeback event that's only used for stores forwarding data to loads.
src/cpu/o3/lsq_unit_impl.hh:
Redo writeback code to support the response path of the memory system.
src/cpu/o3/mem_dep_unit.cc:
src/cpu/o3/mem_dep_unit_impl.hh:
Wrap variables in #ifdefs.
src/cpu/o3/store_set.cc:
Include to get panic() function.
src/cpu/o3/thread_state.hh:
Create with MemObject as well.
src/cpu/thread_state.hh:
Have a translating port in the thread state object.
src/python/m5/objects/AlphaFullCPU.py:
Mem parameter no longer needed.
--HG--
extra : convert_revision :
a99381fb25cb183322882ce20935a6f3d1f2b64d
Kevin Lim [Mon, 5 Jun 2006 18:49:14 +0000 (14:49 -0400)]
Same fix for -P option as Steve's previous fix.
--HG--
extra : convert_revision :
aaefeafa04df1074711f90b9e1f5c488d4c678d3
Kevin Lim [Mon, 5 Jun 2006 17:39:53 +0000 (13:39 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zamp/z/ktlim2/clean/newmem-merge
--HG--
extra : convert_revision :
ae48a0cafa75459c0dbd71eab93934bbdc8614ae
Steve Reinhardt [Mon, 5 Jun 2006 17:38:07 +0000 (13:38 -0400)]
Fix --var=val arg handling.
--HG--
extra : convert_revision :
72d46faf9f7562f1c8d936d2e40729e6ca96e217
Kevin Lim [Mon, 5 Jun 2006 02:14:17 +0000 (22:14 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zamp/z/ktlim2/clean/newmem-merge
--HG--
extra : convert_revision :
629cbc2feebc6b34a424a0c2baa2acacb0fd2e2b
Kevin Lim [Mon, 5 Jun 2006 02:13:42 +0000 (22:13 -0400)]
Fixes to get everything working again.
src/cpu/simple/base.cc:
Start XC's as suspended.
--HG--
extra : convert_revision :
f1b15a810696bee3db259a655438dce06fcb9d48
Kevin Lim [Sun, 4 Jun 2006 20:07:54 +0000 (16:07 -0400)]
Merge ktlim@zamp:/z/ktlim2/clean/m5-o3
into zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge
src/cpu/checker/o3_cpu_builder.cc:
src/cpu/o3/alpha_cpu.hh:
src/cpu/o3/alpha_cpu_impl.hh:
src/cpu/o3/alpha_dyn_inst_impl.hh:
src/cpu/o3/bpred_unit.cc:
src/cpu/o3/commit.hh:
src/cpu/o3/fetch_impl.hh:
src/cpu/o3/lsq_unit.hh:
src/cpu/o3/lsq_unit_impl.hh:
src/cpu/o3/thread_state.hh:
Hand merge.
--HG--
rename : cpu/activity.cc => src/cpu/activity.cc
rename : cpu/activity.hh => src/cpu/activity.hh
rename : cpu/base_dyn_inst.cc => src/cpu/base_dyn_inst.cc
rename : cpu/checker/cpu.hh => src/cpu/checker/cpu.hh
rename : cpu/checker/cpu_builder.cc => src/cpu/checker/cpu_builder.cc
rename : cpu/checker/exec_context.hh => src/cpu/checker/exec_context.hh
rename : cpu/checker/o3_cpu_builder.cc => src/cpu/checker/o3_cpu_builder.cc
rename : cpu/o3/2bit_local_pred.cc => src/cpu/o3/2bit_local_pred.cc
rename : cpu/o3/2bit_local_pred.hh => src/cpu/o3/2bit_local_pred.hh
rename : cpu/o3/alpha_cpu.hh => src/cpu/o3/alpha_cpu.hh
rename : cpu/o3/alpha_cpu_builder.cc => src/cpu/o3/alpha_cpu_builder.cc
rename : cpu/o3/alpha_cpu_impl.hh => src/cpu/o3/alpha_cpu_impl.hh
rename : cpu/o3/alpha_dyn_inst.hh => src/cpu/o3/alpha_dyn_inst.hh
rename : cpu/o3/alpha_dyn_inst_impl.hh => src/cpu/o3/alpha_dyn_inst_impl.hh
rename : cpu/o3/alpha_params.hh => src/cpu/o3/alpha_params.hh
rename : cpu/o3/bpred_unit.cc => src/cpu/o3/bpred_unit.cc
rename : cpu/o3/bpred_unit.hh => src/cpu/o3/bpred_unit.hh
rename : cpu/o3/bpred_unit_impl.hh => src/cpu/o3/bpred_unit_impl.hh
rename : cpu/o3/comm.hh => src/cpu/o3/comm.hh
rename : cpu/o3/commit.hh => src/cpu/o3/commit.hh
rename : cpu/o3/commit_impl.hh => src/cpu/o3/commit_impl.hh
rename : cpu/o3/cpu.hh => src/cpu/o3/cpu.hh
rename : cpu/o3/cpu_policy.hh => src/cpu/o3/cpu_policy.hh
rename : cpu/o3/decode.hh => src/cpu/o3/decode.hh
rename : cpu/o3/decode_impl.hh => src/cpu/o3/decode_impl.hh
rename : cpu/o3/dep_graph.hh => src/cpu/o3/dep_graph.hh
rename : cpu/o3/fetch.hh => src/cpu/o3/fetch.hh
rename : cpu/o3/fetch_impl.hh => src/cpu/o3/fetch_impl.hh
rename : cpu/o3/fu_pool.cc => src/cpu/o3/fu_pool.cc
rename : cpu/o3/fu_pool.hh => src/cpu/o3/fu_pool.hh
rename : cpu/o3/iew.hh => src/cpu/o3/iew.hh
rename : cpu/o3/iew_impl.hh => src/cpu/o3/iew_impl.hh
rename : cpu/o3/inst_queue.hh => src/cpu/o3/inst_queue.hh
rename : cpu/o3/inst_queue_impl.hh => src/cpu/o3/inst_queue_impl.hh
rename : cpu/o3/lsq.hh => src/cpu/o3/lsq.hh
rename : cpu/o3/lsq_unit.hh => src/cpu/o3/lsq_unit.hh
rename : cpu/o3/lsq_unit_impl.hh => src/cpu/o3/lsq_unit_impl.hh
rename : cpu/o3/mem_dep_unit.hh => src/cpu/o3/mem_dep_unit.hh
rename : cpu/o3/mem_dep_unit_impl.hh => src/cpu/o3/mem_dep_unit_impl.hh
rename : cpu/o3/rename.hh => src/cpu/o3/rename.hh
rename : cpu/o3/rename_impl.hh => src/cpu/o3/rename_impl.hh
rename : cpu/o3/rename_map.hh => src/cpu/o3/rename_map.hh
rename : cpu/o3/rob.hh => src/cpu/o3/rob.hh
rename : cpu/o3/store_set.cc => src/cpu/o3/store_set.cc
rename : cpu/o3/store_set.hh => src/cpu/o3/store_set.hh
rename : cpu/o3/thread_state.hh => src/cpu/o3/thread_state.hh
rename : cpu/o3/tournament_pred.cc => src/cpu/o3/tournament_pred.cc
rename : cpu/o3/tournament_pred.hh => src/cpu/o3/tournament_pred.hh
rename : cpu/ozone/cpu_builder.cc => src/cpu/ozone/cpu_builder.cc
rename : cpu/ozone/ozone_impl.hh => src/cpu/ozone/ozone_impl.hh
rename : cpu/ozone/simple_impl.hh => src/cpu/ozone/simple_impl.hh
rename : cpu/ozone/simple_params.hh => src/cpu/ozone/simple_params.hh
rename : python/m5/objects/AlphaFullCPU.py => src/python/m5/objects/AlphaFullCPU.py
rename : python/m5/objects/OzoneCPU.py => src/python/m5/objects/OzoneCPU.py
extra : convert_revision :
b7be30474dd03dd3970e737a9d0489aeb2ead84f
Kevin Lim [Sun, 4 Jun 2006 19:36:51 +0000 (15:36 -0400)]
Fix for full system compiling.
--HG--
extra : convert_revision :
91f60703008988d25f9d97ca5eccda97424b2906
Kevin Lim [Fri, 2 Jun 2006 22:19:50 +0000 (18:19 -0400)]
Merge ktlim@zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zamp/z/ktlim2/clean/newmem
--HG--
extra : convert_revision :
1d2f499bdc6e21c658a9262da1c8d27d6b74cafe