Kevin Lim [Thu, 1 Jun 2006 19:40:06 +0000 (15:40 -0400)]
Add in comments for checker.
--HG--
extra : convert_revision :
8921907af0f18313bc66ad2a584fc182526fe1a2
Kevin Lim [Thu, 1 Jun 2006 19:39:45 +0000 (15:39 -0400)]
Fix stat bug.
--HG--
extra : convert_revision :
3e4df934478de1ef6a84f193d9ef722157ac6baf
Kevin Lim [Wed, 31 May 2006 15:45:02 +0000 (11:45 -0400)]
Comments and code cleanup.
cpu/activity.cc:
cpu/activity.hh:
cpu/o3/alpha_cpu.hh:
Updates to include comments.
cpu/base_dyn_inst.cc:
Remove call to thread->misspeculating(), as it's never actually misspeculating.
--HG--
extra : convert_revision :
86574d684770fac9b480475acca048ea418cdac3
Kevin Lim [Thu, 25 May 2006 21:56:23 +0000 (17:56 -0400)]
Merge ktlim@zamp:/z/ktlim2/clean/m5-merge
into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-o3
--HG--
extra : convert_revision :
d3381ee4907c2b6f1747c4496c980e34913e81e7
Kevin Lim [Thu, 25 May 2006 21:56:01 +0000 (17:56 -0400)]
Fix stat typo.
--HG--
extra : convert_revision :
f23d8c50f586fb8f25d4ce992730213f0c301b0f
Kevin Lim [Thu, 25 May 2006 21:13:00 +0000 (17:13 -0400)]
Missed this file in last check in.
--HG--
extra : convert_revision :
6c42350fc3cebb5cf4a6da8ea0c51cca15b3f99f
Kevin Lim [Thu, 25 May 2006 21:01:48 +0000 (17:01 -0400)]
Various branch predictor fixes/cleanup. It works more correctly now and supports both local and tournament predictors.
cpu/o3/2bit_local_pred.cc:
Branch predictor cleanup/fixup. Rename this to LocalBP.
cpu/o3/2bit_local_pred.hh:
Rename to LocalBP, update to support changes to BPredUnit, include comments.
cpu/o3/alpha_cpu_builder.cc:
Support extra parameters to the branch predictor. Now it takes in a parameter to tell it which branch predictor it is using, the local or the tournament predictor.
cpu/o3/alpha_params.hh:
Add in extra parameter for the branch predictor type.
cpu/o3/bpred_unit.cc:
Branch predictor fixup/cleanup. Rename it to BPredUnit.
cpu/o3/bpred_unit.hh:
Branch predictor fixup/cleanup. Now supports both the local and tournament predictors, and stores the branch predictor update state.
cpu/o3/bpred_unit_impl.hh:
Branch predictor overhaul. Now supports both the local and tournament predictors.
cpu/o3/cpu_policy.hh:
cpu/ozone/ozone_impl.hh:
cpu/ozone/simple_impl.hh:
Reflect the class name change.
cpu/o3/decode_impl.hh:
Be sure to set the predicted target as well so we don't squash twice.
cpu/o3/tournament_pred.cc:
cpu/o3/tournament_pred.hh:
Fixes to the tournament predictor.
cpu/ozone/simple_params.hh:
Include parameter for the branch predictor type.
python/m5/objects/AlphaFullCPU.py:
python/m5/objects/OzoneCPU.py:
Include the parameter for the branch predictor type.
--HG--
extra : convert_revision :
34afebb3b40b47accb12558e439ee4cb03df5e64
Kevin Lim [Thu, 25 May 2006 18:41:36 +0000 (14:41 -0400)]
Fix minor memory leak.
--HG--
extra : convert_revision :
aa222dd95d833b16b0f474ec156bd6955c2c54c6
Kevin Lim [Thu, 25 May 2006 15:50:42 +0000 (11:50 -0400)]
Fix up kernel stats, allow them to not be used as well.
arch/alpha/ev5.cc:
Fix up some stuff I missed in the last kernel stats checkin.
cpu/checker/cpu.cc:
Allow the checker to disable its kernel stats.
cpu/cpu_exec_context.cc:
Allow CPUExecContext to be created without kernelStats.
cpu/cpu_exec_context.hh:
Allow CPUExecContext to be created without kernelStats. Default usage leaves kernelStats on.
--HG--
extra : convert_revision :
8ed5bffd3a5b6275baa07fb4ea385eeab1a0456a
Kevin Lim [Wed, 24 May 2006 18:31:06 +0000 (14:31 -0400)]
Support new flags now used instead of flags in decoder.isa.
cpu/ozone/front_end_impl.hh:
cpu/ozone/lw_back_end_impl.hh:
cpu/ozone/lw_lsq_impl.hh:
Support new flags added in.
--HG--
extra : convert_revision :
2e756fd1913cf600650afc39dd715d59b9b89c42
Kevin Lim [Tue, 23 May 2006 22:19:04 +0000 (18:19 -0400)]
Merge ktlim@zizzer:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-o3
--HG--
extra : convert_revision :
804302a5edb9d908808861f7f54a4f3cbb22830c
Kevin Lim [Tue, 23 May 2006 22:18:16 +0000 (18:18 -0400)]
Updates to isa parser to make it see dependencies properly with the new scanner.
arch/alpha/isa/main.isa:
Use automatic path includes thanks to updates to isa parser.
arch/isa_parser.py:
Pull changes to isa parser from newmem into m5. This fixes a bug where the files include in main.isa were not being included as dependencies properly.
--HG--
extra : convert_revision :
8ef1e2e1a64e7a5762baf7a09abc8665d7c2f688
Kevin Lim [Tue, 23 May 2006 21:04:25 +0000 (17:04 -0400)]
Merge ktlim@zizzer:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-o3
--HG--
extra : convert_revision :
0a6140f3f5e7c454981c5aa2b221224f076e50eb
Kevin Lim [Tue, 23 May 2006 21:03:43 +0000 (17:03 -0400)]
Rework how instructions are scheduled and executed.
The "execute" portion of IEW is really just the last cycle of execution, at which point execute() gets called. Execution begins inside the IQ, when it schedules FUs for specific instructions. As a result, the Execute stage should just pull all completing instructions out of the IQ stage and execute them.
Limiting the number of writebacks outstanding must still be done.
cpu/o3/iew_impl.hh:
Rework how instructions are scheduled and executed. There shouldn't be a specific "width" from issue to execute because issue does the scheduling of the functional units (really the beginning of the execution).
cpu/o3/inst_queue.hh:
cpu/o3/inst_queue_impl.hh:
Rework how instructions are scheduled and executed.
--HG--
extra : convert_revision :
bbf1a8a4c0a2f2a938bdd78d74493048fd3b4b55
Kevin Lim [Tue, 23 May 2006 20:59:13 +0000 (16:59 -0400)]
Cleanup checker.
cpu/checker/cpu.cc:
Cleanup checker, give more useful warning messages.
Also fix bug
cpu/checker/cpu.hh:
Cleanup checker, use forward declaration instead of include.
--HG--
extra : convert_revision :
8f231199a0a75788218320cdbcc7f70441e5d574
Kevin Lim [Tue, 23 May 2006 20:57:14 +0000 (16:57 -0400)]
Code cleanup.
cpu/base_dyn_inst.hh:
Code cleanup
--HG--
extra : convert_revision :
501c03f8e4346ffbcb545ddeee30c1f8ded9baa7
Kevin Lim [Tue, 23 May 2006 20:51:16 +0000 (16:51 -0400)]
Move kernel stats out of CPU and into XC.
arch/alpha/ev5.cc:
Move kernel stats out of CPU and into XC. Also be sure to check if the kernel stats exist prior to using them.
--HG--
extra : convert_revision :
565cd7026410fd7d8586f953d9b328c2e67a9473
Kevin Lim [Tue, 23 May 2006 18:38:16 +0000 (14:38 -0400)]
Add extra flags to help new CPU handle various instructions.
IsIprAccess flag may go away in the future (op class can be used to tell this), and the CPU still needs a specific way to identify/deal with syscalls.
arch/alpha/isa/decoder.isa:
Added a few extra flags to help the new CPU identify various classes of instructions without having to force certain behaviors for all CPUs.
cpu/base_dyn_inst.hh:
cpu/static_inst.hh:
Added extra flags.
cpu/o3/iew_impl.hh:
cpu/o3/inst_queue_impl.hh:
Handle store conditionals specially.
cpu/o3/lsq_unit_impl.hh:
Extra flags tells if the instruction is a store conditional.
cpu/o3/rename_impl.hh:
Handle IPR accesses and store conditionals specially.
--HG--
extra : convert_revision :
39debec4fa5341ae8a8ab5650bd12730aeb6c04f
Kevin Lim [Mon, 22 May 2006 20:01:25 +0000 (16:01 -0400)]
Undo changes to instruction flags that has caused statistics to change in regressions.
This temporarily will break the O3 and Ozone CPU models. Updates to fix them will be coming soon.
arch/alpha/isa/decoder.isa:
Undo changes to instruction flags that has caused statistics to change in regressions.
--HG--
extra : convert_revision :
c0fa9d55a22cae7c4f02d388870565b205d6fba3
Kevin Lim [Sun, 21 May 2006 05:55:58 +0000 (01:55 -0400)]
Threads start off in suspended status now (Korey's changes for SMT).
--HG--
extra : convert_revision :
ad726f9f258e1983d2af5057ff6e5f9d2a5dd072
Kevin Lim [Fri, 19 May 2006 19:53:17 +0000 (15:53 -0400)]
O3 code update/cleanup.
cpu/o3/commit_impl.hh:
O3 code update/cleanup. Fetch fault code no longer needed (see previous checkin).
--HG--
extra : convert_revision :
f602e7f978e19b8900dce482f38f9c7a195e94da
Kevin Lim [Fri, 19 May 2006 19:47:55 +0000 (15:47 -0400)]
Remove sat_counter.cc and put its code into sat_counter.hh.
cpu/SConscript:
Remove sat_counter.cc and push its functions into the .hh file (all functions were 3 or less lines).
cpu/o3/sat_counter.hh:
Incorporate .cc code into this file.
--HG--
extra : convert_revision :
d75b1319292b00b00af1ce377cc0215fd06e6916
Kevin Lim [Fri, 19 May 2006 19:45:06 +0000 (15:45 -0400)]
Rename function to be more expressive.
--HG--
extra : convert_revision :
0c01b6d5309e2d09f03631740c9b0c8619ea26c4
Kevin Lim [Fri, 19 May 2006 19:44:03 +0000 (15:44 -0400)]
IEW/IQ code cleanup and reorganization.
Dependecy graph code moved into its own class.
This requires the changes to the functional units, which is in the next check in.
cpu/o3/iew.hh:
cpu/o3/iew_impl.hh:
IEW and IQ code cleanup and reorganization.
cpu/o3/inst_queue.cc:
Dependency graph code moved into its own class now.
cpu/o3/inst_queue.hh:
IEW/IQ code cleanup and reorganization.
Dependecy graph code moved into its own class.
cpu/o3/inst_queue_impl.hh:
IEW/IQ code cleanup and reorganization.
Dependecy graph code moved into its own class.
Issue loop cleaned up, with completion events for functional units now used more correctly (before they weren't used for multi-cycle ops with pipelined FU's).
--HG--
extra : convert_revision :
35e50192df6f71dc81d46a73fdd65f7ec07c10e4
Kevin Lim [Fri, 19 May 2006 19:37:52 +0000 (15:37 -0400)]
Move activity tracking code into its own class. Now the CPU no longer has to keep track of the activity tracking internals; it just calls advance() on the class and uses it to tell if it should deschedule itself.
SConscript:
Split off activity/idling code into its own class to do the processing separately.
cpu/o3/alpha_cpu_builder.cc:
cpu/o3/alpha_params.hh:
Activity stuff. This is mostly for debugging and may be removed later on (or changed to enable/disable activity idling).
cpu/o3/cpu.cc:
Move activity idling stuff mostly into its own class, so it no longer clutters this file.
cpu/o3/cpu.hh:
Move activity idling stuff into its own class.
python/m5/objects/AlphaFullCPU.py:
Add parameter for initial activity value.
--HG--
extra : convert_revision :
f32f7cc03895dc07ab57ddba78c5402a1a8b0f1a
Kevin Lim [Fri, 19 May 2006 18:27:46 +0000 (14:27 -0400)]
Fixes for regression build errors.
--HG--
extra : convert_revision :
1f59c853cb0e327d7cf586021b5139f1242e4f28
Kevin Lim [Wed, 17 May 2006 18:25:10 +0000 (14:25 -0400)]
Faults generated at fetch are passed to the backend by creating a dummy nop instruction and giving it the fault. This unifies front end faults and normal instruction faults.
cpu/checker/cpu.cc:
Fixups for fetch fault being sent with the instruction.
cpu/o3/fetch_impl.hh:
cpu/ozone/front_end_impl.hh:
Send any faults generated at fetch along with a fake nop instruction to the back end. This avoids having to use direct communication to check if the entire front end has drained; it is naturally handled through the nop's fault being handled when it reaches the head of commit.
cpu/ozone/front_end.hh:
Add extra status TrapPending.
cpu/ozone/lw_back_end_impl.hh:
Fetch fault handled through a dummy nop carrying the fetch fault.
Avoid putting Nops on the exeList.
--HG--
extra : convert_revision :
8d9899748b34c204763a49c48a9b5113864f5789
Steve Reinhardt [Wed, 17 May 2006 11:05:27 +0000 (07:05 -0400)]
Backport ISA scanner fix from newmem to work with
scons 0.96.9* versions.
arch/SConscript:
Backport ISA scanner fix from newmem.
--HG--
extra : convert_revision :
96be75660f85900fd26badef36fb4109b36d8394
Kevin Lim [Tue, 16 May 2006 19:30:36 +0000 (15:30 -0400)]
Merge ktlim@zamp:/z/ktlim2/clean/m5-o3
into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-merge
--HG--
extra : convert_revision :
077a04edf0e3e4d735e88c9741d6742666e97de6
Kevin Lim [Tue, 16 May 2006 19:25:46 +0000 (15:25 -0400)]
Update configuration files.
--HG--
extra : convert_revision :
f733bc68758d95987dfc481d48a4623c23b16ede
Kevin Lim [Tue, 16 May 2006 19:09:06 +0000 (15:09 -0400)]
Merge ktlim@zizzer:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/clean/m5-merge
--HG--
extra : convert_revision :
182df443376e5561d46f323d36089a2a49dc2024
Kevin Lim [Tue, 16 May 2006 18:47:09 +0000 (14:47 -0400)]
Include checker and trap latency parameters.
--HG--
extra : convert_revision :
148c59f430874e8425952db6960ca4f5e57e2a42
Kevin Lim [Tue, 16 May 2006 18:09:04 +0000 (14:09 -0400)]
Sampler updates.
cpu/ozone/cpu.hh:
Updates for sampler.
cpu/ozone/cpu_impl.hh:
Updates for sampler, checker.
cpu/ozone/inorder_back_end.hh:
Sampler updates. Also support old memory system.
--HG--
extra : convert_revision :
33ebe38e4c08d49c6af84032b819533b784b4fe8
Kevin Lim [Tue, 16 May 2006 18:06:35 +0000 (14:06 -0400)]
Updates for sampler, checker, and general correctness.
cpu/o3/alpha_cpu.hh:
Update for sampler to work properly. Also code cleanup.
cpu/o3/alpha_cpu_builder.cc:
cpu/o3/alpha_dyn_inst.hh:
Updates to support the checker.
cpu/o3/alpha_cpu_impl.hh:
Updates to support the checker. Also general code cleanup.
cpu/o3/alpha_dyn_inst_impl.hh:
Code cleanup.
cpu/o3/alpha_params.hh:
Updates to support the checker. Also supports trap latencies set through the parameters.
cpu/o3/commit.hh:
Supports sampler, checker. Code cleanup.
cpu/o3/commit_impl.hh:
Updates to support the sampler and checker, as well as general code cleanup.
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
Support sampler and checker.
cpu/o3/decode_impl.hh:
Supports sampler.
cpu/o3/fetch.hh:
Supports sampler. Also update to hold the youngest valid SN fetch has seen to ensure that the entire pipeline has been drained.
cpu/o3/fetch_impl.hh:
Sampler updates. Also be sure to not fetches to uncached space (bad path).
cpu/o3/iew.hh:
cpu/o3/iew_impl.hh:
Sampler updates.
cpu/o3/lsq_unit_impl.hh:
Supports checker.
cpu/o3/regfile.hh:
No need for accessing xcProxies directly.
cpu/o3/rename.hh:
cpu/o3/rename_impl.hh:
Sampler support.
--HG--
extra : convert_revision :
03881885dd50ebbca13ef31f31492fd4ef59121c
Kevin Lim [Tue, 16 May 2006 17:59:29 +0000 (13:59 -0400)]
Add in checker. Supports dynamically verifying the execution of instructions, as well as limited amount of control path verification. It will verify anything within the program, but anything external (traps, interrupts, XC) it assumes is redirected properly by the CPU. Similarly it assumes the results of store conditionals, uncached loads, and instructions marked as "unverifiable" are correct from the CPU.
base/traceflags.py:
build/SConstruct:
cpu/SConscript:
cpu/cpu_models.py:
Add in Checker.
cpu/base.cc:
Add in checker support. Also XC status starts off as suspended.
cpu/base.hh:
Add in checker.
--HG--
extra : convert_revision :
091b5cc83e837858adb681ef0137a0beb30bd1b2
Kevin Lim [Tue, 16 May 2006 17:52:03 +0000 (13:52 -0400)]
Sampler updates.
--HG--
extra : convert_revision :
9f88846d3e91ba725e1c2e0107568ba0f21f4638
Kevin Lim [Tue, 16 May 2006 17:51:18 +0000 (13:51 -0400)]
Sampling fixes related to the quiesce event.
cpu/cpu_exec_context.cc:
cpu/cpu_exec_context.hh:
Sampling fixes. The CPU models may switch during a quiesce period, so it needs to be sure to wake up the right XC.
cpu/exec_context.hh:
Return the EndQuiesceEvent specifically.
sim/pseudo_inst.cc:
Return the EndQuiesceEvent specifically for sampling.
--HG--
extra : convert_revision :
f9aa1fc8d4db8058f05319cb6a3d4605ce93b4c8
Kevin Lim [Tue, 16 May 2006 17:48:05 +0000 (13:48 -0400)]
Add some flags for the upcoming checker.
arch/alpha/isa/decoder.isa:
Mark store conditionals as serializing. This is slightly higher over head than they truly have in the 264, but it's close. Normally they block any other instructions from entering the IQ until the IQ is empty. This is higher overhead because it waits until the ROB is empty.
Also mark RPCC as unverifiable. The checker will just grab the value from the instruction and assume it's correct.
cpu/static_inst.hh:
Add unverifiable flag, specifically for the CheckerCPU.
--HG--
extra : convert_revision :
cbc34d1f2f5b07105d31d4bd8f19edae2cf8158e
Ali Saidi [Fri, 12 May 2006 22:51:23 +0000 (18:51 -0400)]
replace /.automount/ with /n/
--HG--
extra : convert_revision :
8b9ad49fa7e2e8863ebaf3f6709fc4fda62f2862
Ali Saidi [Fri, 12 May 2006 21:47:23 +0000 (17:47 -0400)]
fix the checkpoint bug
--HG--
extra : convert_revision :
1ccae3282737d70b14ff86c8647e2e662a42c3bc
Kevin Lim [Thu, 11 May 2006 23:18:36 +0000 (19:18 -0400)]
Fixes for ozone CPU to successfully boot and run linux.
cpu/base_dyn_inst.hh:
Remove snoop function (did not mean to commit it).
cpu/ozone/back_end_impl.hh:
Set instruction as having its result ready, not completed.
cpu/ozone/cpu.hh:
Fixes for store conditionals. Use an additional lock addr list to make sure that the access is valid. I don't know if this is fully necessary, but it gives me a peace of mind (at some performance cost).
Make sure to schedule for cycles(1) and not just 1 cycle in the future as tick = 1ps.
Also support the new Checker.
cpu/ozone/cpu_builder.cc:
Add parameter for maxOutstandingMemOps so it can be set through the config.
Also add in the checker. Right now it's a BaseCPU simobject, but that may change in the future.
cpu/ozone/cpu_impl.hh:
Add support for the checker. For now there's a dynamic cast to convert the simobject passed back from the builder to the proper Checker type. It's ugly, but only happens at startup, and is probably a justified use of dynamic cast.
Support switching out/taking over from other CPUs.
Correct indexing problem for float registers.
cpu/ozone/dyn_inst.hh:
Add ability for instructions to wait on memory instructions in addition to source register instructions. This is needed for memory dependence predictors and memory barriers.
cpu/ozone/dyn_inst_impl.hh:
Support waiting on memory operations.
Use "resultReady" to differentiate an instruction having its registers produced vs being totally completed.
cpu/ozone/front_end.hh:
Support switching out.
Also record if an interrupt is pending.
cpu/ozone/front_end_impl.hh:
Support switching out. Also support stalling the front end if an interrupt is pending.
cpu/ozone/lw_back_end.hh:
Add checker in.
Support switching out.
Support memory barriers.
cpu/ozone/lw_back_end_impl.hh:
Lots of changes to get things to work right.
Faults, traps, interrupts all wait until all stores have written back (important).
Memory barriers are supported, as is the general ability for instructions to be dependent on other memory instructions.
cpu/ozone/lw_lsq.hh:
Support switching out.
Also use store writeback events in all cases, not just dcache misses.
cpu/ozone/lw_lsq_impl.hh:
Support switching out.
Also use store writeback events in all cases, not just dcache misses.
Support the checker CPU. Marks instructions as completed once the functional access is done (which has to be done for the checker to be able to verify results).
cpu/ozone/simple_params.hh:
Add max outstanding mem ops parameter.
python/m5/objects/OzoneCPU.py:
Add max outstanding mem ops, checker.
--HG--
extra : convert_revision :
f4d408e1bb1f25836a097b6abe3856111e950c59
Ali Saidi [Thu, 11 May 2006 21:19:17 +0000 (17:19 -0400)]
make the dma buffer equal to the max dma size
--HG--
extra : convert_revision :
87adee6c2239f67976675c9291dc4fbaa4f67507
Ali Saidi [Thu, 11 May 2006 21:18:19 +0000 (17:18 -0400)]
ide printing to match newmem
--HG--
extra : convert_revision :
ca6665bd93d257a8cf9d43600828ac22998c5810
Ali Saidi [Thu, 11 May 2006 21:17:47 +0000 (17:17 -0400)]
make m5 panic a little more verbose
--HG--
extra : convert_revision :
32f52d829040c06c8a62cab1a7af1ed3b453b6f9
Kevin Lim [Thu, 11 May 2006 19:39:02 +0000 (15:39 -0400)]
Small fixes to O3 model.
cpu/o3/alpha_dyn_inst.hh:
Set the instResult using a function on the base dyn inst.
cpu/o3/bpred_unit_impl.hh:
Don't need to reset the state.
cpu/o3/commit_impl.hh:
Mark instructions as completed.
Wait until all stores are written back to handle a fault.
cpu/o3/cpu.cc:
Clear instruction lists when switching out.
cpu/o3/lsq_unit.hh:
Allow wbEvent to be set externally.
cpu/o3/lsq_unit_impl.hh:
Mark instructions as completed properly. Also use events for writing back stores even if there is a hit in the dcache.
--HG--
extra : convert_revision :
172ad088b75ac31e848a5040633152b5c051444c
Kevin Lim [Thu, 11 May 2006 19:19:48 +0000 (15:19 -0400)]
Set memory properly.
--HG--
extra : convert_revision :
4e6c61d31bf052bb4aabf4bb7a4f0e870b44b771
Kevin Lim [Thu, 11 May 2006 18:12:34 +0000 (14:12 -0400)]
Separate out result being ready and the instruction being complete.
--HG--
extra : convert_revision :
9f17af114bf639f8fb61896e49fa714932c081d7
Kevin Lim [Thu, 4 May 2006 15:36:20 +0000 (11:36 -0400)]
O3 CPU now handles being used with the sampler.
cpu/o3/2bit_local_pred.cc:
cpu/o3/2bit_local_pred.hh:
cpu/o3/bpred_unit.hh:
cpu/o3/bpred_unit_impl.hh:
cpu/o3/btb.cc:
cpu/o3/btb.hh:
cpu/o3/commit.hh:
cpu/o3/commit_impl.hh:
cpu/o3/cpu.cc:
cpu/o3/cpu.hh:
cpu/o3/decode.hh:
cpu/o3/decode_impl.hh:
cpu/o3/fetch.hh:
cpu/o3/fetch_impl.hh:
cpu/o3/fu_pool.cc:
cpu/o3/fu_pool.hh:
cpu/o3/iew.hh:
cpu/o3/iew_impl.hh:
cpu/o3/inst_queue.hh:
cpu/o3/inst_queue_impl.hh:
cpu/o3/lsq.hh:
cpu/o3/lsq_impl.hh:
cpu/o3/lsq_unit.hh:
cpu/o3/lsq_unit_impl.hh:
cpu/o3/mem_dep_unit.hh:
cpu/o3/mem_dep_unit_impl.hh:
cpu/o3/ras.cc:
cpu/o3/ras.hh:
cpu/o3/rename.hh:
cpu/o3/rename_impl.hh:
cpu/o3/rob.hh:
cpu/o3/rob_impl.hh:
cpu/o3/sat_counter.cc:
cpu/o3/sat_counter.hh:
cpu/o3/thread_state.hh:
Handle switching out and taking over. Needs to be able to reset all state.
cpu/o3/alpha_cpu_impl.hh:
Handle taking over from another XC.
--HG--
extra : convert_revision :
b936e826f0f8a18319bfa940ff35097b4192b449
Kevin Lim [Wed, 3 May 2006 19:54:36 +0000 (15:54 -0400)]
Fixes for the sampler.
cpu/simple/cpu.cc:
Sampler fixes. The status may be switched out when calling activate or suspend if there is a switchover during a quiesce.
--HG--
extra : convert_revision :
da026e75dfb86289484cf01c5b1ecd9b03a72bd3
Kevin Lim [Wed, 3 May 2006 19:51:53 +0000 (15:51 -0400)]
XC needs to get memory from the process.
--HG--
extra : convert_revision :
a2c014276824255a896a7e353f919fe81071091e
Nathan Binkert [Tue, 2 May 2006 15:45:42 +0000 (11:45 -0400)]
Fix some of lisa's barchart changes
util/stats/barchart.py:
- there is no self.inner_axes
- don't append an empty value to self.xsubticks, otherwise
subsequent calls will get extra empty ticks
- rotate labels 30 degrees instead of 90 so it looks better
--HG--
extra : convert_revision :
1cbac6d1f92bfc6b2c1e886ad5f9d4c78a2b3820
Nathan Binkert [Wed, 26 Apr 2006 21:52:33 +0000 (17:52 -0400)]
Major update to sinic to support VSINIC better
dev/sinic.cc:
- Size the virtualRegs array based on the configured value
- Add debugging stuff for uniquely identifying vnic usage
- Only count totally unprocessed packets when notifying via RxDone
- Add initial virtual address support
- Fix some bugs in accessing packets out of order to make sure that
busy packets are processed first
- Add fifo watermark stuff
- Make number of vnics, zero/delay copy and watermarks parameters
dev/sinic.hh:
add rxUnique and txUnique to uniquely identify tx and rx VNICs
Create a separate list of Busy VNICs since more than one might
be busy and we want to service those first
Add more watermark stuff and new parameters
dev/sinicreg.hh:
Make the number of virtual nics a read-only parameter
add bits for ZeroCopy/DelayCopy
rename Virtual to Vaddr so it's not ambiguous
Add a flag for TxData/RxData to indicate a virtual address
Report rxfifo status in RxDone
python/m5/objects/Ethernet.py:
add more options for the fifo thresholds
add number of vnics as a parameter
add copy type as a parameter
add virtual addressing as a parameter
--HG--
extra : convert_revision :
850e2433b585d65469d4c5d85ad7ca820db10f4a
Nathan Binkert [Wed, 26 Apr 2006 21:36:06 +0000 (17:36 -0400)]
Bit of formatting for sinicreg.hh
dev/sinicreg.hh:
Formatting
--HG--
extra : convert_revision :
267a63f866342b34d9be680d7aa54c2490fb8fd9
Nathan Binkert [Tue, 25 Apr 2006 14:57:08 +0000 (10:57 -0400)]
more debugging for sinic
dev/sinic.cc:
more debugging
fix assert
--HG--
extra : convert_revision :
11ac750080f1e65415ff3735011c0b830fbcf72f
Nathan Binkert [Tue, 25 Apr 2006 14:40:35 +0000 (10:40 -0400)]
more debugging for sinic
dev/sinic.cc:
better panic messages
better debugging
--HG--
extra : convert_revision :
06a9c6c8365ba1c1e58276ed63f299c6be25f0ba
Nathan Binkert [Tue, 25 Apr 2006 14:20:37 +0000 (10:20 -0400)]
Fix segfault in sinic
dev/sinic.cc:
check that there is a fault before testing the fault type
--HG--
extra : convert_revision :
0cc95ba660655766b779e77d912dbc685cd476a8
Kevin Lim [Mon, 24 Apr 2006 21:40:00 +0000 (17:40 -0400)]
Quiesce stuff.
cpu/ozone/cpu.hh:
Add quiesce stat (not clear how it should be used yet).
cpu/ozone/cpu_impl.hh:
Fix for quiesce.
--HG--
extra : convert_revision :
a1998818e241374ae3f4c3cabbef885dda55c884
Kevin Lim [Mon, 24 Apr 2006 21:11:31 +0000 (17:11 -0400)]
Include option for disabling PC symbols.
cpu/inst_seq.hh:
cpu/o3/cpu.cc:
cpu/ozone/cpu_builder.cc:
cpu/ozone/thread_state.hh:
SE build fixes.
--HG--
extra : convert_revision :
a4df6128533105f849b5469f62d83dffe299b7df
Kevin Lim [Mon, 24 Apr 2006 21:10:06 +0000 (17:10 -0400)]
Updates to Ozone model for quiesce, store conditionals.
--HG--
extra : convert_revision :
72ddd75ad0b5783aca9484e7d178c2915ee8e355
Kevin Lim [Mon, 24 Apr 2006 21:06:00 +0000 (17:06 -0400)]
New stats added to O3 model.
--HG--
extra : convert_revision :
7abb491e89e3e1a331cd19aa05ddce5184abf9e0
Kevin Lim [Mon, 24 Apr 2006 20:59:50 +0000 (16:59 -0400)]
Fixes for ll/sc for the O3 model.
cpu/o3/alpha_cpu.hh:
Store conditionals should not write their data to memory if they failed.
cpu/o3/lsq_unit.hh:
Setup request parameters when they're needed.
--HG--
extra : convert_revision :
d75cd7deda03584b7e25cb567e4d79032cac7118
Kevin Lim [Mon, 24 Apr 2006 20:56:24 +0000 (16:56 -0400)]
Allow the switching on and off of PC symbols for tracing.
--HG--
extra : convert_revision :
a2422e30ace9874ba1be44cd0e1d3024cabbf1ed
Kevin Lim [Mon, 24 Apr 2006 20:55:31 +0000 (16:55 -0400)]
Use dwarf-2 debugging symbols (they work much better).
--HG--
extra : convert_revision :
669e4c32f2bc2c035a4199d6152a638b75a25148
Kevin Lim [Sat, 22 Apr 2006 23:17:05 +0000 (19:17 -0400)]
Include new OzoneCPU files
--HG--
extra : convert_revision :
f8c8751aab62df5d57c6491c5ce9b90b5a176e86
Kevin Lim [Sat, 22 Apr 2006 23:10:39 +0000 (19:10 -0400)]
Updates for OzoneCPU.
cpu/static_inst.hh:
Updates for new CPU, also include a classification of quiesce instructions.
--HG--
extra : convert_revision :
a34cd56da88fe57d7de24674fbb375bbf13f887f
Kevin Lim [Sat, 22 Apr 2006 22:49:52 +0000 (18:49 -0400)]
Remove unnecessary functions.
cpu/exec_context.hh:
Remove functions that shouldn't be accessible to anything outside of the CPU.
--HG--
extra : convert_revision :
9793c3ceb6d5404484bafc7a75d75ed71815d9eb
Kevin Lim [Sat, 22 Apr 2006 22:47:07 +0000 (18:47 -0400)]
Update the python file for the CPU.
--HG--
extra : convert_revision :
be899403d893f5ab6c11ae5a4334c0e36bd6ff61
Kevin Lim [Sat, 22 Apr 2006 22:45:01 +0000 (18:45 -0400)]
Updates for OzoneCPU.
build/SConstruct:
Include Ozone CPU models.
cpu/cpu_models.py:
Include OzoneCPU models.
--HG--
extra : convert_revision :
51a016c216cacd2cc613eed79653026c2edda4b3
Kevin Lim [Sat, 22 Apr 2006 22:26:48 +0000 (18:26 -0400)]
Updates for O3 model.
arch/alpha/isa/decoder.isa:
Make IPR accessing instructions serializing so they are not issued incorrectly in the O3 model.
arch/alpha/isa/pal.isa:
Allow IPR instructions to have flags.
base/traceflags.py:
Include new trace flags from the two new CPU models.
cpu/SConscript:
Create the templates for the split mem accessor methods. Also include the new files from the new models (the Ozone model will be checked in next).
cpu/base_dyn_inst.cc:
cpu/base_dyn_inst.hh:
Update to the BaseDynInst for the new models.
--HG--
extra : convert_revision :
cc82db9c72ec3e29cea4c3fdff74a3843e287a35
Kevin Lim [Sat, 22 Apr 2006 22:16:18 +0000 (18:16 -0400)]
Namespace fix.
base/timebuf.hh:
namespace fix.
--HG--
extra : convert_revision :
38e880b9394cf2923e2fb9775368cd93d719f950
Kevin Lim [Sat, 22 Apr 2006 22:11:54 +0000 (18:11 -0400)]
Move quiesce event to its own class.
SConscript:
Move quiesce event to its own file/class.
--HG--
extra : convert_revision :
6aa7863adb529fc03142666213c3ec348825bd3b
Kevin Lim [Sat, 22 Apr 2006 22:09:08 +0000 (18:09 -0400)]
Move TLB faults into the normal fault classes. Now they are executed when the fault is invoked.
--HG--
extra : convert_revision :
b5f00fff277e863b3fe43422bc39d0487c482e60
Ron Dreslinski [Wed, 29 Mar 2006 22:54:58 +0000 (17:54 -0500)]
Fix indentation
--HG--
extra : convert_revision :
321ff3c6e8dcc41f18e983fac83e14c037081dcb
Ron Dreslinski [Wed, 29 Mar 2006 22:53:52 +0000 (17:53 -0500)]
Fix for prefetching check with blocking buffers. Need to look into support for prefetching with blocking buffers.
--HG--
extra : convert_revision :
7b401cf76742ffda6c911faf710970c58a0c337b
Ron Dreslinski [Wed, 29 Mar 2006 19:27:10 +0000 (14:27 -0500)]
Add some basic statistics to the disk model
--HG--
extra : convert_revision :
0f3a45745b0122de64a2f434604a474df04f2938
Ron Dreslinski [Tue, 28 Mar 2006 19:58:23 +0000 (14:58 -0500)]
Make the .mpy file a .py file and convert it to the form recognized now.
--HG--
extra : convert_revision :
1019fd1e2bb484e1ea8f15db8dbe8e7a0201bd58
Ron Dreslinski [Mon, 27 Mar 2006 20:06:16 +0000 (15:06 -0500)]
Add the detailed DRAM model into M5. See the /mem/timing/DRAM_M5.txt for discussion on setting paramaters.
SConscript:
Add support for detailed DRAM model
--HG--
extra : convert_revision :
b65f9a810fa95957b585c85632ac20f9283337d1
Ron Dreslinski [Thu, 23 Mar 2006 23:05:39 +0000 (18:05 -0500)]
Add support in the fullsys script to run the POVray benchmark.
To run it use
-ETEST=POVRAY_BENCH to run the built in povray benchmark program (more CPU intensive, small fileset ~11MB)
-ETEST=POVRAY_AUTUMN to run the first part of a rendering of a autumn leaves/tree scene, less cpu intensive ~500MB working set.
For now I have been running with -ESYSTEM=Simple in order to drop checkpoints (built into binary at the point the render begins) and create memory traces.
I will check in a SYSTEM=3D_DRAM and SYSTEM=3D_CACHE configuration as soon as those are ready.
--HG--
extra : convert_revision :
fb55834a02317d5e9961a5145c932965c8bc6a0e
Ron Dreslinski [Thu, 16 Mar 2006 16:34:19 +0000 (11:34 -0500)]
Don't forget to check in the needed header file for the conditional prefetch building.
--HG--
extra : convert_revision :
2c2562da323fa1249af72af3a89c7666c745ae2b
Ron Dreslinski [Wed, 15 Mar 2006 22:53:49 +0000 (17:53 -0500)]
Merge zizzer:/z/m5/Bitkeeper/m5
into zazzer.eecs.umich.edu:/z/rdreslin/m5bk/m5
--HG--
extra : convert_revision :
a4de274ec50821218121ba38f9215f2348262c27
Ron Dreslinski [Wed, 15 Mar 2006 22:53:21 +0000 (17:53 -0500)]
Add support for conditional compiling in of prefetchers.
--HG--
extra : convert_revision :
357554632f102224357c8c3848bc4bc7cbb9dc54
Kevin Lim [Wed, 15 Mar 2006 20:38:14 +0000 (15:38 -0500)]
Don't access init_regs directly. This does not affect newmem; Steve already changed this in newmem.
--HG--
extra : convert_revision :
19b1ed0bb2c8bcde72843e62f73635e84adf95b5
Ron Dreslinski [Tue, 14 Mar 2006 23:03:34 +0000 (18:03 -0500)]
Remove unneeded header files.
Add some forward declerations.
Fix ordering problem of variables in constructor (see sourceforge)
Factor out code from header into _impl file to speed building process (keep cache_builder smaller in size)
--HG--
extra : convert_revision :
20087f88f95628af716094e09c2287e09580149e
Steve Reinhardt [Sun, 12 Mar 2006 06:05:01 +0000 (01:05 -0500)]
Get rid of obsolete header that had only one declaration of
an obsolete function that doesn't exist.
arch/alpha/tru64/process.cc:
sim/process.cc:
Don't include useless header.
--HG--
extra : convert_revision :
1dd5edeb0703e2190b89ea5ff563df4c95b7cf59
Gabe Black [Fri, 10 Mar 2006 20:12:46 +0000 (15:12 -0500)]
Wrapped setSysCallReturn in !FULL_SYSTEM.
--HG--
extra : convert_revision :
c6d3a5af04731a92eaca2337424ba10926f0d879
Ali Saidi [Thu, 9 Mar 2006 21:17:10 +0000 (16:17 -0500)]
fix merging issues
arch/alpha/isa_traits.hh:
arch/sparc/linux/process.cc:
fix merging problem
sim/syscall_emul.cc:
use setIntReg
--HG--
extra : convert_revision :
e88d72e415493cd17d7b88c22c7e995f3199e396
Ali Saidi [Thu, 9 Mar 2006 20:56:42 +0000 (15:56 -0500)]
Merge zizzer:/bk/multiarch
into zeep.eecs.umich.edu:/z/saidi/work/m5.ma2
arch/alpha/isa_traits.hh:
arch/alpha/linux/process.cc:
arch/sparc/isa_traits.hh:
arch/sparc/linux/process.cc:
sim/process.cc:
merge
--HG--
rename : cpu/exec_context.hh => cpu/cpu_exec_context.hh
extra : convert_revision :
fea0155c8e23abbd0d5d5251abbd0f4d223fe935
Ali Saidi [Thu, 9 Mar 2006 20:42:09 +0000 (15:42 -0500)]
no more common syscall emulation, now common for everyone
check abi-tag note section of elf binary for OS
add pseudo functions (moved from alpha and made to be generic)
move setsyscallreturn into isa traits
arch/alpha/SConscript:
no more common syscall emulation, now common for everyone
arch/alpha/isa_traits.hh:
move setsyscallreturn into isa description
arch/alpha/linux/process.cc:
arch/alpha/tru64/process.cc:
use generic functions rather than alpha specific ones
arch/sparc/isa_traits.hh:
have consts for generic pseudo syscalls
arch/sparc/linux/process.cc:
use generic functions
base/loader/elf_object.cc:
check abi-tag note section of elf binary for OS
cpu/exec_context.hh:
move syssyscallreturn into isa traits
sim/process.cc:
find call num with a more generic
sim/syscall_emul.cc:
sim/syscall_emul.hh:
add pseudo functions (moved from alpha and made to be generic)
--HG--
extra : convert_revision :
5a31024ecde7e39b830365ddd84593ea501a34d2
Gabe Black [Thu, 9 Mar 2006 20:15:55 +0000 (15:15 -0500)]
Merge zizzer.eecs.umich.edu:/z/m5/Bitkeeper/m5
into zizzer.eecs.umich.edu:/z/m5/Bitkeeper/multiarch
cpu/simple/cpu.cc:
Hand Merge
--HG--
rename : cpu/exec_context.hh => cpu/cpu_exec_context.hh
extra : convert_revision :
bf664b092f993d0f4675ce8e7df13645a920c1f4
Kevin Lim [Thu, 9 Mar 2006 20:10:55 +0000 (15:10 -0500)]
Use functions to access XC.
cpu/exec_context.hh:
Include readNextNPC function.
cpu/simple/cpu.cc:
Use functions to set and access nextPC, nextNPC.
--HG--
extra : convert_revision :
22622b9c110e1d99cc9106a2a27c479579d7e1ad
Korey Sewell [Thu, 9 Mar 2006 08:27:51 +0000 (03:27 -0500)]
last changes before big merge
arch/alpha/isa_traits.hh:
arch/sparc/isa_traits.hh:
add nnpc for compiling purposes in exec_context setNextNPC function
cpu/exec_context.hh:
set NNPC function
cpu/simple/cpu.cc:
use NNPC in determining what PC we are using
--HG--
extra : convert_revision :
e810cfbc5dc31879b20d2cc40bf9871613203532
Korey Sewell [Thu, 9 Mar 2006 07:34:12 +0000 (02:34 -0500)]
minor comments to decoder.isa
arch/mips/isa/decoder.isa:
comments
--HG--
extra : convert_revision :
8e4fdf36d7f7365cda062bc169a313bf860a4fe5
Korey Sewell [Wed, 8 Mar 2006 21:54:08 +0000 (16:54 -0500)]
Merge zizzer:/bk/multiarch
into zazzer.eecs.umich.edu:/z/ksewell/research/m5-sim/multiarch-m5
--HG--
extra : convert_revision :
f3502f293f6ea44b5cf209ce2a935a25bca6054f
Korey Sewell [Wed, 8 Mar 2006 21:53:44 +0000 (16:53 -0500)]
add explicit support for nop,ssnop, and ehb instructions
--HG--
extra : convert_revision :
41151d38cabb6ce0ea81e5d78e4474d8f2ffeb67
Kevin Lim [Wed, 8 Mar 2006 20:10:47 +0000 (15:10 -0500)]
Include ability to copy all misc regs.
arch/alpha/ev5.cc:
Include function for the MiscRegFile to copy all of the Iprs from an ExecContext.
arch/alpha/isa_traits.hh:
Include functions to copy MiscRegs from an ExecContext.
cpu/cpu_exec_context.cc:
Be sure to copy all of the misc regs when copying all architectural state.
--HG--
extra : convert_revision :
cb948b5ff141ea0f739a1016f98236bd2a512f76
Kevin Lim [Wed, 8 Mar 2006 18:26:30 +0000 (13:26 -0500)]
Merge ktlim@zizzer:/bk/m5
into zamp.eecs.umich.edu:/z/ktlim2/m5-proxyxc
arch/alpha/ev5.cc:
cpu/o3/cpu.hh:
SCCS merged
--HG--
extra : convert_revision :
38889011ea02005c8fd3a7f3b0be3395223f6166
Kevin Lim [Wed, 8 Mar 2006 16:34:41 +0000 (11:34 -0500)]
Forward declaration of MemoryController.
My change to exec_context.hh probably affected these files to no longer have MemoryController forward declared through a long chain of includes. MemoryController should be forward declared where it is used anyways.
dev/alpha_console.hh:
dev/uart.hh:
dev/uart8250.hh:
Forward declaration of MemoryController.
--HG--
extra : convert_revision :
afaac4014e0eb3b6d5d385cd4444b77511e03b51
Gabe Black [Wed, 8 Mar 2006 13:09:45 +0000 (08:09 -0500)]
Merge gblack@m5.eecs.umich.edu:/bk/multiarch
into ewok.(none):/home/gblack/m5/multiarch
--HG--
extra : convert_revision :
5fe5a3d70774d6420b890237d9be4a5d0f00d17e
Gabe Black [Wed, 8 Mar 2006 13:09:27 +0000 (08:09 -0500)]
Working towards compiling SPARC_SE
arch/alpha/isa_traits.hh:
Changed the enums to const ints, and got rid of a few unnecessary constants.
arch/sparc/isa_traits.hh:
Got rid of the enums, and added in some missing constants.
--HG--
extra : convert_revision :
ee47890af9d8c67300b31d8e0dda1d580bd21479
Korey Sewell [Wed, 8 Mar 2006 09:36:55 +0000 (04:36 -0500)]
Update MiscReg enum and miscRegFile definition
update miscReg file access
arch/mips/isa/decoder.isa:
arch/mips/isa_traits.cc:
update miscRegfile access
arch/mips/isa_traits.hh:
Update MiscReg enum and miscRegFile definition
--HG--
extra : convert_revision :
9b6b9343d674e1e38e25bb9a4ffe4325142e7424