gem5.git
15 years agose-configs: edit se.py to account for non-O3CPU workloads
Korey Sewell [Sun, 26 Jul 2009 04:13:35 +0000 (00:13 -0400)]
se-configs: edit se.py to account for non-O3CPU workloads

15 years agomerge sparc fix w/2t regress fix
Korey Sewell [Sun, 26 Jul 2009 02:24:45 +0000 (22:24 -0400)]
merge sparc fix w/2t regress fix

15 years agoregress: edit 2t hello smt file to specify numThreads
Korey Sewell [Sun, 26 Jul 2009 02:22:13 +0000 (22:22 -0400)]
regress: edit 2t hello smt file to specify numThreads

15 years agoSPARC: Fix a minor compile bug in native trace on gcc > 4.1.
Gabe Black [Sat, 25 Jul 2009 22:14:00 +0000 (15:14 -0700)]
SPARC: Fix a minor compile bug in native trace on gcc > 4.1.

15 years agoo3-smt: enforce numThreads parameter for SMT SE mode
Korey Sewell [Sat, 25 Jul 2009 04:50:27 +0000 (00:50 -0400)]
o3-smt: enforce numThreads parameter for SMT SE mode

15 years agoFixed the licences plus minor fixes for compilation
Polina Dudnik [Thu, 23 Jul 2009 01:28:32 +0000 (20:28 -0500)]
Fixed the licences plus minor fixes for compilation

15 years agoMIPS: Small fix I forgot to qrefresh into my last change.
Gabe Black [Wed, 22 Jul 2009 08:57:55 +0000 (01:57 -0700)]
MIPS: Small fix I forgot to qrefresh into my last change.

15 years agoMIPS: Style/formatting sweep of the decoder itself.
Gabe Black [Wed, 22 Jul 2009 08:51:10 +0000 (01:51 -0700)]
MIPS: Style/formatting sweep of the decoder itself.

15 years agoMIPS: Format the register index constants like the other ISAs.
Gabe Black [Wed, 22 Jul 2009 06:38:26 +0000 (23:38 -0700)]
MIPS: Format the register index constants like the other ISAs.
Also a few more style fixes.

15 years agoAutomated merge with ssh://m5sim.org//repo/m5
Derek Hower [Wed, 22 Jul 2009 02:27:54 +0000 (21:27 -0500)]
Automated merge with ssh://m5sim.org//repo/m5

15 years agoruby: fixed sequencer RMW data bug
Derek Hower [Wed, 22 Jul 2009 00:42:09 +0000 (19:42 -0500)]
ruby: fixed sequencer RMW data bug

15 years agoruby: libruby_init now takes parsed Ruby-lang config text
Derek Hower [Tue, 21 Jul 2009 23:33:05 +0000 (18:33 -0500)]
ruby: libruby_init now takes parsed Ruby-lang config text

libruby_init now expects to get a file that contains the output of
running a ruby-lang configuration, opposed to the ruby-lang
configuration itself.

15 years agoMIPS: Get MIPS_FS to compile, more style fixes.
Gabe Black [Tue, 21 Jul 2009 08:09:05 +0000 (01:09 -0700)]
MIPS: Get MIPS_FS to compile, more style fixes.
Some breakage was from my BitUnion change, some was much older.

15 years agoMIPS: Many style fixes.
Gabe Black [Tue, 21 Jul 2009 08:08:53 +0000 (01:08 -0700)]
MIPS: Many style fixes.
White space, commented out code, some other minor fixes.

15 years agoisa_parser: Get rid of the now unused ControlBitfieldOperand.
Gabe Black [Tue, 21 Jul 2009 03:20:17 +0000 (20:20 -0700)]
isa_parser: Get rid of the now unused ControlBitfieldOperand.

15 years agoMIPS: Use BitUnions instead of bits() functions and constants.
Gabe Black [Tue, 21 Jul 2009 03:14:15 +0000 (20:14 -0700)]
MIPS: Use BitUnions instead of bits() functions and constants.
Also fix style issues in regions around these changes.

15 years agomerge
Derek Hower [Mon, 20 Jul 2009 14:41:28 +0000 (09:41 -0500)]
merge

15 years agoruby: moved cache stats from Profiler to CacheMemory
Derek Hower [Mon, 20 Jul 2009 14:40:43 +0000 (09:40 -0500)]
ruby: moved cache stats from Profiler to CacheMemory

Caches are now responsible for their own statistic gathering.  This
requires a direct callback from the protocol on misses, and so all
future protocols need to take this into account.

15 years agoCPU: Separate out native trace into ISA (in)dependent code and SimObjects.
Gabe Black [Mon, 20 Jul 2009 06:54:56 +0000 (23:54 -0700)]
CPU: Separate out native trace into ISA (in)dependent code and SimObjects.

--HG--
rename : src/cpu/nativetrace.cc => src/arch/sparc/nativetrace.cc
rename : src/cpu/nativetrace.hh => src/arch/sparc/nativetrace.hh
rename : src/cpu/NativeTrace.py => src/arch/x86/X86NativeTrace.py

15 years agoTracing: Add accessors so tracers can get at data in trace records.
Gabe Black [Mon, 20 Jul 2009 06:54:31 +0000 (23:54 -0700)]
Tracing: Add accessors so tracers can get at data in trace records.

15 years agoX86: Move a displaced comment back to where it goes.
Gabe Black [Mon, 20 Jul 2009 06:51:47 +0000 (23:51 -0700)]
X86: Move a displaced comment back to where it goes.

15 years agoX86: Add some misc registers for FP control state.
Gabe Black [Mon, 20 Jul 2009 06:51:41 +0000 (23:51 -0700)]
X86: Add some misc registers for FP control state.

15 years agoscons: removed RubyConfig from scons
Derek Hower [Sun, 19 Jul 2009 17:34:11 +0000 (12:34 -0500)]
scons: removed RubyConfig from scons

15 years agoruby: removed all refs to old RubyConfig
Derek Hower [Sat, 18 Jul 2009 23:20:03 +0000 (18:20 -0500)]
ruby: removed all refs to old RubyConfig

15 years agoruby: removed dead files
Derek Hower [Sat, 18 Jul 2009 23:18:37 +0000 (18:18 -0500)]
ruby: removed dead files

15 years agoruby: removed dead files
Derek Hower [Sat, 18 Jul 2009 23:17:48 +0000 (18:17 -0500)]
ruby: removed dead files

15 years agomerge
Derek Hower [Sat, 18 Jul 2009 22:40:20 +0000 (17:40 -0500)]
merge

15 years agoruby: fixed dma sequencer bug
Derek Hower [Sat, 18 Jul 2009 22:03:51 +0000 (17:03 -0500)]
ruby: fixed dma sequencer bug

The DMASequencer was still using a parameter from the old RubyConfig,
causing an offset error when the requested data wasn't block aligned.
This changeset also includes a fix to MI_example for a similar bug.

15 years agoruby: better debug print for DataBlock
Derek Hower [Sat, 18 Jul 2009 21:58:33 +0000 (16:58 -0500)]
ruby: better debug print for DataBlock

15 years agoslicc: made coherence profilers per-controller
Derek Hower [Sat, 18 Jul 2009 21:54:45 +0000 (16:54 -0500)]
slicc: made coherence profilers per-controller

15 years agoX86: Set up a named constant for the "fold bit" for int register indices.
Gabe Black [Sat, 18 Jul 2009 01:49:22 +0000 (18:49 -0700)]
X86: Set up a named constant for the "fold bit" for int register indices.

15 years agoX86: Tame the wilds of def operands.
Gabe Black [Fri, 17 Jul 2009 07:29:56 +0000 (00:29 -0700)]
X86: Tame the wilds of def operands.

15 years agoX86: Shift some register flattening work into the decoder.
Gabe Black [Fri, 17 Jul 2009 07:29:42 +0000 (00:29 -0700)]
X86: Shift some register flattening work into the decoder.

15 years agomerge
Polina Dudnik [Thu, 16 Jul 2009 20:40:48 +0000 (15:40 -0500)]
merge

15 years agoX86: Add range checks for miscreg indexing utility functions.
Gabe Black [Thu, 16 Jul 2009 16:30:14 +0000 (09:30 -0700)]
X86: Add range checks for miscreg indexing utility functions.

15 years agoX86: Take limitted advantage of the compilers type checking for microop operands.
Gabe Black [Thu, 16 Jul 2009 16:29:29 +0000 (09:29 -0700)]
X86: Take limitted advantage of the compilers type checking for microop operands.

15 years agoX86: Fix a number of places where the wrong form of a microop was used.
Gabe Black [Thu, 16 Jul 2009 16:27:56 +0000 (09:27 -0700)]
X86: Fix a number of places where the wrong form of a microop was used.

15 years agoX86: Fix x87 stack register indexing.
Gabe Black [Thu, 16 Jul 2009 16:26:38 +0000 (09:26 -0700)]
X86: Fix x87 stack register indexing.

15 years agoTester update
Polina Dudnik [Wed, 15 Jul 2009 15:46:22 +0000 (10:46 -0500)]
Tester update

15 years agoMerge with head.
Gabe Black [Wed, 15 Jul 2009 01:06:30 +0000 (18:06 -0700)]
Merge with head.

15 years agoARM: Fix the "open" flag constants.
Jack Whitham [Wed, 15 Jul 2009 04:03:33 +0000 (21:03 -0700)]
ARM: Fix the "open" flag constants.

15 years agoChanged the state machine to generate code such that multiple processors can make...
Polina Dudnik [Mon, 13 Jul 2009 23:39:32 +0000 (18:39 -0500)]
Changed the state machine to generate code such that multiple processors can make atomic requests at once

15 years ago1. Got rid of unused functions in DirectoryMemory
Polina Dudnik [Mon, 13 Jul 2009 22:22:29 +0000 (17:22 -0500)]
1. Got rid of unused functions in DirectoryMemory
2. Reintroduced RMW_Read and RMW_Write
3. Defined -2 in the Sequencer as well as made a note about mandatory queue

Did not address the issues in the slicc because remaking the atomics altogether to allow
multiple processors to issue atomic requests at once

15 years agomerge
Derek Hower [Mon, 13 Jul 2009 19:49:51 +0000 (14:49 -0500)]
merge

15 years agoregression: updated memtest-ruby stats
Derek Hower [Mon, 13 Jul 2009 19:45:15 +0000 (14:45 -0500)]
regression: updated memtest-ruby stats

This also includes a change to the default Ruby random seed, which was
previously set using the wall clock.  It is now set to 1234 so that
the stat files don't change for the regression tester.

15 years agoChanges to add tracing and replaying command-line options
Polina Dudnik [Mon, 13 Jul 2009 17:50:10 +0000 (12:50 -0500)]
Changes to add tracing and replaying command-line options
Trace is automatically ended upon a manual checkpoint

15 years agoLocked requests should actually be converted to ST rather than ATOMIC, because ATOMIC...
Polina Dudnik [Mon, 13 Jul 2009 17:11:17 +0000 (12:11 -0500)]
Locked requests should actually be converted to ST rather than ATOMIC, because ATOMIC is for RMW.

15 years agoAdded atomics implementation which would work for MI_example
Polina Dudnik [Mon, 13 Jul 2009 17:06:23 +0000 (12:06 -0500)]
Added atomics implementation which would work for MI_example

15 years agoMinor fixes for compiling
Polina Dudnik [Mon, 13 Jul 2009 16:59:13 +0000 (11:59 -0500)]
Minor fixes for compiling

15 years agoReplaced RMW with Locked. RMW will be used for the coherence-aided atomics other...
Polina Dudnik [Mon, 13 Jul 2009 16:37:56 +0000 (11:37 -0500)]
Replaced RMW with Locked. RMW will be used for the coherence-aided atomics other than LLSC

15 years agoMoved the lock check and clearing the lock into makeRequest
Polina Dudnik [Mon, 13 Jul 2009 16:34:38 +0000 (11:34 -0500)]
Moved the lock check and clearing the lock into makeRequest

15 years agoForgot to replace one of the RubyRequest_RMW
Polina Dudnik [Mon, 13 Jul 2009 16:25:23 +0000 (11:25 -0500)]
Forgot to replace one of the RubyRequest_RMW

15 years agoReintegrated Derek's functional implementation of atomics with a minor change: don...
Polina Dudnik [Mon, 13 Jul 2009 16:13:29 +0000 (11:13 -0500)]
Reintegrated Derek's functional implementation of atomics with a minor change: don't clear lock on failure

15 years agoISAs: Get rid of the IControl operand type.
Gabe Black [Fri, 10 Jul 2009 08:21:04 +0000 (01:21 -0700)]
ISAs: Get rid of the IControl operand type.
A separate operand type is not necessary to use two bitfields to generate the
index.

15 years agoSPARC: Set up a lookup table for integer register flattening.
Gabe Black [Fri, 10 Jul 2009 08:01:47 +0000 (01:01 -0700)]
SPARC: Set up a lookup table for integer register flattening.
Using a look up table changed the run time of the SPARC_FS solaris boot
regression from:

real    14m45.951s
user    13m57.528s
sys     0m3.452s

to:

real    12m19.777s
user    12m2.685s
sys     0m2.420s

15 years agoX86: Fold the MiscRegFile all the way into the ISA object.
Gabe Black [Fri, 10 Jul 2009 03:29:02 +0000 (20:29 -0700)]
X86: Fold the MiscRegFile all the way into the ISA object.

15 years agoSPARC: Fold the MiscRegFile all the way into the ISA object.
Gabe Black [Fri, 10 Jul 2009 03:28:50 +0000 (20:28 -0700)]
SPARC: Fold the MiscRegFile all the way into the ISA object.

15 years agoMIPS: Fold the MiscRegFile all the way into the ISA object.
Gabe Black [Fri, 10 Jul 2009 03:28:39 +0000 (20:28 -0700)]
MIPS: Fold the MiscRegFile all the way into the ISA object.

15 years agoARM: Fold the MiscRegFile all the way into the ISA object.
Gabe Black [Fri, 10 Jul 2009 03:28:27 +0000 (20:28 -0700)]
ARM: Fold the MiscRegFile all the way into the ISA object.

15 years agoAlpha: Missed a file in an earlier changeset.
Gabe Black [Thu, 9 Jul 2009 07:20:41 +0000 (00:20 -0700)]
Alpha: Missed a file in an earlier changeset.

15 years agoGet rid of the unused get(Data|Inst)Asid and (inst|data)Asid functions.
Gabe Black [Thu, 9 Jul 2009 06:02:22 +0000 (23:02 -0700)]
Get rid of the unused get(Data|Inst)Asid and (inst|data)Asid functions.

15 years agoAlpha: Pull the MiscRegFile fully into the ISA object.
Gabe Black [Thu, 9 Jul 2009 06:02:22 +0000 (23:02 -0700)]
Alpha: Pull the MiscRegFile fully into the ISA object.

15 years agoRegisters: Add a registers.hh file as an ISA switched header.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
Registers: Add a registers.hh file as an ISA switched header.
This file is for register indices, Num* constants, and register types.
copyRegs and copyMiscRegs were moved to utility.hh and utility.cc.

--HG--
rename : src/arch/alpha/regfile.hh => src/arch/alpha/registers.hh
rename : src/arch/arm/regfile.hh => src/arch/arm/registers.hh
rename : src/arch/mips/regfile.hh => src/arch/mips/registers.hh
rename : src/arch/sparc/regfile.hh => src/arch/sparc/registers.hh
rename : src/arch/x86/regfile.hh => src/arch/x86/registers.hh

15 years agoRegisters: Collapse ARM and MIPS regfile directories.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
Registers: Collapse ARM and MIPS regfile directories.

--HG--
rename : src/arch/arm/regfile/misc_regfile.hh => src/arch/arm/misc_regfile.hh
rename : src/arch/arm/regfile/regfile.cc => src/arch/arm/regfile.cc
rename : src/arch/mips/regfile/misc_regfile.cc => src/arch/mips/misc_regfile.cc
rename : src/arch/mips/regfile/misc_regfile.hh => src/arch/mips/misc_regfile.hh

15 years agoAlpha: Move reg_redir into its own files, and move some constants into regfile.hh.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
Alpha: Move reg_redir into its own files, and move some constants into regfile.hh.

15 years agoRegisters: Eliminate the ISA defined RegFile class.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
Registers: Eliminate the ISA defined RegFile class.

15 years agoAlpha: Get rid of function prototypes with no implementations.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
Alpha: Get rid of function prototypes with no implementations.

15 years agoRegisters: Move the PCs out of the ISAs and into the CPUs.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
Registers: Move the PCs out of the ISAs and into the CPUs.

15 years agoARM, Simple CPU: Fix an index and add assert checks.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
ARM, Simple CPU: Fix an index and add assert checks.

15 years agoMIPS: Get rid of an orphaned MIPS .cc file.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
MIPS: Get rid of an orphaned MIPS .cc file.

15 years agoAlpha: Phase out Alpha's intregfile.hh and intregfile.cc.
Gabe Black [Thu, 9 Jul 2009 06:02:21 +0000 (23:02 -0700)]
Alpha: Phase out Alpha's intregfile.hh and intregfile.cc.

15 years agoSPARC: Phase out SPARC's intregfile.hh.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
SPARC: Phase out SPARC's intregfile.hh.

15 years agoX86: Phase out x86's intregfile.hh.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
X86: Phase out x86's intregfile.hh.

15 years agoMIPS: Phase out MIPS's int_regfile.hh.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
MIPS: Phase out MIPS's int_regfile.hh.

15 years agoARM: Flush out the ARM's int_regfile.hh.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
ARM: Flush out the ARM's int_regfile.hh.

15 years agoRegisters: Eliminate the ISA defined integer register file.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
Registers: Eliminate the ISA defined integer register file.

15 years agoRegisters: Eliminate the ISA defined floating point register file.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
Registers: Eliminate the ISA defined floating point register file.

15 years agoRegisters: Get rid of the float register width parameter.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
Registers: Get rid of the float register width parameter.

15 years agoRegisters: Add an ISA object which replaces the MiscRegFile.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
Registers: Add an ISA object which replaces the MiscRegFile.
This object encapsulates (or will eventually) the identity and characteristics
of the ISA in the CPU.

15 years agoARM: Use custom read/write code to alias R15 with the PC.
Gabe Black [Thu, 9 Jul 2009 06:02:20 +0000 (23:02 -0700)]
ARM: Use custom read/write code to alias R15 with the PC.

15 years agoISA parser: Allow alternative read/write code for operands.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ISA parser: Allow alternative read/write code for operands.

15 years agoARM: Move the remaining microops out of the decoder and into the ISA desc.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Move the remaining microops out of the decoder and into the ISA desc.

15 years agoARM: Move the memory microops out of the decoder and into the ISA desc.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Move the memory microops out of the decoder and into the ISA desc.

15 years agoARM: Move the integer microops out of the decoder and into the ISA desc.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Move the integer microops out of the decoder and into the ISA desc.

15 years agoARM: Improve memory instruction disassembly.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Improve memory instruction disassembly.

15 years agoARM: Tune up predicated instruction decoding.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Tune up predicated instruction decoding.

15 years agoARM: Get rid of the MemAcc and EAComp static insts.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Get rid of the MemAcc and EAComp static insts.

15 years agoARM: Get rid of end_addr in the ArmMacroStore constructor.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Get rid of end_addr in the ArmMacroStore constructor.

15 years agoARM: Add an AddrMode2 format for memory instructions that use address mode 2.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Add an AddrMode2 format for memory instructions that use address mode 2.

15 years agoARM: Don't always update CPSR.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Don't always update CPSR.

15 years agoARM: Add an AddrMode3 format for memory instructions that use address mode 3.
Gabe Black [Thu, 9 Jul 2009 06:02:19 +0000 (23:02 -0700)]
ARM: Add an AddrMode3 format for memory instructions that use address mode 3.

15 years agoARM: Add load/store double instructions.
Gabe Black [Thu, 9 Jul 2009 06:02:10 +0000 (23:02 -0700)]
ARM: Add load/store double instructions.

15 years agoARM: Add operands for the load/store double instructions.
Gabe Black [Thu, 9 Jul 2009 06:02:01 +0000 (23:02 -0700)]
ARM: Add operands for the load/store double instructions.

15 years agoX86: Fix a bug in IRET_PROT's microcode. The immediate form of sra was intended.
Gabe Black [Thu, 9 Jul 2009 06:01:54 +0000 (23:01 -0700)]
X86: Fix a bug in IRET_PROT's microcode. The immediate form of sra was intended.

15 years agoslicc: fixed MI_example bug. The directory wasn't deallocating the TBE, leading...
Derek Hower [Wed, 8 Jul 2009 13:40:32 +0000 (08:40 -0500)]
slicc: fixed MI_example bug.  The directory wasn't deallocating the TBE, leading to a leak. Also increased the default max TBE size to 256 to allow memtest to pass the regression.

15 years agoruby: set the default values of the debug object so that nothing is printed
Derek Hower [Wed, 8 Jul 2009 05:34:40 +0000 (00:34 -0500)]
ruby: set the default values of the debug object so that nothing is printed

15 years agoslicc: Fixed MI_example bug. The directory was not writing data to DRAM after a...
Derek Hower [Wed, 8 Jul 2009 05:31:33 +0000 (00:31 -0500)]
slicc: Fixed MI_example bug.  The directory was not writing data to DRAM after a PUTX.

15 years agoremoved stray debug print
Derek Hower [Wed, 8 Jul 2009 04:01:35 +0000 (23:01 -0500)]
removed stray debug print

15 years agoAdd ability to skip tests by adding 'skip' file to test dir,
Steve Reinhardt [Tue, 7 Jul 2009 05:45:58 +0000 (22:45 -0700)]
Add ability to skip tests by adding 'skip' file to test dir,
and skip simple-timing-mp-ruby test for now (until we fix ruby atomics).

15 years agoautomerge
Nathan Binkert [Mon, 6 Jul 2009 22:54:18 +0000 (15:54 -0700)]
automerge