gem5.git
14 years agoMinor cleanup: Use the blockAlign() method where it applies in the cache.
Steve Reinhardt [Sat, 26 Sep 2009 17:50:50 +0000 (10:50 -0700)]
Minor cleanup: Use the blockAlign() method where it applies in the cache.

14 years agoForce prefetches to check cache and MSHRs immediately prior to issue.
Steve Reinhardt [Sat, 26 Sep 2009 17:50:50 +0000 (10:50 -0700)]
Force prefetches to check cache and MSHRs immediately prior to issue.
This prevents redundant prefetches from being issued, solving the
occasional 'needsExclusive && !blk->isWritable()' assertion failure
in cache_impl.hh that several people have run into.
Eliminates "prefetch_cache_check_push" flag, neither setting of
which really solved the problem.

14 years agoO3: Mark fetch stage as active if it faults.
Steve Reinhardt [Sat, 26 Sep 2009 17:50:50 +0000 (10:50 -0700)]
O3: Mark fetch stage as active if it faults.
Otherwise if the rest of the pipeline is idle then
fault will never propagate to commit to be handled,
causing CPU to deadlock.

14 years agoinorder-debug: fix cpu tick debug message
Korey Sewell [Fri, 25 Sep 2009 15:18:55 +0000 (11:18 -0400)]
inorder-debug: fix cpu tick debug message

14 years agomips-stats: update regressions of arguments fix
Korey Sewell [Thu, 24 Sep 2009 16:30:53 +0000 (12:30 -0400)]
mips-stats: update regressions of arguments fix

14 years agoisa_parser: Turn the ISA Parser into a subclass of Grammar.
Nathan Binkert [Thu, 24 Sep 2009 01:28:29 +0000 (18:28 -0700)]
isa_parser: Turn the ISA Parser into a subclass of Grammar.
This is to prepare for future cleanup where we allow SCons to create a
separate grammar class for each ISA

14 years agoply grammar: Fixup Tokenizer class so you can get lexer arguments
Nathan Binkert [Thu, 24 Sep 2009 01:28:29 +0000 (18:28 -0700)]
ply grammar: Fixup Tokenizer class so you can get lexer arguments

14 years agoruby: Disable all debug output by default
Nathan Binkert [Thu, 24 Sep 2009 01:17:11 +0000 (18:17 -0700)]
ruby: Disable all debug output by default

14 years agoarch: nuke arch/isa_specific.hh and move stuff to generated config/the_isa.hh
Nathan Binkert [Wed, 23 Sep 2009 15:34:21 +0000 (08:34 -0700)]
arch: nuke arch/isa_specific.hh and move stuff to generated config/the_isa.hh

14 years agoslicc: Pure python implementation of slicc.
Nathan Binkert [Wed, 23 Sep 2009 01:12:39 +0000 (18:12 -0700)]
slicc: Pure python implementation of slicc.
This is simply a translation of the C++ slicc into python with very minimal
reorganization of the code.  The output can be verified as nearly identical
by doing a "diff -wBur".

Slicc can easily be run manually by using util/slicc

14 years agoparams: small cleanup to param description internals
Nathan Binkert [Tue, 22 Sep 2009 22:24:16 +0000 (15:24 -0700)]
params: small cleanup to param description internals

14 years agoscons: add slicc and ply to sys.path and PYTHONPATH so everyone has access
Nathan Binkert [Tue, 22 Sep 2009 22:24:16 +0000 (15:24 -0700)]
scons: add slicc and ply to sys.path and PYTHONPATH so everyone has access

14 years agopython: Move more code into m5.util allow SCons to use that code.
Nathan Binkert [Tue, 22 Sep 2009 22:24:16 +0000 (15:24 -0700)]
python: Move more code into m5.util allow SCons to use that code.
Get rid of misc.py and just stick misc things in __init__.py
Move utility functions out of SCons files and into m5.util
Move utility type stuff from m5/__init__.py to m5/util/__init__.py
Remove buildEnv from m5 and allow access only from m5.defines
Rename AddToPath to addToPath while we're moving it to m5.util
Rename read_command to readCommand while we're moving it
Rename compare_versions to compareVersions while we're moving it.

--HG--
rename : src/python/m5/convert.py => src/python/m5/util/convert.py
rename : src/python/m5/smartdict.py => src/python/m5/util/smartdict.py

14 years agomultiattrdict: make multilevel nesting work properly
Nathan Binkert [Tue, 22 Sep 2009 22:24:16 +0000 (15:24 -0700)]
multiattrdict: make multilevel nesting work properly

14 years agoattrdict: add pickle support to attrdict
Nathan Binkert [Tue, 22 Sep 2009 22:24:16 +0000 (15:24 -0700)]
attrdict: add pickle support to attrdict

14 years agocode_formatter: use __builtin__ which is correct, not __builtins__
Nathan Binkert [Tue, 22 Sep 2009 22:24:16 +0000 (15:24 -0700)]
code_formatter: use __builtin__ which is correct, not __builtins__

14 years agomips: fix command line arguments
Korey Sewell [Thu, 17 Sep 2009 19:59:43 +0000 (15:59 -0400)]
mips: fix command line arguments
arguments were not being saved correctly into M5 memory

14 years agoinorder-mdu: multiplier latency fix
Korey Sewell [Thu, 17 Sep 2009 19:45:27 +0000 (15:45 -0400)]
inorder-mdu: multiplier latency fix
mdu was workign incorrectly for 4+ latency due to incorrectly assuming
multiply was finished the next stage

14 years agoX86: Fix the expected size of the immediate offset in MOV_MI.
Gabe Black [Thu, 17 Sep 2009 09:56:06 +0000 (02:56 -0700)]
X86: Fix the expected size of the immediate offset in MOV_MI.

14 years agoX86: Sign extend the immediate of wripi like the register version.
Gabe Black [Thu, 17 Sep 2009 02:29:51 +0000 (19:29 -0700)]
X86: Sign extend the immediate of wripi like the register version.

14 years agoX86: Make the imm8 member of immediate microops really 8 bits consistently.
Gabe Black [Thu, 17 Sep 2009 02:28:57 +0000 (19:28 -0700)]
X86: Make the imm8 member of immediate microops really 8 bits consistently.

14 years agoX86: Fix checking the NT bit during an IRET.
Gabe Black [Thu, 17 Sep 2009 02:28:30 +0000 (19:28 -0700)]
X86: Fix checking the NT bit during an IRET.

14 years agoX86: Fix setting the busy bit in the task descriptor in LTR.
Gabe Black [Thu, 17 Sep 2009 02:28:01 +0000 (19:28 -0700)]
X86: Fix setting the busy bit in the task descriptor in LTR.

14 years agoinorder-smt: remove hardcoded values
Soumyaroop Roy [Wed, 16 Sep 2009 13:47:38 +0000 (09:47 -0400)]
inorder-smt: remove hardcoded values
allows for the 2T hello world example to work in inorder model

14 years agoinorder-configs: update se.py
Korey Sewell [Wed, 16 Sep 2009 13:46:26 +0000 (09:46 -0400)]
inorder-configs: update se.py
fix bug with  'numThreads=len(workloads)' which was counting characters of command-line not counting threads as intended.
Update numThreads for inorder/o3 cases and default to 1 for all other cases.

14 years agoconfigs: add maxinsts option on command line
Korey Sewell [Wed, 16 Sep 2009 13:45:30 +0000 (09:45 -0400)]
configs: add maxinsts option on command line
-option to allow threads to run to a max_inst_any_thread which is more useful/quicker in a lot of
cases then always having to figure out what tick to run your simulation to.

14 years agoSyscalls: Implement sysinfo() syscall.
Vince Weaver [Wed, 16 Sep 2009 05:36:47 +0000 (22:36 -0700)]
Syscalls: Implement sysinfo() syscall.

14 years agoSPARC: Make resTemp in udivcc wide enough to hold all the bits we need.
Vince Weaver [Tue, 15 Sep 2009 12:48:20 +0000 (05:48 -0700)]
SPARC: Make resTemp in udivcc wide enough to hold all the bits we need.

14 years ago[mq]: x86syscalls.patch
Vince Weaver [Tue, 15 Sep 2009 12:30:08 +0000 (05:30 -0700)]
[mq]: x86syscalls.patch

14 years agoinorder-alpha-fs: edit inorder model to compile FS mode
Korey Sewell [Tue, 15 Sep 2009 05:44:48 +0000 (01:44 -0400)]
inorder-alpha-fs: edit inorder model to compile FS mode

14 years agoAdd an I/O cache to FS config even if there's just an "L2" cache.
Steve Reinhardt [Tue, 15 Sep 2009 04:19:40 +0000 (21:19 -0700)]
Add an I/O cache to FS config even if there's just an "L2" cache.

15 years agoAdded new MESI files
Polina Dudnik [Fri, 11 Sep 2009 21:19:31 +0000 (16:19 -0500)]
Added new MESI files

15 years agoConfig adjustments for MESI
Polina Dudnik [Fri, 11 Sep 2009 16:07:22 +0000 (11:07 -0500)]
Config adjustments for MESI

15 years agoSomayeh's MESI protocol with Polina's bug fixes
Polina Dudnik [Fri, 11 Sep 2009 16:04:55 +0000 (11:04 -0500)]
Somayeh's MESI protocol with Polina's bug fixes

15 years agoMI data corruption bug fix
Polina Dudnik [Fri, 11 Sep 2009 15:59:35 +0000 (10:59 -0500)]
MI data corruption bug fix

15 years agoObject print bug fix
Polina Dudnik [Fri, 11 Sep 2009 15:59:08 +0000 (10:59 -0500)]
Object print bug fix

15 years agoMOESI data corruption bug fix
Polina Dudnik [Fri, 11 Sep 2009 15:58:37 +0000 (10:58 -0500)]
MOESI data corruption bug fix

15 years agoSCons fix to always make MemTest object
Polina Dudnik [Tue, 1 Sep 2009 15:38:25 +0000 (10:38 -0500)]
SCons fix to always make MemTest object

15 years ago[mq]: MOESI_patch
Polina Dudnik [Mon, 31 Aug 2009 21:38:22 +0000 (16:38 -0500)]
[mq]: MOESI_patch

15 years agoReset the atomics flags if RMW_Read is not followed by a RMW_Read or RMW_Write
Polina Dudnik [Fri, 28 Aug 2009 20:09:41 +0000 (15:09 -0500)]
Reset the atomics flags if RMW_Read is not followed by a RMW_Read or RMW_Write

15 years agoimported patch mi_patch
Polina Dudnik [Fri, 28 Aug 2009 20:04:55 +0000 (15:04 -0500)]
imported patch mi_patch

15 years agoMerge with head.
Gabe Black [Sun, 23 Aug 2009 21:19:14 +0000 (14:19 -0700)]
Merge with head.

15 years agoX86: Preserve the NO_ACCESS flag when giving CDA a specialized interface.
Gabe Black [Sun, 23 Aug 2009 21:16:58 +0000 (14:16 -0700)]
X86: Preserve the NO_ACCESS flag when giving CDA a specialized interface.

15 years agoAtomic CPU: Respect the NO_ACCESS request flag.
Gabe Black [Sun, 23 Aug 2009 21:15:15 +0000 (14:15 -0700)]
Atomic CPU: Respect the NO_ACCESS request flag.

15 years agoX86: fix some simple compile issues
Nathan Binkert [Fri, 21 Aug 2009 16:10:25 +0000 (09:10 -0700)]
X86: fix some simple compile issues
static should not be used for constants that are not inside a class definition.

15 years agoRTC: Make calls to writeData update the RTCs internal representation of time.
Gabe Black [Fri, 21 Aug 2009 06:09:03 +0000 (23:09 -0700)]
RTC: Make calls to writeData update the RTCs internal representation of time.

15 years agoX86: Make the real time clock actually keep track of time.
Gabe Black [Thu, 20 Aug 2009 07:42:43 +0000 (00:42 -0700)]
X86: Make the real time clock actually keep track of time.

15 years agoX86: Fix the decoding for and fill out FST and FSTP.
Gabe Black [Thu, 20 Aug 2009 07:42:14 +0000 (00:42 -0700)]
X86: Fix the decoding for and fill out FST and FSTP.

15 years agoX86: Add microassembler symbols for floating point stack register operands.
Gabe Black [Thu, 20 Aug 2009 07:41:27 +0000 (00:41 -0700)]
X86: Add microassembler symbols for floating point stack register operands.

15 years agoX86: Don't insist on binary encoding for the RTC since we implement BCD.
Gabe Black [Thu, 20 Aug 2009 07:40:14 +0000 (00:40 -0700)]
X86: Don't insist on binary encoding for the RTC since we implement BCD.

15 years agoX86: Decode the immediate byte opcode extension for 3dNow! instructions.
Gabe Black [Tue, 18 Aug 2009 07:52:47 +0000 (00:52 -0700)]
X86: Decode the immediate byte opcode extension for 3dNow! instructions.

15 years agoX86: Decode three byte opcodes.
Gabe Black [Tue, 18 Aug 2009 07:52:45 +0000 (00:52 -0700)]
X86: Decode three byte opcodes.

15 years agoMerge with head.
Gabe Black [Tue, 18 Aug 2009 05:39:10 +0000 (22:39 -0700)]
Merge with head.

15 years agoX86: Update stats for new SSE instructions.
Gabe Black [Tue, 18 Aug 2009 05:27:30 +0000 (22:27 -0700)]
X86: Update stats for new SSE instructions.

15 years agoX86: Move the simulated date in X86_FS forward to 2012.
Gabe Black [Tue, 18 Aug 2009 03:25:15 +0000 (20:25 -0700)]
X86: Move the simulated date in X86_FS forward to 2012.

15 years agoX86: Double check the two byte portion of the decoder and fix bugs/clean up.
Gabe Black [Tue, 18 Aug 2009 03:25:15 +0000 (20:25 -0700)]
X86: Double check the two byte portion of the decoder and fix bugs/clean up.

15 years agoX86: Implement MOVNTI.
Gabe Black [Tue, 18 Aug 2009 03:25:15 +0000 (20:25 -0700)]
X86: Implement MOVNTI.

15 years agoX86: Initialize the MXCSR in SE mode.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Initialize the MXCSR in SE mode.

15 years agoX86: Implement MOVQ2DQ.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement MOVQ2DQ.

15 years agoX86: Implement MOVDQ2Q.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement MOVDQ2Q.

15 years agoX86: Implement the media instructions that convert fp values to ints.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement the media instructions that convert fp values to ints.

15 years agoX86: Implement a microop for converting fp values to ints.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement a microop for converting fp values to ints.

15 years agoX86: Implement the instructions that compare fp values and write a mask as a result.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement the instructions that compare fp values and write a mask as a result.

15 years agoX86: Implement a microop that compares fp values and writes a mask as a result.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement a microop that compares fp values and writes a mask as a result.

15 years agoX86: Implement the instructions that compare fp values and write to rflags.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement the instructions that compare fp values and write to rflags.

15 years agoX86: Implement a microop that compares fp values and writes to rflags.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement a microop that compares fp values and writes to rflags.

15 years agoX86: Implement MOVSS.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement MOVSS.

15 years agoX86: Implement LDMXCSR.
Gabe Black [Tue, 18 Aug 2009 03:25:14 +0000 (20:25 -0700)]
X86: Implement LDMXCSR.

15 years agoX86: Implement STMXCSR.
Gabe Black [Tue, 18 Aug 2009 03:25:13 +0000 (20:25 -0700)]
X86: Implement STMXCSR.

15 years agoX86: Implement the shuffle media instructions.
Gabe Black [Tue, 18 Aug 2009 03:25:13 +0000 (20:25 -0700)]
X86: Implement the shuffle media instructions.

15 years agoX86: Implement a shuffle media microop.
Gabe Black [Tue, 18 Aug 2009 03:25:13 +0000 (20:25 -0700)]
X86: Implement a shuffle media microop.

15 years agoX86: Implement the mask move instructions.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement the mask move instructions.

15 years agoX86: Implement a mask move microop.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement a mask move microop.

15 years agoX86: Implement the instructions that move sign bits.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement the instructions that move sign bits.

15 years agoX86: Implement a microop that moves sign bits.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement a microop that moves sign bits.

15 years agoX86: Implement the insert/extract instructions.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Implement the insert/extract instructions.

15 years agoX86: Fix a bug in the decoder where the insert/extract instructions go.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Fix a bug in the decoder where the insert/extract instructions go.

15 years agoX86: Extend mov2int and mov2fp so they can support insert and extract instructions.
Gabe Black [Tue, 18 Aug 2009 03:22:56 +0000 (20:22 -0700)]
X86: Extend mov2int and mov2fp so they can support insert and extract instructions.

15 years agoX86: Implement the media average instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the media average instructions.

15 years agoX86: Implement a media average microop.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement a media average microop.

15 years agoX86: Implement the multiply and add instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the multiply and add instructions.

15 years agoX86: Let the integer multiply microop use every other possible source value.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Let the integer multiply microop use every other possible source value.

15 years agoX86: Implement the media shifts that operate on 64 bits or less at a time.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the media shifts that operate on 64 bits or less at a time.

15 years agoX86: Implement the media shift microops. These don't handle full 128 bit wide shifts.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the media shift microops. These don't handle full 128 bit wide shifts.

15 years agoX86: Implement the sum of absolute differences instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement the sum of absolute differences instructions.

15 years agoX86: Implement a "sum of absolute differences" microop.
Gabe Black [Tue, 18 Aug 2009 03:15:16 +0000 (20:15 -0700)]
X86: Implement a "sum of absolute differences" microop.

15 years agoX86: Implement the media integer subtract instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:15 +0000 (20:15 -0700)]
X86: Implement the media integer subtract instructions.

15 years agoX86: Implement an integer media subtract microop.
Gabe Black [Tue, 18 Aug 2009 03:15:15 +0000 (20:15 -0700)]
X86: Implement an integer media subtract microop.

15 years agoX86: Implement the integer media multiply instructions.
Gabe Black [Tue, 18 Aug 2009 03:15:15 +0000 (20:15 -0700)]
X86: Implement the integer media multiply instructions.

15 years agoX86: Implement a media integer multiply microop.
Gabe Black [Tue, 18 Aug 2009 03:15:15 +0000 (20:15 -0700)]
X86: Implement a media integer multiply microop.

15 years agoX86: Make larger blocks of instructions use the Inst format by default.
Gabe Black [Tue, 18 Aug 2009 03:04:03 +0000 (20:04 -0700)]
X86: Make larger blocks of instructions use the Inst format by default.

15 years agoX86: Implement the integer media max instructions.
Gabe Black [Tue, 18 Aug 2009 03:04:03 +0000 (20:04 -0700)]
X86: Implement the integer media max instructions.

15 years agoX86: Implement an integer media max microop.
Gabe Black [Tue, 18 Aug 2009 03:04:03 +0000 (20:04 -0700)]
X86: Implement an integer media max microop.

15 years agoX86: Implement the integer media min instructions.
Gabe Black [Tue, 18 Aug 2009 03:04:03 +0000 (20:04 -0700)]
X86: Implement the integer media min instructions.

15 years agoX86: Add a media integer min microop.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Add a media integer min microop.

15 years agoX86: Implement the media integer addition instructions.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement the media integer addition instructions.

15 years agoX86: Implement an integer media addition microop with optional saturation.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement an integer media addition microop with optional saturation.

15 years agoX86: Implement the instructions that convert between forms of floating point.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement the instructions that convert between forms of floating point.

15 years agoX86: Implement a media microop that converts between floating point data types.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement a media microop that converts between floating point data types.

15 years agoX86: Implement the instructions that compare fp values and write masks as the result.
Gabe Black [Tue, 18 Aug 2009 03:04:02 +0000 (20:04 -0700)]
X86: Implement the instructions that compare fp values and write masks as the result.