gem5.git
12 years agoPacket: Put back part of the assert
Ali Saidi [Thu, 12 Jan 2012 00:27:11 +0000 (19:27 -0500)]
Packet: Put back part of the assert

12 years agoPacket: Remove meaningless assert statement
Ali Saidi [Thu, 12 Jan 2012 00:24:13 +0000 (19:24 -0500)]
Packet: Remove meaningless assert statement

12 years agoRuby: Use map option for selecting b/w sparse and memory vector
Nilay Vaish [Wed, 11 Jan 2012 19:53:38 +0000 (13:53 -0600)]
Ruby: Use map option for selecting b/w sparse and memory vector

12 years agoConfig: Add support for restoring using a timing CPU
Nilay Vaish [Wed, 11 Jan 2012 19:50:18 +0000 (13:50 -0600)]
Config: Add support for restoring using a timing CPU
Currently there is an assumption that restoration from a checkpoint will
happen by first restoring to an atomic CPU and then switching to a timing
CPU. This patch adds support for directly restoring to a timing CPU. It
adds a new option '--restore-with-cpu' which is used to specify the type
of CPU to which the checkpoint should be restored to. It defaults to
'atomic' which was the case before.

12 years agoRuby: Resurrect Cache Warmup Capability
Nilay Vaish [Wed, 11 Jan 2012 19:48:48 +0000 (13:48 -0600)]
Ruby: Resurrect Cache Warmup Capability
This patch resurrects ruby's cache warmup capability. It essentially
makes use of all the infrastructure that was added to the controllers,
memories and the cache recorder.

12 years agoRuby Debug Flags: Remove one, add another
Nilay Vaish [Wed, 11 Jan 2012 19:42:00 +0000 (13:42 -0600)]
Ruby Debug Flags: Remove one, add another
The flag RubyStoreBuffer is being removed, instead RubySystem is being added

12 years agoRuby Port: Add a list of cpu ports attached to this port
Nilay Vaish [Wed, 11 Jan 2012 19:39:58 +0000 (13:39 -0600)]
Ruby Port: Add a list of cpu ports attached to this port

12 years agoRuby EventQueue: Remove unused functions
Nilay Vaish [Wed, 11 Jan 2012 19:31:04 +0000 (13:31 -0600)]
Ruby EventQueue: Remove unused functions

12 years agoRuby Sparse Memory: Add function for collating blocks
Nilay Vaish [Wed, 11 Jan 2012 19:29:54 +0000 (13:29 -0600)]
Ruby Sparse Memory: Add function for collating blocks
This patch adds function to the Sparse Memory so that the blocks can be
recorded in a cache trace. The blocks are added to the cache recorder
which can later write them into a file.

12 years agoRuby: Add infrastructure for recording cache contents
Nilay Vaish [Wed, 11 Jan 2012 19:29:15 +0000 (13:29 -0600)]
Ruby: Add infrastructure for recording cache contents
This patch changes CacheRecorder, CacheMemory, CacheControllers
so that the contents of a cache can be recorded for checkpointing
purposes.

12 years agoRuby Memory Vector: Functions for collating and populating pages
Nilay Vaish [Wed, 11 Jan 2012 17:46:23 +0000 (11:46 -0600)]
Ruby Memory Vector: Functions for collating and populating pages
This patch adds functions to the memory vector class that can be used for
collating memory pages to raw trace and for populating pages from a raw
trace.

12 years agoRuby: remove the files related to the tracer
Nilay Vaish [Wed, 11 Jan 2012 00:35:45 +0000 (18:35 -0600)]
Ruby: remove the files related to the tracer
The Ruby Tracer is out of date with the changes that are being carried
out to support checkpointing. Hence, it needs to be removed.

12 years agohgfilesize: skip files that have been removed
Nathan Binkert [Wed, 11 Jan 2012 06:50:54 +0000 (22:50 -0800)]
hgfilesize: skip files that have been removed

12 years agoMOESI Hammer: Update regression test output
Nilay Vaish [Tue, 10 Jan 2012 23:28:49 +0000 (17:28 -0600)]
MOESI Hammer: Update regression test output

12 years agoMOESI Hammer: Remove a couple of bugs
Nilay Vaish [Tue, 10 Jan 2012 23:28:44 +0000 (17:28 -0600)]
MOESI Hammer: Remove a couple of bugs
A couple of bugs were observed while building checkpointing support in Ruby.
This patch changes transitions to remove those errors.

12 years agoSparse Memory: Simplify the structure for an entry
Nilay Vaish [Tue, 10 Jan 2012 16:20:32 +0000 (10:20 -0600)]
Sparse Memory: Simplify the structure for an entry
The SparseMemEntry structure includes just one void* pointer. It seems
unnecessary that we have a structure for this. The patch removes the
structure and makes use of a typedef on void* instead.

12 years agoAutomated merge with ssh://repo.gem5.org/gem5
Ali Saidi [Tue, 10 Jan 2012 16:18:08 +0000 (10:18 -0600)]
Automated merge with ssh://repo.gem5.org/gem5

12 years agoconfig: Fix json output for Python lt 2.6.
Ali Saidi [Tue, 10 Jan 2012 16:17:33 +0000 (10:17 -0600)]
config: Fix json output for Python lt 2.6.

12 years agoDPRINTF: Improve some dprintf messages.
Nilay Vaish [Tue, 10 Jan 2012 16:15:02 +0000 (10:15 -0600)]
DPRINTF: Improve some dprintf messages.

12 years agoX86 Regressions: Update stats due to fence instruction
Nilay Vaish [Tue, 10 Jan 2012 15:59:01 +0000 (09:59 -0600)]
X86 Regressions: Update stats due to fence instruction

12 years agoX86: Add memory fence to I/O instructions
Nilay Vaish [Tue, 10 Jan 2012 02:13:31 +0000 (20:13 -0600)]
X86: Add memory fence to I/O instructions

12 years agoConfig: Remove short option string for cpu type
Nilay Vaish [Tue, 10 Jan 2012 12:35:40 +0000 (06:35 -0600)]
Config: Remove short option string for cpu type

12 years agoCPU: Remove Alpha-specific PC alignment check.
Anders Handler [Tue, 10 Jan 2012 01:05:07 +0000 (20:05 -0500)]
CPU: Remove Alpha-specific PC alignment check.

12 years agoConfig: Fix issue with JSON output
Ali Saidi [Tue, 10 Jan 2012 01:04:28 +0000 (20:04 -0500)]
Config: Fix issue with JSON output

12 years agoPacket: Add derived class FunctionalPacket to enable partial functional reads
Geoffrey Blake [Tue, 10 Jan 2012 00:10:05 +0000 (18:10 -0600)]
Packet: Add derived class FunctionalPacket to enable partial functional reads

This adds the derived class FunctionalPacket to fix a long standing
deficiency in the Packet class where it was unable to handle finding data to
partially satisfy a functional access.  Made this a derived class as
functional accesses are used only in certain contexts and to not add any
additional overhead to the existing Packet class.

12 years agostats: fix Vector2d to display stats correctly when y_subname is not specified.
Dam Sunwoo [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
stats: fix Vector2d to display stats correctly when y_subname is not specified.

Vector2d stats with no y_subname were not displayed as the VectorPrint subname was not initialized correctly to reflect the empty field.

12 years agosim: Enable sampling of run-time for code-sections marked using pseudo insts.
Prakash Ramrakhyani [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
sim: Enable sampling of run-time for code-sections marked using pseudo insts.

This patch adds a mechanism to collect run time samples for specific portions
of a benchmark, using work_begin and work_end pseudo instructions.It also enhances
the histogram stat to report geometric mean.

12 years agoO3: Remove some asserts that no longer seem to be valid.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
O3: Remove some asserts that no longer seem to be valid.

12 years agoconfig: support outputing a pickle of the configuration tree
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
config: support outputing a pickle of the configuration tree

12 years agomem: Change DPRINTF prints more useful destination port number.
Min Kyu Jeong [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
mem: Change DPRINTF prints more useful destination port number.
Old code prints 0 for destination since pkt->getDest() returns 0 for
pkt->getDest() == Packet::Broadcast, which is always true.

12 years agoO3: Add support of function tracing with O3 CPU.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
O3: Add support of function tracing with O3 CPU.

12 years agoARM: Add support for running multiple systems
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
ARM: Add support for running multiple systems

12 years agostats: Update stats for ARM init param changes.
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
stats: Update stats for ARM init param changes.

12 years agoARM: Add support for initparam m5 op
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
ARM: Add support for initparam m5 op

12 years agoBase: Fixed shift amount in genrand() to work with large numbers
Dam Sunwoo [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
Base: Fixed shift amount in genrand() to work with large numbers

The previous version didn't work correctly with max integer values (2^31-1 for
32-bit, 2^63-1 for 64bit version), causing "shift" to become -1.  For smaller
numbers, it wouldn't have caused functional errors, but would have resulted in
more than necessary loops in the while loop.  Special-cased cases when (max + 1
== 0) to prevent the ceilLog2 functions from failing.

12 years agocpu2000: Add missing art benchmark to all
Ali Saidi [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
cpu2000: Add missing art benchmark to all

12 years agoSWIG: Make gem5 compile and link with swig 2.0.4
Andreas Hansson [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
SWIG: Make gem5 compile and link with swig 2.0.4

To make gem5 compile and run with swig 2.0.4 a few minor fixes are
necessary, the fail label issues by swig must not be treated as an
error by gcc (tested with gcc 4.2.1), and the vector wrappers must
have SWIGPY_SLICE_ARG defined which happens in pycontainer.swg,
included through std_container.i. By adding the aforementioned include
to the vector wrappers everything seems to work.

12 years agoMAC: Make gem5 compile and run on MacOSX 10.7.2
Andreas Hansson [Tue, 10 Jan 2012 00:08:20 +0000 (18:08 -0600)]
MAC: Make gem5 compile and run on MacOSX 10.7.2

Adaptations to make gem5 compile and run on OSX 10.7.2, with a stock
gcc 4.2.1 and the remaining dependencies from macports, i.e. python
2.7,.2 swig 2.0.4, mercurial 2.0. The changes include an adaptation of
the SConstruct to handle non-library linker flags, and Darwin-specific
code to find the memory usage of gem5. A number of Ruby files relied
on ambigious uint (without the 32 suffix) which caused compilation
errors.

12 years agoMerged with Nate's commit
Nilay Vaish [Sat, 7 Jan 2012 13:40:44 +0000 (07:40 -0600)]
Merged with Nate's commit

12 years agoRuby Cache: Add param for marking caches as instruction only
Nilay Vaish [Sat, 7 Jan 2012 13:38:53 +0000 (07:38 -0600)]
Ruby Cache: Add param for marking caches as instruction only

12 years agohooks: Add a hook to limit the size of any individual file
Nathan Binkert [Fri, 6 Jan 2012 23:19:13 +0000 (18:19 -0500)]
hooks: Add a hook to limit the size of any individual file

12 years agoAbstractController: Remove some of the unused functions
Nilay Vaish [Fri, 6 Jan 2012 11:11:07 +0000 (05:11 -0600)]
AbstractController: Remove some of the unused functions

--HG--
extra : rebase_source : 78df7398a609f1db8a2592cd2d1bdc9156d1b8c3

12 years agoRuby Set: Move NUMBER_WORDS_PER_SET to Set.hh
Nilay Vaish [Fri, 6 Jan 2012 11:11:07 +0000 (05:11 -0600)]
Ruby Set: Move NUMBER_WORDS_PER_SET to Set.hh
This constant is currently in System.hh, but is only used in Set.hh. It
is being moved to Set.hh to remove this artificial dependence of Set.hh
on System.hh.

--HG--
extra : rebase_source : 683c43a5eeaec4f5f523b3ea32953a07f65cfee7

12 years agoConfig: Add an option of type 'choice' for cpu type
Nilay Vaish [Thu, 5 Jan 2012 17:04:25 +0000 (11:04 -0600)]
Config: Add an option of type 'choice' for cpu type
This patch adds a new option for cpu type. This option is of type 'choice'
which is similar to a C++ enum, except that it takes string values as
possible choices. Following options are being removed -- detailed, timing,
inorder.

--HG--
extra : rebase_source : 58885e2e8a88b6af8e6ff884a5922059dbb1a6cb

12 years agoeventq: add a function for replacing head of the queue
Nilay Vaish [Thu, 5 Jan 2012 17:02:56 +0000 (11:02 -0600)]
eventq: add a function for replacing head of the queue
This patch adds a function for replacing the event at the head of the queue
with another event. This helps in running a different set of events. Events
already scheduled can processed by replacing the original head event back.
This function has been specifically added to support cache warmup and
cooldown required for creating and restoring checkpoints.

--HG--
extra : rebase_source : ed6e2905720b6bfdefd020fab76235ccf33d28d1

12 years agoMESI Coherence Protocol: Fix L2 miss statistics
Nilay Vaish [Thu, 5 Jan 2012 17:00:45 +0000 (11:00 -0600)]
MESI Coherence Protocol: Fix L2 miss statistics
This patch removes calls to uu_ProfileMiss from transitions where the request
is satisfied by the L2 cache controller.

--HG--
extra : rebase_source : e59fe7c6cd5795c0019cf178dd3b062d73cc2ff5

12 years agoX86 TLB: Move a DPRINTF to its correct place
Nilay Vaish [Thu, 5 Jan 2012 17:00:32 +0000 (11:00 -0600)]
X86 TLB: Move a DPRINTF to its correct place
The DPRINTF for doing protection checks appears after the checks have been
carried out. It is possible that the function returns while the checks are
being carried, in which case the printf is missed out. This patch moves the
DPRINTF before the checks.

--HG--
extra : rebase_source : 172896057e593022444d882ea93323a5d9f77a89

12 years agoRuby: Shuffle some of the included files
Nilay Vaish [Sun, 1 Jan 2012 00:44:51 +0000 (18:44 -0600)]
Ruby: Shuffle some of the included files
This patch adds and removes included files from some of the files so as to
organize remove some false dependencies and include some files directly
instead of transitively.

--HG--
extra : rebase_source : 09b482ee9ae00b3a204ace0c63550bc3ca220134

12 years agoSLICC: Use pointers for directory entries
Nilay Vaish [Sat, 31 Dec 2011 22:38:30 +0000 (16:38 -0600)]
SLICC: Use pointers for directory entries
SLICC uses pointers for cache and TBE entries but not for directory entries.
This patch changes the protocols, SLICC and Ruby memory system so that even
directory entries are referenced using pointers.

--HG--
extra : rebase_source : abeb4ac78033d003153751f216fd1948251fcfad

13 years agoARM: Update config files for Android/BBench images available on website.
Anthony Gutierrez [Thu, 15 Dec 2011 05:43:35 +0000 (00:43 -0500)]
ARM: Update config files for Android/BBench images available on website.

--HG--
extra : rebase_source : ca98021c3f96422374fbd4500da312a5a9dd00df

13 years agoIO: Fix bug in DMA Device where receiving a snoop on DMA port would cause a panic. stable_2012_02_02
Ali Saidi [Thu, 15 Dec 2011 05:09:46 +0000 (00:09 -0500)]
IO: Fix bug in DMA Device where receiving a snoop on DMA port would cause a panic.

--HG--
extra : rebase_source : 8152d4fa7d7354c9f150a450ae0710e95141ba4b

13 years agogcc: fix unused variable warnings from GCC 4.6.1
Nathan Binkert [Tue, 13 Dec 2011 19:49:27 +0000 (11:49 -0800)]
gcc: fix unused variable warnings from GCC 4.6.1

--HG--
extra : rebase_source : f9e22de341493a25ac6106c16ac35c61c128a080

13 years agoTrace: FIx issue with creation of trace file with output dir overhaul.
Ali Saidi [Fri, 2 Dec 2011 01:36:22 +0000 (17:36 -0800)]
Trace: FIx issue with creation of trace file with output dir overhaul.

--HG--
extra : rebase_source : c1ab57ea8805703d97cdee4f32410821a2d2a9db

13 years agoregress: updated hammer memtest and rubytest outputs
Brad Beckmann [Thu, 1 Dec 2011 19:54:30 +0000 (11:54 -0800)]
regress: updated hammer memtest and rubytest outputs

--HG--
extra : rebase_source : b02ad38b477d87bf28f7677c985ec7fe9a7d4694

13 years agoconfig: command line option to specify ruby output file
gloh [Thu, 1 Dec 2011 18:08:52 +0000 (10:08 -0800)]
config: command line option to specify ruby output file

--HG--
extra : rebase_source : df2237b2ce01b1a3e1d6f112a62deadde4d92420

13 years agoMOESI_hammer: fixed L2 to L1 infinite stalls and deadlock
Brad Beckmann [Thu, 1 Dec 2011 18:08:52 +0000 (10:08 -0800)]
MOESI_hammer: fixed L2 to L1 infinite stalls and deadlock

--HG--
extra : rebase_source : 90f217f28e195a8cee5d64b25c913b452d818676

13 years agophysmem: Improved fatal message for size mismatch
Brad Beckmann [Thu, 1 Dec 2011 18:08:52 +0000 (10:08 -0800)]
physmem: Improved fatal message for size mismatch

--HG--
extra : rebase_source : 16da1c63263f8fd6fef9a842c577343cd6246a35

13 years agoVNC: Add support for capturing frame buffer to file each time it is changed.
Chris Emmons [Thu, 1 Dec 2011 08:15:26 +0000 (00:15 -0800)]
VNC: Add support for capturing frame buffer to file each time it is changed.

When a change in the frame buffer from the VNC server is detected, the new
frame is stored out to the m5out/frames_*/ directory.  Specifiy the flag
"--frame-capture" when running configs/example/fs.py to enable this behavior.

--HG--
extra : rebase_source : d4e08e83f4fa6ff79f3dc9c433fc1f0487e057fc

13 years agoOutput: Add hierarchical output support and cleanup existing codebase.
Chris Emmons [Thu, 1 Dec 2011 08:15:25 +0000 (00:15 -0800)]
Output: Add hierarchical output support and cleanup existing codebase.

--HG--
extra : rebase_source : 3301137733cdf5fdb471d56ef7990e7a3a865442

13 years agoSE: Don't warn when not extending stack as it's too noisy with O3.
Ali Saidi [Thu, 1 Dec 2011 08:15:25 +0000 (00:15 -0800)]
SE: Don't warn when not extending stack as it's too noisy with O3.

--HG--
extra : rebase_source : e56d1551d42d46b5f357cd63f9891715b664f6fc

13 years agoimported patch ext/stats_updates.patch
Ali Saidi [Thu, 1 Dec 2011 08:15:23 +0000 (00:15 -0800)]
imported patch ext/stats_updates.patch

--HG--
extra : rebase_source : 4697ba9eb1ca8c67fe0915fb8340d7d4ae94caba

13 years agoO3: Remove hardcoded tgts_per_mshr in O3CPU.py.
Chander Sudanthi [Thu, 1 Dec 2011 08:15:22 +0000 (00:15 -0800)]
O3: Remove hardcoded tgts_per_mshr in O3CPU.py.

There are two lines in O3CPU.py that set the dcache and icache
tgts_per_mshr to 20, ignoring any pre-configured value of tgts_per_mshr.
This patch removes these hardcoded lines from O3CPU.py and sets the default
L1 cache mshr targets to 20.

--HG--
extra : rebase_source : 6f92d950e90496a3102967442814e97dc84db08b

13 years agoDevice: Make changes necessary to support a coherent page walker cache.
Mitchell Hayenga [Thu, 1 Dec 2011 08:15:22 +0000 (00:15 -0800)]
Device: Make changes necessary to support a coherent page walker cache.

Adds the flag 'recvSnoops' which enables pagewalkers using DmaPorts,
to properly configure snoops.

--HG--
extra : rebase_source : 64207bef62c3268ddff2236ee4adae873812325f

13 years agoARM: Add support for having a TLB cache.
Ali Saidi [Thu, 1 Dec 2011 08:15:22 +0000 (00:15 -0800)]
ARM: Add support for having a TLB cache.

--HG--
extra : rebase_source : 7a5780ab74d7c294682738c7ccb3ce8d56c6fd63

13 years agoARM: Add IsSerializeAfter and IsNonSpeculative flag to the syscall instruction .
Ali Saidi [Thu, 1 Dec 2011 08:15:22 +0000 (00:15 -0800)]
ARM: Add IsSerializeAfter and IsNonSpeculative flag to the syscall instruction .

Squashes the subsequent instructions in O3 pipe after the service call, so that
they see the effect of the system call when re-executed. This isn't really an issue
with FS mode, but can show up in SE mode.

--HG--
extra : rebase_source : 613a69fe1d9834261e25a8cd340aa6b47578e1fe

13 years agoO3: Add stat that counts how many cycles the O3 cpu was quiesced.
Ali Saidi [Thu, 1 Dec 2011 08:15:22 +0000 (00:15 -0800)]
O3: Add stat that counts how many cycles the O3 cpu was quiesced.

--HG--
extra : rebase_source : 043b9307eef3c5b87f8e6370765641e016ed1fa7

13 years agoX86: Fix a bad segmentation check for the stack segment.
Gabe Black [Thu, 1 Dec 2011 05:17:14 +0000 (00:17 -0500)]
X86: Fix a bad segmentation check for the stack segment.

--HG--
extra : rebase_source : 755f4f6eae52f88ed516a1f1ac9e2565725d89c1

13 years agoSPARC: update SE stats for FP fix
Ali Saidi [Wed, 30 Nov 2011 23:57:11 +0000 (18:57 -0500)]
SPARC: update SE stats for FP fix

--HG--
extra : rebase_source : 954a009a9f8eef6cae6050ee99f264e0fb456f85

13 years agoSPARC: Minor style fix.
Gabe Black [Mon, 28 Nov 2011 09:35:55 +0000 (04:35 -0500)]
SPARC: Minor style fix.

I forgot to fix this as well per Ali's feedback.

--HG--
extra : rebase_source : e70d031cb5f91e2212a1a73ea1769bf0549b826c

13 years agoSPARC: Fixing a minor copy-paste bug using the wrong variable
Andreas Hansson [Mon, 28 Nov 2011 09:34:18 +0000 (04:34 -0500)]
SPARC: Fixing a minor copy-paste bug using the wrong variable

There was a bug in the mm_disk implementation where a copy paste error
resulted in the d32 variable not being initialised (as it incorrectly
was used instead of d16), and gcc 4.5 complaining.

--HG--
extra : rebase_source : 9515e87b188b9eac189da8034cb13c3bf7d9e20b

13 years agoSPARC: Update the FS stats for the recent FP fix.
Gabe Black [Mon, 28 Nov 2011 09:19:57 +0000 (04:19 -0500)]
SPARC: Update the FS stats for the recent FP fix.

--HG--
extra : rebase_source : 643e3541507576e30d9cd4dec045e5b94532c342

13 years agoSPARC: Isolate FP operations enough to prevent code/rounding mode reordering.
Gabe Black [Mon, 28 Nov 2011 03:00:58 +0000 (22:00 -0500)]
SPARC: Isolate FP operations enough to prevent code/rounding mode reordering.

--HG--
extra : rebase_source : ee79ab89c5a707c1294f38abb84c60f8ef64196c

13 years agoCompiler: Add an M5_NO_INLINE define.
Gabe Black [Mon, 28 Nov 2011 03:00:57 +0000 (22:00 -0500)]
Compiler: Add an M5_NO_INLINE define.

--HG--
extra : rebase_source : 1f5e8b7bb6b0a8bb4f951b6d7189964d96ed5df1

13 years agoTopology: bug fix in external link initialization
Tushar Krishna [Wed, 23 Nov 2011 21:34:13 +0000 (16:34 -0500)]
Topology: bug fix in external link initialization

--HG--
extra : rebase_source : c226cd1e5e5ed4d4c64fa9427de4905bd8335e34

13 years agoRemove standard_1level_CMP-protocol.sm include statement from Network
Tushar Krishna [Wed, 23 Nov 2011 01:11:18 +0000 (20:11 -0500)]
Remove standard_1level_CMP-protocol.sm include statement from Network

--HG--
extra : rebase_source : 51a2dd4bb643e3dc5b0218a6190cf5c1989f9691

13 years agoX86: Fix the constant detecting three byte opcodes in the predecoder.
Gabe Black [Sun, 20 Nov 2011 13:10:05 +0000 (05:10 -0800)]
X86: Fix the constant detecting three byte opcodes in the predecoder.

--HG--
extra : rebase_source : b64c3d2348cb73177024695fb6e205d51bf1cda9

13 years agoRegression: Update statistics for x86 long regression tests
Nilay Vaish [Fri, 18 Nov 2011 04:53:56 +0000 (22:53 -0600)]
Regression: Update statistics for x86 long regression tests
This patch updates reference statistics for the regression tests. This
update was necessitated by a recent change in behavior of some instructions
in the x86 architecture.

13 years agoRuby: Process packet instead of RubyRequest in Sequencer
Nilay Vaish [Mon, 14 Nov 2011 23:44:35 +0000 (17:44 -0600)]
Ruby: Process packet instead of RubyRequest in Sequencer
This patch changes the implementation of Ruby's recvTiming() function so
that it pushes a packet in to the Sequencer instead of a RubyRequest. This
requires changes in the Sequencer's makeRequest() and issueRequest()
functions, as they also need to operate on a Packet instead of RubyRequest.

13 years agoGCC: Guard some gcc flags so they're used when available and needed.
Gabe Black [Thu, 10 Nov 2011 05:48:28 +0000 (21:48 -0800)]
GCC: Guard some gcc flags so they're used when available and needed.

13 years agoTests: Update stats due to addition of fence microop
Nilay Vaish [Sat, 5 Nov 2011 20:32:23 +0000 (15:32 -0500)]
Tests: Update stats due to addition of fence microop

13 years agoGARNET: adding a fault model for resilient on-chip network research.
Tushar Krishna [Fri, 4 Nov 2011 22:40:22 +0000 (18:40 -0400)]
GARNET: adding a fault model for resilient on-chip network research.

This patch adds a fault model, which provides the probability of a number of
architectural faults in the interconnection network (e.g., data corruption,
misrouting). These probabilities can be used to realistically inject faults
in GARNET and faithfully evaluate the effectiveness of novel resilient NoC
architectures.

13 years agoMESI Protocol: Add functions for profiling misses
Nilay Vaish [Fri, 4 Nov 2011 16:26:12 +0000 (11:26 -0500)]
MESI Protocol: Add functions for profiling misses

13 years agox86: Add microop for fence
Nilay Vaish [Fri, 4 Nov 2011 03:52:21 +0000 (22:52 -0500)]
x86: Add microop for fence
This patch adds a new microop for memory barrier. The microop itself does
nothing, but since it is marked as a memory barrier, the O3 CPU should flush
all the pending loads and stores before the fence to the memory system.

13 years agoProtocol: Remove standard one and two level files
Nilay Vaish [Fri, 4 Nov 2011 03:52:02 +0000 (22:52 -0500)]
Protocol: Remove standard one and two level files

13 years agoRuby: Remove some unused typedefs
Nilay Vaish [Fri, 4 Nov 2011 03:46:45 +0000 (22:46 -0500)]
Ruby: Remove some unused typedefs
This patch removes some of the unused typedefs. It also moves
some of the typedefs from Global.hh to TypeDefines.hh. The patch
also eliminates the file NodeID.hh.

13 years agoGCC: Get everything working with gcc 4.6.1.
Gabe Black [Mon, 31 Oct 2011 08:09:44 +0000 (01:09 -0700)]
GCC: Get everything working with gcc 4.6.1.

And by "everything" I mean all the quick regressions.

13 years agoCommit due to merge.
Nilay Vaish [Sun, 30 Oct 2011 20:57:39 +0000 (15:57 -0500)]
Commit due to merge.

13 years agoPython: Remove import for random
Nilay Vaish [Sun, 30 Oct 2011 20:55:32 +0000 (15:55 -0500)]
Python: Remove import for random

13 years agoRuby FS: Add the options for kernel and simulation script
Nilay Vaish [Sat, 29 Oct 2011 21:54:57 +0000 (16:54 -0500)]
Ruby FS: Add the options for kernel and simulation script
These options were missing from the script ruby_fs.py. This patch adds these
options to the script.

13 years agoMerged with recent changes.
Nilay Vaish [Fri, 28 Oct 2011 18:04:33 +0000 (13:04 -0500)]
Merged with recent changes.

13 years agoRuby: Reorganize mapping of components
Nilay Vaish [Fri, 28 Oct 2011 18:00:35 +0000 (13:00 -0500)]
Ruby: Reorganize mapping of components
In RubySlicc_ComponentMapping.hh, certain '#define's have been used for
mapping MachineType to GenericMachineType. These '#define's are being
eliminated and the code will now be generated by SLICC instead. Also
are being eliminated some of the unused functions from
RubySlicc_ComponentMapping.sm.

13 years agoSE: move page allocation from PageTable to Process
Steve Reinhardt [Sun, 23 Oct 2011 05:30:08 +0000 (22:30 -0700)]
SE: move page allocation from PageTable to Process

PageTable supported an allocate() call that called back
through the Process to allocate memory, but did not have
a method to map addresses without allocating new pages.
It makes more sense for Process to do the allocation, so
this method was renamed allocateMem() and moved to Process,
and uses a new map() call on PageTable.

The remaining uses of the process pointer in PageTable
were only to get the name and the PID, so by passing these
in directly in the constructor, we can make PageTable
completely independent of Process.

13 years agosyscall_emul: implement MAP_FIXED option to mmap()
Steve Reinhardt [Sun, 23 Oct 2011 05:30:07 +0000 (22:30 -0700)]
syscall_emul: implement MAP_FIXED option to mmap()

13 years agotests: fix spurious scons "Error 1" messages
Steve Reinhardt [Sat, 22 Oct 2011 23:52:07 +0000 (16:52 -0700)]
tests: fix spurious scons "Error 1" messages

Turns out these are due to diff reporting that files
acutally differed via a non-zero exit code.

13 years agodev: clean up PioDevice and DmaDevive getPort() methods.
Steve Reinhardt [Thu, 20 Oct 2011 20:11:56 +0000 (13:11 -0700)]
dev: clean up PioDevice and DmaDevive getPort() methods.

Make DmaDevice::getPort() call PioDevice::getPort() instead
of just copying and pasting the code.

Also move definitions from .hh to .cc file.

13 years agoSimObject: add export_method* hooks to export C++ methods to Python
Steve Reinhardt [Thu, 20 Oct 2011 20:09:10 +0000 (13:09 -0700)]
SimObject: add export_method* hooks to export C++ methods to Python

Replace the (broken as of previous changeset) swig_objdecl() method
that allowed/forced you to substitute a whole new C++ struct
definition for SWIG to wrap with a set of export_method* hooks
that let you just declare a set of C++ methods (or other declarations)
that get inserted in the auto-generated struct.

Restore the System get/setMemoryMode methods, and use this mechanism
to specialize SimObject as well, eliminating teh need for sim_object.i.
Needed bits of sim_object.i are moved to the new pyobject.i.
Also sucked a little SimObject specialization into cxx_param_decl()
allowing us to get rid of src/sim/sim_object_params.hh.  Now the
generation and wrapping of the base SimObject param struct is more
in line with how derived objects are handled.

--HG--
rename : src/python/swig/sim_object.i => src/python/swig/pyobject.i

13 years agoscons/swig: refactor some of the scons/SWIG code
Steve Reinhardt [Thu, 20 Oct 2011 20:08:49 +0000 (13:08 -0700)]
scons/swig: refactor some of the scons/SWIG code

- Move the random bits of SWIG code generation out of src/SConscript
  file and into methods on the objects being wrapped.
- Cleaned up some variable naming and added some comments to make
  the process a little clearer.
- Did a little generated file/module renaming:
   - vptype_Foo now Foo_vector
   - init_Foo is now Foo_init
  This makes it easier to see all the Foo-related files in a
  sorted directory listing.
- Made cxx_predecls and swig_predecls normal SimObject classmethods.
- Got rid of swig_objdecls hook, even though this breaks the System
  objects get/setMemoryMode method exports.  Will be fixing this in
  a future changeset.

13 years agoARM: Fix small bug in config script that prevents android from booting
Ali Saidi [Wed, 19 Oct 2011 23:08:31 +0000 (18:08 -0500)]
ARM: Fix small bug in config script that prevents android from booting

13 years agoscons: fix building of shared objects
Nathan Binkert [Tue, 18 Oct 2011 00:06:40 +0000 (17:06 -0700)]
scons: fix building of shared objects

13 years agomc146818: Correctly serialize tickEvent
Nilay Vaish [Mon, 10 Oct 2011 22:01:33 +0000 (17:01 -0500)]
mc146818: Correctly serialize tickEvent
'tickEvent' was not being serialized as in its place 'event' was being used.
This patch rectifies this error.