d8a34a9745
mips-tlb-fix: check for alignment faults.\nMIPS was never updated to use TLBS correcty in SE mode. The error was forwarding translations directly to pageTable. The TLB should check for alignment faults at bare minimum here but in the long run we should be using TLBs in SE mode for MIPS.
Korey Sewell
2009-04-18 10:42:29 -04:00
e501e1af54
mips-syscall: mark with correct flag. \nMIPS was using wrong serialization flag on syscall instructions allowing O3 to handle SE mode syscalls incorrectly and speculate on instructions after a syscall
Korey Sewell
2009-04-18 10:42:29 -04:00
5c1742b822
o3-delay-slot-bpred: fix decode stage handling of uncdtl. branches.\n decode stage was not setting the predicted PC correctly or passing that information back to fetch correctly
Korey Sewell
2009-04-18 10:42:29 -04:00
cc9e834e93
mips-shadowsets: fix calcuations. \n Remove Shadowsets from Int & Arch. Reg Calculations
Korey Sewell
2009-04-18 10:42:28 -04:00
14808ecac9
o3, inorder: fix FS bug due to initializing ThreadState to Halted. For some reason o3 FS init() only called initCPU if the thread state was Suspended, which was no longer the case. There's no apparent reason to check, so I whacked the test completely rather than changing the check to Halted. The inorder init() was also updated to be symmetric, though the previous code was just a fancy no-op.
Steve Reinhardt
2009-04-17 16:54:58 -07:00
b146131d18
o3: handle fetch with no active threads correctly. This situation can arise now on the first fetch cycle after the last active thread is halted. It seems easy enough to deal with when it happens rather than trying to avoid it.
Steve Reinhardt
2009-04-15 23:12:00 -07:00
bb974d5a47
o3: fix {read,set}ArchFloatReg* functions. Register indices were not being calculated properly.
Steve Reinhardt
2009-04-15 23:10:43 -07:00
7617dcf736
ThreadState: initialize status to Halted in constructor. This provides a common initial status for all threads independent of CPU model (unlike the prior situation where CPUs initialized threads to inconsistent states). This mostly matters for SE mode; in FS mode, ISA-specific startupCPU() methods generally handle boot-time initialization of thread contexts (since the right thing to do is ISA-dependent).
Steve Reinhardt
2009-04-15 13:18:24 -07:00
48d4ca522a
Update stats after elimination of Unallocated state. Somehow ending threads with halt() instead of deallocate() reduces the squash count on o3 by 1 (and a few other similarly trivial changes).
Steve Reinhardt
2009-04-15 13:13:58 -07:00
8882dc1283
Get rid of the Unallocated thread context state. Basically merge it in with Halted. Also had to get rid of a few other functions that called ThreadContext::deallocate(), including: - InOrderCPU's setThreadRescheduleCondition. - ThreadContext::exit(). This function was there to avoid terminating simulation when one thread out of a multi-thread workload exits, but we need to find a better (non-cpu-centric) way.
Steve Reinhardt
2009-04-15 13:13:47 -07:00
9b66e82897
configs: Allow M5_CPU2000 env var to set CPU2K binary path. It would be nice to have a more comprehensive mechanism but this is a big improvement over manually editing the script.
Steve Reinhardt
2009-04-15 12:52:31 -07:00
5c79191603
X86: Fix minor bug in the page table walker from TLB shuffling.
Gabe Black
2009-04-13 04:14:15 -07:00
15f0e44060
Very minor regression stats updates due top previous changeset. Setting dirty bit on swaps added a handful of writebacks in a few of the longer-running SPARC_SE benchmarks.
Steve Reinhardt
2009-03-16 11:01:23 -04:00
758bfe4eb5
cache: set dirty bit on swaps (oops!)
Steve Reinhardt
2009-03-11 23:05:26 -07:00
61ff48a1f8
cpu: fix minor endian issue with trace output (no functional change)
Steve Reinhardt
2009-03-11 23:05:24 -07:00
17cb191c98
tests: use env.Execute instead of Execute to pick up env vars.
Steve Reinhardt
2009-03-11 10:54:42 -07:00
a94c68228a
prefetch: don't panic on requests w/o contextID (e.g., writebacks).
Steve Reinhardt
2009-03-10 17:37:15 -07:00
4c902714f7
Minor tweak to regression exit status message.
Steve Reinhardt
2009-03-07 17:24:13 -08:00
4f1855484c
Fix up regression execution to better handle tests that end abnormally. E.g., mark aborts due to assertion failures as failed tests, but those that get killed by the user as needing to be rerun, etc.
Steve Reinhardt
2009-03-07 16:58:51 -08:00
5cf0605766
tests: update tests because of changes in stat names and in the stats package
Nathan Binkert
2009-03-07 14:30:55 -08:00
ac7bda0212
stats: fix duplicate statistics names. This generally requires providing a more meaningful name() function for a class.
Nathan Binkert
2009-03-07 14:30:54 -08:00
fcaf1b74b0
stats: cleanup text output stuff and fix mysql output
Nathan Binkert
2009-03-07 14:30:53 -08:00
66a85b54e2
build: fix errors for compilers other than g++ 4.3
Nathan Binkert
2009-03-07 14:30:52 -08:00
6f787e3d36
stats: create an enable phase, and a prepare phase. Enable more or less takes the place of check, but also allows stats to do some other configuration. Prepare moves all of the code that readies a stat for dumping into a separate function in preparation for supporting serialization of certain pieces of statistics data. While we're at it, clean up the visitor code and some of the python code.
Nathan Binkert
2009-03-05 19:09:53 -08:00
9f45fbaaa6
stats: clean up how templates are used on the data side. This basically works by taking advantage of the curiously recurring template pattern in an intelligent way so as to reduce the number of lines of code and hopefully make things a little bit clearer.
Nathan Binkert
2009-03-05 19:09:53 -08:00
cc95b57390
stats: Fix all stats usages to deal with template fixes
Nathan Binkert
2009-03-05 19:09:53 -08:00
c7e82f965f
stats: remove the template wart left over from the ancient binning stuff
Nathan Binkert
2009-03-05 19:09:53 -08:00
244c2a517a
stats: stick the distribution's fancy parameter into the parameters structure.
Nathan Binkert
2009-03-05 19:09:53 -08:00
e19fd1d521
stats: Add a wrapper class for the information side of things. This provides an easy way to provide the callbacks into the data side of things from the info side of things. Rename Wrap to DataWrap so it is more easily distinguishable from InfoWrap
Nathan Binkert
2009-03-05 19:09:53 -08:00
c7bd1ec261
stats: better naming of template parameters for the wrapper stuff Parent and Child are bad names. Derived and Base are better.
Nathan Binkert
2009-03-05 19:09:53 -08:00
2dd5a5b3dc
stats: get rid of meaningless uses of virtual
Nathan Binkert
2009-03-05 19:09:53 -08:00
a767819d56
serialize: Allow floats and doubles to be serialized
Nathan Binkert
2009-03-05 19:09:53 -08:00
e3d6e8882e
Get rid of 'using namespace' declarations in headers.
Steve Reinhardt
2009-03-05 17:15:31 -08:00
b8548c011d
SCons: Fix bug with .hg dir not existing.
Ali Saidi
2009-03-05 17:05:06 -05:00
9e1dc7f205
InOrderCPU: Clean up Constructors to initialize variables correctly (i.e. in a way for the compiler to play *nice*)
Korey Sewell
2009-03-04 22:37:45 -05:00
7c8d544216
Give each resource in InOrder it's own TraceFlag instead of just standard 'Resource' flag
Korey Sewell
2009-03-04 13:17:09 -05:00
30cd2d21fa
Remove unused functions/comments cluttering up the code.
Korey Sewell
2009-03-04 13:17:08 -05:00
f69b018571
make handling of interstage buffers (i.e. StageQueues) more consistent: (1)number from 0-n, not 1-n+1, (2) always check nextStageValid before a stageNum+1 and prevStageValid for a stageNum-1 reference (3) add skidSize() to get StageQueue size for all threads
Korey Sewell
2009-03-04 13:17:07 -05:00
f98e9161a8
InOrder didnt have all it's params set to a default value, which is now required for M5 objects; Also, a # of values need to be reset to 0 (or the appropriate value) before we assume they are OK for use.
Korey Sewell
2009-03-04 13:17:05 -05:00
846f953c2b
Give TimeBuffer an ID that can be set. Necessary because InOrder uses generic stages so w/o an ID there is no way to differentiate buffers when debugging
Korey Sewell
2009-03-04 13:16:49 -05:00
e4aa4ca40c
use numCycles instead of simTicks to determine CPI stat in InOrder
Korey Sewell
2009-03-04 13:16:48 -05:00
9ee8e685a4
O3: Make numThreads error message more helpful.
Steve Reinhardt
2009-03-04 09:25:53 -05:00
307905095c
Fix Num_Syscall_Descs check bug in non-x86 ISAs. (See cset d35d2b28df38 for x86 fix.)
Steve Reinhardt
2009-02-28 20:14:22 -05:00