gem5.git
17 years agoMerge zizzer:/bk/newmem
Ali Saidi [Thu, 6 Jul 2006 00:30:45 +0000 (20:30 -0400)]
Merge zizzer:/bk/newmem
into  zeep.pool:/z/saidi/work/m5.newmem.head

--HG--
extra : convert_revision : a64362d3cf8de00c97bea25118fee33cffe22707

17 years agoFix some unset values in the request in the timing CPU.
Ron Dreslinski [Wed, 5 Jul 2006 19:13:27 +0000 (15:13 -0400)]
Fix some unset values in the request in the timing CPU.
Properly implement the MSHR allocate function.

src/cpu/simple/timing.cc:
    Set the thread context in the CPU.

    Need to do this properly, currently I just set it to Cpu=0 Thread=0.  This will just cause all the stats in the cache based on these to just yield totals and not a distribution.
src/mem/cache/miss/mshr.cc:
    Properly implement the allocate function for the MSHR.

--HG--
extra : convert_revision : bcece518e54ed1404db3196f996a77b4dd5c1c1e

17 years agoFix for FS O3CPU compile ... missing forward class declaration/header file after...
Korey Sewell [Mon, 3 Jul 2006 16:19:35 +0000 (12:19 -0400)]
Fix for FS O3CPU compile ... missing forward class declaration/header file after files got split for ISA-independence

src/cpu/o3/alpha/thread_context.hh:
    Use 'this' when accessing cpu
src/cpu/o3/cpu.hh:
    add numActiveThreds function
src/cpu/o3/thread_context.hh:
    forward class declarations
src/cpu/o3/thread_context_impl.hh:
    add quiesce event header file
src/cpu/thread_context.hh:
    add exit() function to thread context (read comments in file)
src/sim/syscall_emul.cc:
    adjust exitFunc syscall

--HG--
extra : convert_revision : 323dc871e2b4f4ee5036be388ceb6634cd85a83e

17 years agoAdded hook to check for SMT workloads. SMT is identified by adding a semicolon between
Korey Sewell [Mon, 3 Jul 2006 05:10:19 +0000 (01:10 -0400)]
Added hook to check for SMT workloads. SMT is identified by adding a semicolon between
the workloads.

Now SMT on the O3CPU can be invoked by "/ALPHA_SE/m5.debug ../configs/test/test.py -d --cmd="hello;hello" -i="file1;file2"

I think I am a novice python magician now!!!!....

configs/test/test.py:
    Added hook to check for SMT workloads. SMT is identified by adding a semicolon between
    the workloads.

    Now SMT on the O3CPU can be invoked by "/ALPHA_SE/m5.debug ../configs/test/test.py -d --cmd="hello;hello" --input="file1;file2"
    (btw, We are back to working for this double hello world case)

    I am a novice python magician now!!!!....

--HG--
extra : convert_revision : b55e10dce33f5a9dc4c78f90409ec0912bad4292

17 years agotypo ... change 'single_thread' to 'round_robin_policy'
Korey Sewell [Mon, 3 Jul 2006 03:27:13 +0000 (23:27 -0400)]
typo ... change 'single_thread' to 'round_robin_policy'

--HG--
extra : convert_revision : a4a5cb90557f786d42c6178bc6e268312c5ecbee

17 years agoFix default SMT configuration in O3CPU (i.e. fetch policy, workloads/numThreads)
Korey Sewell [Mon, 3 Jul 2006 03:11:24 +0000 (23:11 -0400)]
Fix default SMT configuration in O3CPU (i.e. fetch policy, workloads/numThreads)

Edit Test3 for newmem

src/base/traceflags.py:
    Add O3CPU flag
src/cpu/base.cc:
    for some reason adding a BaseCPU flag doesnt work so just go back to old way...
src/cpu/o3/alpha/cpu_builder.cc:
    Determine number threads by workload size instead of solely by parameter.

    Default SMT fetch policy to RoundRobin if it's not specified in Config file
src/cpu/o3/commit.hh:
    only use nextNPC for !ALPHA
src/cpu/o3/commit_impl.hh:
    add FetchTrapPending as condition for commit
src/cpu/o3/cpu.cc:
    panic if active threads is more than Impl::MaxThreads
src/cpu/o3/fetch.hh:
src/cpu/o3/inst_queue.hh:
src/cpu/o3/inst_queue_impl.hh:
src/cpu/o3/rob.hh:
src/cpu/o3/rob_impl.hh:
    name stuff
src/cpu/o3/fetch_impl.hh:
    fatal if try to use SMT branch count, that's unimplemented right now
src/python/m5/config.py:
    make it clearer that a parameter is not valid within a configuration class

--HG--
extra : convert_revision : 55069847304e40e257f9225f0dc3894ce6491b34

17 years agotraceflag stuff
Korey Sewell [Sat, 1 Jul 2006 23:02:43 +0000 (19:02 -0400)]
traceflag stuff

src/base/traceflags.py:
    add BaseCPU flag, O3CPUAll flag grouping
src/cpu/base.cc:
    Use BaseCPU flag instead of FullCPU flag

--HG--
extra : convert_revision : 32f737a2f58eb936634799f1f809e07cbba90179

17 years agofix cpu builder to build the correct name...
Korey Sewell [Sat, 1 Jul 2006 22:52:02 +0000 (18:52 -0400)]
fix cpu builder to build the correct name...

add activateThread event and functions

src/cpu/o3/alpha/cpu_builder.cc:
    Have CPU builder build a DerivO3CPU not a DerivAlphaO3CPU
src/cpu/o3/cpu.cc:
    add activateThread Event

    add activateThread function

    adjust activateContext to schedule a thread to activate within the
    CPU instead of activating thread right away. This will lead to stages
    trying to use threads that  arent ready yet and wasting execution time & possibly
    performance.
src/cpu/o3/cpu.hh:
    add activateThread Event

    add activateThread function

    add schedule/descheculed activate thread event

--HG--
extra : convert_revision : 236d30dc160910507ad36f7f527ab185ed38dc04

17 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
Korey Sewell [Sat, 1 Jul 2006 00:51:07 +0000 (20:51 -0400)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
into  zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-o3

--HG--
extra : convert_revision : 3c1405d8b4831c6240e02ba65a72043ca55f4a46

17 years agonow O3CPU is totally independent of the ISA... all alpha specific stuff is the cpu...
Korey Sewell [Sat, 1 Jul 2006 00:49:31 +0000 (20:49 -0400)]
now O3CPU is totally independent of the ISA... all alpha specific  stuff is the cpu/o3/alpha directory

src/cpu/o3/alpha/cpu.cc:
src/cpu/o3/alpha/cpu_impl.hh:
src/cpu/o3/alpha/impl.hh:
    filenames
src/cpu/o3/alpha/thread_context.hh:
    public
src/cpu/o3/base_dyn_inst.cc:
src/cpu/o3/bpred_unit.cc:
src/cpu/o3/commit.cc:
src/cpu/o3/cpu.cc:
src/cpu/o3/decode.cc:
src/cpu/o3/fetch.cc:
src/cpu/o3/iew.cc:
src/cpu/o3/inst_queue.cc:
src/cpu/o3/lsq.cc:
src/cpu/o3/lsq_unit.cc:
src/cpu/o3/mem_dep_unit.cc:
src/cpu/o3/rename.cc:
src/cpu/o3/rob.cc:
    use O3CPUImpl ... not Alpha
src/cpu/o3/checker_builder.cc:
    filename

--HG--
extra : convert_revision : 6eb739909699ade1e2a9d63637b182413ceebc69

17 years agoMake O3CPU model independent of the ISA
Korey Sewell [Fri, 30 Jun 2006 23:52:08 +0000 (19:52 -0400)]
Make O3CPU model independent of the ISA

Use O3CPU when building instead of AlphaO3CPU.

I could use some better python magic in the cpu_models.py file!

AUTHORS:
    add middle initial
SConstruct:
    change from AlphaO3CPU to O3CPU
src/cpu/SConscript:
    edits to build O3CPU instead of AlphaO3CPU
src/cpu/cpu_models.py:
    change substitution template to use proper CPU EXEC CONTEXT For O3CPU Model...

    Actually, some Python expertise could be used here. The 'env' variable is not
    passed to this file, so I had to parse through the ARGV to find the ISA...
src/cpu/o3/base_dyn_inst.cc:
src/cpu/o3/bpred_unit.cc:
src/cpu/o3/commit.cc:
src/cpu/o3/cpu.cc:
src/cpu/o3/cpu.hh:
src/cpu/o3/decode.cc:
src/cpu/o3/fetch.cc:
src/cpu/o3/iew.cc:
src/cpu/o3/inst_queue.cc:
src/cpu/o3/lsq.cc:
src/cpu/o3/lsq_unit.cc:
src/cpu/o3/mem_dep_unit.cc:
src/cpu/o3/rename.cc:
src/cpu/o3/rob.cc:
    use isa_specific.hh
src/sim/process.cc:
    only initi NextNPC if not ALPHA
src/cpu/o3/alpha/cpu.cc:
    alphao3cpu impl
src/cpu/o3/alpha/cpu.hh:
    move AlphaTC to it's own file
src/cpu/o3/alpha/cpu_impl.hh:
    Move AlphaTC to it's own file ...
src/cpu/o3/alpha/dyn_inst.cc:
src/cpu/o3/alpha/dyn_inst.hh:
src/cpu/o3/alpha/dyn_inst_impl.hh:
    include paths
src/cpu/o3/alpha/impl.hh:
    include paths, set default MaxThreads to 2 instead of 4
src/cpu/o3/alpha/params.hh:
    set Alpha Specific Params here
src/python/m5/objects/O3CPU.py:
    add O3CPU class
src/cpu/o3/SConscript:
    include isa-specific build files
src/cpu/o3/alpha/thread_context.cc:
    NEW HOME of AlphaTC
src/cpu/o3/alpha/thread_context.hh:
    new home of AlphaTC
src/cpu/o3/isa_specific.hh:
    includes ISA specific files
src/cpu/o3/params.hh:
    base o3 params
src/cpu/o3/thread_context.hh:
    base o3 thread context
src/cpu/o3/thread_context_impl.hh:
    base o3 thead context impl

--HG--
rename : src/cpu/o3/alpha_cpu.cc => src/cpu/o3/alpha/cpu.cc
rename : src/cpu/o3/alpha_cpu.hh => src/cpu/o3/alpha/cpu.hh
rename : src/cpu/o3/alpha_cpu_builder.cc => src/cpu/o3/alpha/cpu_builder.cc
rename : src/cpu/o3/alpha_cpu_impl.hh => src/cpu/o3/alpha/cpu_impl.hh
rename : src/cpu/o3/alpha_dyn_inst.cc => src/cpu/o3/alpha/dyn_inst.cc
rename : src/cpu/o3/alpha_dyn_inst.hh => src/cpu/o3/alpha/dyn_inst.hh
rename : src/cpu/o3/alpha_dyn_inst_impl.hh => src/cpu/o3/alpha/dyn_inst_impl.hh
rename : src/cpu/o3/alpha_impl.hh => src/cpu/o3/alpha/impl.hh
rename : src/cpu/o3/alpha_params.hh => src/cpu/o3/alpha/params.hh
rename : src/python/m5/objects/AlphaO3CPU.py => src/python/m5/objects/O3CPU.py
extra : convert_revision : d377d6417452ac337bc502f28b2fde907d6b340e

17 years agoAtomicSimpleCPU with a cache now runs the hello world! test program.
Ron Dreslinski [Fri, 30 Jun 2006 21:21:58 +0000 (17:21 -0400)]
AtomicSimpleCPU with a cache now runs the hello world! test program.
Need to clean up a bunch of flags/hacks in the code.  Then onto Timming mode.

Functional accesses also work properly, although not exactly how we wanted them.  I'll need to clean that up as well.

src/cpu/simple/atomic.cc:
    Atomic CPU needs to set thread context so stats work in cache.  Temporarily just use CPU=0 ThreadID=0
src/mem/cache/cache_impl.hh:
    Need to return success/failure properly still
    Physical memory object doesn't assert SATISFIED anymore, need to remove that flag
src/mem/cache/tags/lru.cc:
    Doesn't work if the REQ doesn't set it's ASID.  Temporary fix use 0 always

--HG--
extra : convert_revision : d06a39684af593db699b64df9a29f80c61d8d050

17 years agoFirst pass, now compiles with current head of tree.
Ron Dreslinski [Fri, 30 Jun 2006 20:25:35 +0000 (16:25 -0400)]
First pass, now compiles with current head of tree.
Compile and initialization work, still working on functionality.

src/mem/cache/base_cache.cc:
    Temp fix for cpu's use of getPort functionality.  CPU's will need to be ported to the new connector objects.
    Also, all packets have to have data or the delete fails.
src/mem/cache/cache.hh:
    Fix function prototypes so overloading works
src/mem/cache/cache_impl.hh:
    fix functions to match virtual base class
src/mem/cache/miss/miss_queue.cc:
    Packets havve to have data, or delete fails
src/python/m5/objects/BaseCache.py:
    Update for newmem

--HG--
extra : convert_revision : 2b6ad1e9d8ae07ace9294cd257e2ccc0024b7fcb

17 years agoFix the packet data allocation methods. Small fixes from changesets after my initial...
Ron Dreslinski [Fri, 30 Jun 2006 15:34:27 +0000 (11:34 -0400)]
Fix the packet data allocation methods.  Small fixes from changesets after my initial work.

This now compiles.

src/mem/cache/base_cache.cc:
    Fix getPort function that changed
src/mem/cache/base_cache.hh:
    Fix get port function, provide default implementations of virtual functions in the base class
src/mem/cache/cache.hh:
    Fix virtual function declerations
src/mem/cache/cache_builder.cc:
    Fix params
src/mem/cache/cache_impl.hh:
src/mem/cache/miss/blocking_buffer.cc:
src/mem/cache/miss/miss_queue.cc:
src/mem/cache/miss/mshr.cc:
src/mem/cache/prefetch/base_prefetcher.cc:
src/mem/cache/tags/iic.cc:
src/mem/cache/tags/lru.cc:
    Properly allocate data in packet

--HG--
extra : convert_revision : dedf8b0f76ab90b06b60f8fe079c0ae361f91a48

17 years agoMerge zizzer:/z/m5/Bitkeeper/newmem
Ron Dreslinski [Fri, 30 Jun 2006 14:25:50 +0000 (10:25 -0400)]
Merge zizzer:/z/m5/Bitkeeper/newmem
into  zazzer.eecs.umich.edu:/z/rdreslin/m5bk/newmem

--HG--
extra : convert_revision : 6eefb4a3ee472f2f2c86ed823c70fc9e5625818f

17 years agoAll files compile in the mem directory except cache_builder
Ron Dreslinski [Fri, 30 Jun 2006 14:25:25 +0000 (10:25 -0400)]
All files compile in the mem directory except cache_builder

Missing some functionality (like split caches and copy support)

src/SConscript:
    Typo
src/mem/cache/prefetch/base_prefetcher.cc:
src/mem/cache/prefetch/ghb_prefetcher.hh:
src/mem/cache/prefetch/stride_prefetcher.hh:
src/mem/cache/prefetch/tagged_prefetcher_impl.hh:
src/mem/cache/tags/fa_lru.cc:
src/mem/cache/tags/fa_lru.hh:
src/mem/cache/tags/iic.cc:
src/mem/cache/tags/iic.hh:
src/mem/cache/tags/lru.cc:
src/mem/cache/tags/lru.hh:
src/mem/cache/tags/split.cc:
src/mem/cache/tags/split.hh:
src/mem/cache/tags/split_lifo.cc:
src/mem/cache/tags/split_lifo.hh:
src/mem/cache/tags/split_lru.cc:
src/mem/cache/tags/split_lru.hh:
src/mem/packet.hh:
src/mem/request.hh:
    Fix so it compiles

--HG--
extra : convert_revision : 0d87d84f6e9445bab655c0cb0f8541bbf6eab904

17 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Fri, 30 Jun 2006 01:38:16 +0000 (21:38 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge

--HG--
extra : convert_revision : 0756f7f1f63fae472e0ef1d20e9eb38e56de78c8

17 years agoRemove function that no longer can be used. We should figure out if we want to allow...
Kevin Lim [Fri, 30 Jun 2006 01:34:01 +0000 (21:34 -0400)]
Remove function that no longer can be used.  We should figure out if we want 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

17 years agoVarious fixes for the CPU models to support the features that have been moved to...
Kevin Lim [Thu, 29 Jun 2006 23:45:24 +0000 (19:45 -0400)]
Various fixes for the CPU models to support the features that have been 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

17 years agoAdd in support for quiescing the system, taking checkpoints, restoring from checkpoin...
Kevin Lim [Thu, 29 Jun 2006 23:40:12 +0000 (19:40 -0400)]
Add in support for quiescing the system, taking checkpoints, restoring from 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

17 years agoUpdate the readme to point people to m5.eecs.umich.edu
Ali Saidi [Thu, 29 Jun 2006 20:52:47 +0000 (16:52 -0400)]
Update the readme to point people to m5.eecs.umich.edu
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

17 years agoStill missing prefetch and tags directories as well as cache builder.
Ron Dreslinski [Thu, 29 Jun 2006 20:07:19 +0000 (16:07 -0400)]
Still missing prefetch and tags directories as well as cache builder.
Some implementation details were left blank still, need to fill them in.

src/SConscript:
    Reorder build to compile all files first
src/mem/cache/cache.hh:
src/mem/cache/cache_builder.cc:
src/mem/cache/cache_impl.hh:
src/mem/cache/coherence/coherence_protocol.cc:
src/mem/cache/coherence/uni_coherence.cc:
src/mem/cache/coherence/uni_coherence.hh:
src/mem/cache/miss/blocking_buffer.cc:
src/mem/cache/miss/miss_queue.cc:
src/mem/cache/miss/mshr.cc:
src/mem/cache/miss/mshr.hh:
src/mem/cache/miss/mshr_queue.cc:
    More changesets pulled, now compiles everything in /miss directory and in the root directory
src/mem/packet.hh:
    Add some more support, need to clean some of it out once everything is working

--HG--
extra : convert_revision : ba73676165810edf2c2effaf5fbad8397d6bd800

17 years agoMore Changes, working towards cache.cc compiling. Headers cleaned up.
Ron Dreslinski [Wed, 28 Jun 2006 21:28:33 +0000 (17:28 -0400)]
More Changes, working towards cache.cc compiling.  Headers cleaned up.

src/mem/cache/cache_blk.hh:
    Remove XC

--HG--
extra : convert_revision : aa2c43e4412ebb93165e12f693d5126983cfd0dc

17 years agoBacking in more changsets, getting closer to compile
Ron Dreslinski [Wed, 28 Jun 2006 18:35:00 +0000 (14:35 -0400)]
Backing in more changsets, getting closer to compile
base_cache.cc compiles, continuing on

src/SConscript:
    Add in compilation flags for cache files
src/mem/cache/base_cache.cc:
src/mem/cache/base_cache.hh:
    Back in more fixes, now base_cache compiles
src/mem/cache/cache.hh:
src/mem/cache/cache_blk.hh:
src/mem/cache/cache_impl.hh:
src/mem/cache/coherence/coherence_protocol.cc:
src/mem/cache/miss/blocking_buffer.cc:
src/mem/cache/miss/blocking_buffer.hh:
src/mem/cache/miss/miss_queue.cc:
src/mem/cache/miss/miss_queue.hh:
src/mem/cache/miss/mshr.cc:
src/mem/cache/miss/mshr.hh:
src/mem/cache/miss/mshr_queue.cc:
src/mem/cache/miss/mshr_queue.hh:
src/mem/cache/prefetch/base_prefetcher.cc:
src/mem/cache/tags/fa_lru.cc:
src/mem/cache/tags/iic.cc:
src/mem/cache/tags/lru.cc:
src/mem/cache/tags/split_lifo.cc:
src/mem/cache/tags/split_lru.cc:
src/mem/packet.cc:
src/mem/packet.hh:
src/mem/request.hh:
    Backing in more changsets, getting closer to compile

--HG--
extra : convert_revision : ac2dcda39f8d27baffc4db1df17b9a1fcce5b6ed

17 years agoWas having difficulty with merging the cache, reverted to an early version and will...
Ron Dreslinski [Wed, 28 Jun 2006 15:02:14 +0000 (11:02 -0400)]
Was having difficulty with merging the cache, reverted to an early version and will add back in the patches to make it work soon.

src/mem/cache/prefetch/tagged_prefetcher_impl.hh:
    Trying to merge
src/mem/cache/base_cache.cc:
src/mem/cache/base_cache.hh:
src/mem/cache/cache.cc:
src/mem/cache/cache.hh:
src/mem/cache/cache_blk.hh:
src/mem/cache/cache_builder.cc:
src/mem/cache/cache_impl.hh:
src/mem/cache/coherence/coherence_protocol.cc:
src/mem/cache/coherence/coherence_protocol.hh:
src/mem/cache/coherence/simple_coherence.hh:
src/mem/cache/coherence/uni_coherence.cc:
src/mem/cache/coherence/uni_coherence.hh:
src/mem/cache/miss/blocking_buffer.cc:
src/mem/cache/miss/blocking_buffer.hh:
src/mem/cache/miss/miss_queue.cc:
src/mem/cache/miss/miss_queue.hh:
src/mem/cache/miss/mshr.cc:
src/mem/cache/miss/mshr.hh:
src/mem/cache/miss/mshr_queue.cc:
src/mem/cache/miss/mshr_queue.hh:
src/mem/cache/prefetch/base_prefetcher.cc:
src/mem/cache/prefetch/base_prefetcher.hh:
src/mem/cache/prefetch/ghb_prefetcher.cc:
src/mem/cache/prefetch/ghb_prefetcher.hh:
src/mem/cache/prefetch/stride_prefetcher.cc:
src/mem/cache/prefetch/stride_prefetcher.hh:
src/mem/cache/prefetch/tagged_prefetcher.hh:
src/mem/cache/tags/base_tags.cc:
src/mem/cache/tags/base_tags.hh:
src/mem/cache/tags/fa_lru.cc:
src/mem/cache/tags/fa_lru.hh:
src/mem/cache/tags/iic.cc:
src/mem/cache/tags/iic.hh:
src/mem/cache/tags/lru.cc:
src/mem/cache/tags/lru.hh:
src/mem/cache/tags/repl/gen.cc:
src/mem/cache/tags/repl/gen.hh:
src/mem/cache/tags/repl/repl.cc:
src/mem/cache/tags/repl/repl.hh:
src/mem/cache/tags/split.cc:
src/mem/cache/tags/split.hh:
src/mem/cache/tags/split_blk.hh:
src/mem/cache/tags/split_lifo.cc:
src/mem/cache/tags/split_lifo.hh:
src/mem/cache/tags/split_lru.cc:
src/mem/cache/tags/split_lru.hh:
    Pulling an early version of the cache into the tree due to merging issues.  Will apply patches and push.

--HG--
extra : convert_revision : 3276e5fb9a6272681a1690babf2b586dd0e1f380

17 years agochange the page table from map to hash_map and create small cache to to speed up...
Ali Saidi [Tue, 27 Jun 2006 19:04:11 +0000 (15:04 -0400)]
change the page table from map to hash_map and create small cache to to speed up lookups

--HG--
extra : convert_revision : 4c73ed33c2a22ae3254b459b0fd189e6ac9d438e

17 years agoMake full CPU handle SE faults
Ali Saidi [Tue, 27 Jun 2006 18:59:38 +0000 (14:59 -0400)]
Make full CPU handle SE faults

--HG--
extra : convert_revision : e336623ac3329ec0ee2430548c6a9650e2a69d6a

17 years agoAdd help strings for options
Ali Saidi [Tue, 27 Jun 2006 18:58:46 +0000 (14:58 -0400)]
Add help strings for options

--HG--
extra : convert_revision : ebbafaf00c56a4d2ee65eea08a12d276f279135d

17 years agoFix import command.
Kevin Lim [Tue, 27 Jun 2006 17:57:44 +0000 (13:57 -0400)]
Fix import command.

--HG--
extra : convert_revision : 8a87b23dba77b7661583029920b8fc5ea89fe8f6

18 years agoMerge zizzer:/bk/newmem
Ali Saidi [Mon, 26 Jun 2006 21:50:58 +0000 (17:50 -0400)]
Merge zizzer:/bk/newmem
into  zeep.eecs.umich.edu:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 39c99c8acadd43f3ec42ae7550289a5075d910e4

18 years agodon't depend on the memory system to return the atomic cpu a multiple of cpu cycles.
Ali Saidi [Mon, 26 Jun 2006 21:50:48 +0000 (17:50 -0400)]
don't depend on the memory system to return the atomic cpu a multiple of cpu cycles.

--HG--
extra : convert_revision : e5eb36f14c8394381a0269fefd34a178833c8346

18 years agoremove extern "C" from the functions we all from gdb. This isn't requried and trips...
Ali Saidi [Mon, 26 Jun 2006 21:49:49 +0000 (17:49 -0400)]
remove extern "C" from the functions we all from gdb. This isn't requried and trips up GDB sometimes when i thinks the extern
name should be mangled, but it isn't

--HG--
extra : convert_revision : 62e2a1989e8fd3d73958d3a3e2d00e378488e642

18 years agoadd python options for input file and command line options for live process
Ali Saidi [Mon, 26 Jun 2006 20:50:19 +0000 (16:50 -0400)]
add python options for input file and command line options for live process

--HG--
extra : convert_revision : 3db1e6d29846812378aa5174179a0686f0141580

18 years agoadd syscall emulation page table fault so we can allocate more stack pages
Ali Saidi [Mon, 26 Jun 2006 20:49:05 +0000 (16:49 -0400)]
add syscall emulation page table fault so we can allocate more stack pages

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

18 years agoAllow ports to be created without a name.
Kevin Lim [Sun, 25 Jun 2006 04:24:50 +0000 (00:24 -0400)]
Allow ports to be created without a name.

--HG--
extra : convert_revision : 26dad6853feaf4f68907aab902c54259281cac1c

18 years agoMake OzoneCPU work again in SE/FS.
Kevin Lim [Sun, 25 Jun 2006 04:22:41 +0000 (00:22 -0400)]
Make OzoneCPU work again in SE/FS.

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

18 years agoChecker related updates.
Kevin Lim [Fri, 23 Jun 2006 03:43:45 +0000 (23:43 -0400)]
Checker related updates.

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

18 years agoDelete old unused files in the Ozone directory.
Kevin Lim [Fri, 23 Jun 2006 03:34:37 +0000 (23:34 -0400)]
Delete old unused files in the Ozone directory.

--HG--
extra : convert_revision : 8f417b566e772d7a26d91fb66ff3d4484bd35c42

18 years agoChanges to get OzoneCPU to compile once more.
Kevin Lim [Fri, 23 Jun 2006 03:33:26 +0000 (23:33 -0400)]
Changes to get OzoneCPU to compile once more.
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

18 years agoChange ThreadState constructor ordering to match the rest of the ThreadStates.
Kevin Lim [Thu, 22 Jun 2006 22:10:17 +0000 (18:10 -0400)]
Change ThreadState constructor ordering to match the rest of the ThreadStates.

--HG--
extra : convert_revision : 63d98aa8b6a694c285d95a2a57e1b3aaef4cee3b

18 years agoMisc fixes.
Kevin Lim [Thu, 22 Jun 2006 22:09:31 +0000 (18:09 -0400)]
Misc fixes.

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

18 years agoSplit Checker up properly into templated and non-templated definitions.
Kevin Lim [Thu, 22 Jun 2006 22:05:12 +0000 (18:05 -0400)]
Split Checker up properly into templated and non-templated definitions.

--HG--
extra : convert_revision : 3ead18e42f4a536f2f868da07cb81a8940a7fa2f

18 years agoFix to have the static inst exec sigs also dependent on the CPU models used.
Kevin Lim [Thu, 22 Jun 2006 22:03:08 +0000 (18:03 -0400)]
Fix to have the static inst exec sigs also dependent on the CPU models used.

--HG--
extra : convert_revision : 65d978d638dd9a57a641ca52adcf2c0ef48edf1c

18 years agouse 'tick' instead of 'cycle'
Korey Sewell [Sun, 18 Jun 2006 19:58:14 +0000 (15:58 -0400)]
use 'tick' instead of 'cycle'

--HG--
extra : convert_revision : e7119d20ef95deab16081743c885979b0fa85548

18 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Steve Reinhardt [Sun, 18 Jun 2006 16:31:24 +0000 (12:31 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  tpx31.:C:/cygwin/home/stever/bk/newmem

--HG--
extra : convert_revision : c13feaea77fe650a3d11112804a88bc5c729c32e

18 years agoPut sconsign in bulid dir.
Steve Reinhardt [Sun, 18 Jun 2006 16:30:24 +0000 (12:30 -0400)]
Put sconsign in bulid dir.

--HG--
extra : convert_revision : e1be318e99037842501306e7c35cf4d6690ebdce

18 years agoMerge zizzer:/bk/newmem
Ali Saidi [Sun, 18 Jun 2006 15:10:19 +0000 (11:10 -0400)]
Merge zizzer:/bk/newmem
into  zeep.eecs.umich.edu:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 1b2352532b6e1d1e180f3debd66588a450a46923

18 years agominor device fixups
Ali Saidi [Sun, 18 Jun 2006 15:10:08 +0000 (11:10 -0400)]
minor device fixups

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

18 years agoMinor updates.
Kevin Lim [Sun, 18 Jun 2006 02:55:00 +0000 (22:55 -0400)]
Minor updates.

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

18 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Sun, 18 Jun 2006 02:33:40 +0000 (22:33 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge

--HG--
extra : convert_revision : a11200523e2cf7f69547b1a4f5622396caa511be

18 years agoDelete old doxygen docs... now on wiki.
Steve Reinhardt [Sun, 18 Jun 2006 02:28:40 +0000 (22:28 -0400)]
Delete old doxygen docs... now on wiki.
Update release scripts for new tree structure.

--HG--
extra : convert_revision : 35603f5476abd296625f777718c1245593a5dfc4

18 years agoMerge ktlim@zizzer:/bk/newmem
Kevin Lim [Sun, 18 Jun 2006 02:05:02 +0000 (22:05 -0400)]
Merge ktlim@zizzer:/bk/newmem
into  zamp.eecs.umich.edu:/z/ktlim2/clean/newmem-merge

--HG--
extra : convert_revision : 037fe9ee54da7e11c2bd07388b9f79cda9abef4c

18 years agoChange options back to just being flags instead of taking in a True/False value.
Kevin Lim [Sun, 18 Jun 2006 02:04:48 +0000 (22:04 -0400)]
Change options back to just being flags instead of taking in a True/False value.

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

18 years agoFix up code to be able to use the Checker.
Kevin Lim [Sun, 18 Jun 2006 02:01:30 +0000 (22:01 -0400)]
Fix up code to be able to use the Checker.

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

18 years agoSplit off instantiation into separate CC files for each of the models. This makes...
Kevin Lim [Sun, 18 Jun 2006 01:39:25 +0000 (21:39 -0400)]
Split off instantiation into separate CC files for each of the models.  This 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

18 years agoinclude misc.hh for panic
Nathan Binkert [Sat, 17 Jun 2006 23:18:53 +0000 (19:18 -0400)]
include misc.hh for panic

--HG--
extra : convert_revision : 05e59f45b98e862f9d61bec223871b314eb2195e

18 years agoadd mac os x fast byte swap code
Ali Saidi [Sat, 17 Jun 2006 23:06:28 +0000 (19:06 -0400)]
add mac os x fast byte swap code

--HG--
extra : convert_revision : 591e5adbf86feb894fceea982b9303da70a41955

18 years agoMerge zizzer:/bk/newmem
Ali Saidi [Sat, 17 Jun 2006 22:44:42 +0000 (18:44 -0400)]
Merge zizzer:/bk/newmem
into  zeep.eecs.umich.edu:/z/saidi/work/m5.newmem

--HG--
extra : convert_revision : 9b628a0ee157657ac76c3a9455108d033c125822

18 years agominor header cleanups
Ali Saidi [Sat, 17 Jun 2006 22:40:40 +0000 (18:40 -0400)]
minor header cleanups

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

18 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
Steve Reinhardt [Sat, 17 Jun 2006 22:28:21 +0000 (18:28 -0400)]
Merge zizzer.eecs.umich.edu:/bk/newmem
into  tpx31.:C:/cygwin/home/stever/bk/newmem

--HG--
extra : convert_revision : 81affa14d8d900ccd3d1c44cb160eaecfb8599d1

18 years agoFixes to compile under Cygwin.
Steve Reinhardt [Sat, 17 Jun 2006 22:27:28 +0000 (18:27 -0400)]
Fixes to compile under Cygwin.

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

18 years agoMake the system paths more configurable
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

18 years agoMerge zizzer.eecs.umich.edu:/bk/newmem
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

18 years agoremove byte_swap.hh since it's not used
Ali Saidi [Sat, 17 Jun 2006 21:56:33 +0000 (17:56 -0400)]
remove byte_swap.hh since it's not used

--HG--
extra : convert_revision : 20120d34ad2ab28d9dd5ac2907b974c40e511e9e

18 years agoremove profile.cc
Ali Saidi [Sat, 17 Jun 2006 21:50:11 +0000 (17:50 -0400)]
remove profile.cc

--HG--
extra : convert_revision : ac400789ee0cbd1cd01c28ffd149789dbd954613

18 years agoAdd myself to list of authors
Nathan Binkert [Sat, 17 Jun 2006 21:49:38 +0000 (17:49 -0400)]
Add myself to list of authors

--HG--
extra : convert_revision : 0c9a892127476d586fb8bff1b0eb7342c6b1f166

18 years agoMerge zizzer:/bk/newmem
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

18 years agoRename SWIG "main" module to "cc_main" so it's
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

18 years agoAdd --outdir option. Didn't call it "-d" since
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

18 years agoMinor fixes in comments.
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

18 years agoAdd in some of the commonly used Trace/ExeTrace/Debug options.
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

18 years agoUpdate this with the same option as single_fs.py
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

18 years agoMerge ktlim@zizzer:/bk/newmem
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

18 years agoReorganization to move FuncUnit, FUDesc, and OpDesc out of the encumbered directory...
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

18 years agoAdd in exec_context.hh, which is a file for documentation purposes only. It describe...
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

18 years agoMiscellaneous minor fixes.
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

18 years agoTwo updates that got combined into one ChangeSet accidentally. They're both pretty...
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

18 years agoChecker updates.
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

18 years agoInitial changes to allowed DetailedCPU to work with other architectures (i.e. Sparc...
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

18 years agoMerge zizzer:/bk/newmem
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

18 years agoMerge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/newmem
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

18 years agoGet Port stuff working with full-system scripts.
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

18 years agoMips Code Cleanup:
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

18 years agotried to undo change and it didnt work so might as well put it back
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

18 years agochange back, BK is acting up
Korey Sewell [Wed, 14 Jun 2006 23:53:36 +0000 (19:53 -0400)]
change back, BK is acting up

--HG--
extra : convert_revision : 11fd5ebbca0408b357e9186d1b3722eb571e874e

18 years agoadd cycle to exit message
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

18 years ago-luxc1 fix
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

18 years agoadd a comment that should be able to pass --help after config file
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

18 years agoMerge zizzer:/bk/newmem
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

18 years agoMinor code cleanup of BaseDynInst.
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

18 years agoMerge zizzer:/bk/newmem
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

18 years agoMove SimObject creation and Port connection loops
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

18 years agoMerge ktlim@zizzer:/bk/newmem
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

18 years agoAdd in a few global options. Feel free to rename them, they're just the first thing...
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

18 years agoMinor updates for stats.
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

18 years agoallow long opts to m5 and add a help flag back.
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

18 years agoMake syscalls serialize after instructions so they work properly on the new CPU model.
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

18 years agoAdd itb and dtb to checker when in full system mode.
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

18 years agoAdd in DetailedCPU to test.
Kevin Lim [Tue, 13 Jun 2006 18:15:24 +0000 (14:15 -0400)]
Add in DetailedCPU to test.

--HG--
extra : convert_revision : 98c67b45af239e1cf5bad6888da6577a4c3bb45d

18 years agoMerge zizzer:/bk/newmem
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