Commit graph

592 commits

Author SHA1 Message Date
Nathan Binkert 2278363015 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
2009-09-22 18:12:39 -07:00
Nathan Binkert e9288b2cd3 scons: add slicc and ply to sys.path and PYTHONPATH so everyone has access 2009-09-22 15:24:16 -07:00
Nathan Binkert 9a8cb7db7e 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
2009-09-22 15:24:16 -07:00
Polina Dudnik c7f0cf9803 Added new MESI files 2009-09-11 16:19:31 -05:00
Polina Dudnik 8cdd7265ce Config adjustments for MESI 2009-09-11 11:07:22 -05:00
Polina Dudnik fc9ebc60db Somayeh's MESI protocol with Polina's bug fixes 2009-09-11 11:04:55 -05:00
Polina Dudnik 7ef3e3b2c2 MI data corruption bug fix 2009-09-11 10:59:35 -05:00
Polina Dudnik 353a69eae7 Object print bug fix 2009-09-11 10:59:08 -05:00
Polina Dudnik 2af2e590e1 MOESI data corruption bug fix 2009-09-11 10:58:37 -05:00
Polina Dudnik 041a8cefc7 [mq]: MOESI_patch 2009-08-31 16:38:22 -05:00
Polina Dudnik a02dbd61f9 Reset the atomics flags if RMW_Read is not followed by a RMW_Read or RMW_Write 2009-08-28 15:09:41 -05:00
Polina Dudnik 95da6dc84c imported patch mi_patch 2009-08-28 15:04:55 -05:00
Polina Dudnik 6654fe02da Made servicing_atomic a counter and added started writes:
a function for setting the flag to indicate that
the rmw_writes started issuing
2009-08-15 12:45:11 -05:00
Polina Dudnik a8e11cf3bb Bug fix: indicate when writes started coming in 2009-08-14 17:57:54 -05:00
Polina Dudnik ee3226d973 Merge with current branch 2009-08-14 15:30:25 -05:00
Polina Dudnik 0b0f47ec16 Added proc_id to CacheMsg for SMT.
Not yet necessary, but in case each of the threads
is allowed to initiate an atomic, will come in handy
2009-08-14 15:30:07 -05:00
Polina Dudnik de25decf37 Multi-line RMW handling 2009-08-14 14:24:15 -05:00
Polina Dudnik 4b924fd16c SMT atomics modifications:
don't allow enquing from other threads if servicing and atomic for a thread
2009-08-14 14:06:14 -05:00
Derek Hower bcaf93d182 Automated merge with ssh://hg@m5sim.org/m5 2009-08-13 10:37:37 -05:00
Derek Hower db40cb8f51 ruby: config bugfix 2009-08-13 10:37:09 -05:00
Tushar Krishna 35082a67b6 ruby/network data_msg_size bug fix with updated stats 2009-08-11 15:19:04 -07:00
Brad Beckmann b89add1e3f merged Tushar's bug fix with public repository changes 2009-08-11 12:22:41 -07:00
Derek Hower 1a452d228b protocol: added recycle actions to MOESI DMA events 2009-08-09 13:58:40 -05:00
Tushar Krishna b952eb19c1 bug fix for data_msg_size in network/Network.cc 2009-08-07 13:59:40 -07:00
Derek Hower cbc52ef6c5 fixed MOESI_CMP_directory bug 2009-08-06 03:41:28 -05:00
Derek Hower f5e0c56da2 protocol: fixed MOESI_CMP_directory bug 2009-08-06 01:15:55 -05:00
Derek Hower a1b5a6320f ruby: better configuration assert message 2009-08-06 01:15:23 -05:00
Derek Hower dff7c9eaa0 merge 2009-08-05 14:23:32 -05:00
Derek Hower fbf7391bb0 ruby: configuration supports multiple runs in same session
These changes allow to run Ruby-gems multiple times from the same
ruby-lang script with different configurations
2009-08-05 14:20:32 -05:00
Derek Hower 1276df51e2 protocol: made MI_example dma mapping generic 2009-08-05 14:17:23 -05:00
Derek Hower 7f012ef8da ruby: made mapAddressToRange based off a bit count 2009-08-04 23:05:37 -05:00
Derek Hower 33b28fde7a slicc: added MOESI_CMP_directory, DMA SequencerMsg, parameterized controllers
This changeset contains a lot of different changes that are too
mingled to separate.  They are:

1.  Added MOESI_CMP_directory

I made the changes necessary to bring back MOESI_CMP_directory,
including adding a DMA controller.  I got rid of MOESI_CMP_directory_m
and made MOESI_CMP_directory use a memory controller. Added a new
configuration for two level protocols in general, and
MOESI_CMP_directory in particular.

2.  DMA Sequencer uses a generic SequencerMsg

I will eventually make the cache Sequencer use this type as well.  It
doesn't contain an offset field, just a physical address and a length.
MI_example has been updated to deal with this.

3. Parameterized Controllers

SLICC controllers can now take custom parameters to use for mapping,
latencies, etc.  Currently, only int parameters are supported.
2009-08-04 12:52:52 -05:00
Derek Hower c1e0bd1df4 slicc: generate html by default 2009-08-04 12:42:45 -05:00
Nathan Binkert bd7af84d5e slicc: better error messages when the python parser fails 2009-08-04 09:37:27 -07:00
Derek Hower ac15e42c17 Automated merge with ssh://hg@m5sim.org/m5 2009-08-03 11:39:08 -05:00
Steve Reinhardt a13a706a20 Fix setting of INST_FETCH flag for O3 CPU.
It's still broken in inorder.
Also enhance DPRINTFs in cache and physical memory so we
can see more easily whether it's getting set or not.
2009-08-01 22:50:14 -07:00
Steve Reinhardt 1c28004654 Clean up some inconsistencies with Request flags. 2009-08-01 22:50:13 -07:00
Steve Reinhardt c0755e6085 Rename internal Request fields to start with '_'.
The inconsistency was causing a subtle bug with some of the
constructors where the params had the same name as the fields.
This is also a first step to switching the accessors over to
our new "standard", e.g., getVaddr() -> vaddr().
2009-08-01 22:50:10 -07:00
Derek Hower d9ff3021ba ruby: fixed clearStats 2009-07-29 13:46:58 -05:00
Derek Hower 469256d823 ruby: removed unused/incorrect profiler state 2009-07-27 21:43:43 -05:00
Polina Dudnik e7a3bda497 Fixed the licences plus minor fixes for compilation 2009-07-22 20:28:32 -05:00
Derek Hower 7f34ee36ec ruby: fixed sequencer RMW data bug 2009-07-21 19:42:09 -05:00
Derek Hower 80544cda8a 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.
2009-07-21 18:33:05 -05:00
Derek Hower e59d0e3e89 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.
2009-07-20 09:40:43 -05:00
Derek Hower 308419b947 scons: removed RubyConfig from scons 2009-07-19 12:34:11 -05:00
Derek Hower 7cd2d8f687 ruby: removed all refs to old RubyConfig 2009-07-18 18:20:03 -05:00
Derek Hower 4bd7fe4c53 ruby: removed dead files 2009-07-18 18:18:37 -05:00
Derek Hower f3d8d29342 ruby: removed dead files 2009-07-18 18:17:48 -05:00
Derek Hower 926ab6e6db merge 2009-07-18 17:40:20 -05:00
Derek Hower 4b7ea4cb51 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.
2009-07-18 17:03:51 -05:00