gem5.git
14 years agoruby: Python config files now sets a unique id for each sequencer
Brad Beckmann [Mon, 22 Mar 2010 04:22:20 +0000 (21:22 -0700)]
ruby: Python config files now sets a unique id for each sequencer

14 years agoruby: fixed how ruby_fs creates phsyical memory
Brad Beckmann [Mon, 22 Mar 2010 04:22:20 +0000 (21:22 -0700)]
ruby: fixed how ruby_fs creates phsyical memory

Now ruby_fs creates physical memory of the right size.

14 years agoruby: Removed the no longer used rubymem files
Brad Beckmann [Mon, 22 Mar 2010 04:22:20 +0000 (21:22 -0700)]
ruby: Removed the no longer used rubymem files

14 years agoruby: Fix MOESI_hammer cache profiler calls for L2 misses
Brad Beckmann [Mon, 22 Mar 2010 04:22:20 +0000 (21:22 -0700)]
ruby: Fix MOESI_hammer cache profiler calls for L2 misses

14 years agoruby: Added a mesh network with directories at the corners
Brad Beckmann [Mon, 22 Mar 2010 04:22:20 +0000 (21:22 -0700)]
ruby: Added a mesh network with directories at the corners

The patch creates a specific mesh network where directories are at the corners.
The patch is a good example of how to create an arbitrary network, similar to
the old file specified network, while leveraging scripts and loops when
possible.

14 years agoruby: Removed deprecated stats from the main profiler
Brad Beckmann [Mon, 22 Mar 2010 04:22:20 +0000 (21:22 -0700)]
ruby: Removed deprecated stats from the main profiler

14 years agoorion: Make declarations match definition
Nathan Binkert [Tue, 16 Mar 2010 15:15:16 +0000 (08:15 -0700)]
orion: Make declarations match definition

14 years agoruby: Fix copyrights on files
Nathan Binkert [Mon, 15 Mar 2010 03:58:45 +0000 (20:58 -0700)]
ruby: Fix copyrights on files
Mostly files missed during import or screwed up during import

14 years agoslicc: Change the code generation so that the generated code is easier to read
Nathan Binkert [Sat, 13 Mar 2010 02:42:56 +0000 (18:42 -0800)]
slicc: Change the code generation so that the generated code is easier to read

14 years agopacket: add a method to set the size
Nathan Binkert [Sat, 13 Mar 2010 01:31:08 +0000 (17:31 -0800)]
packet: add a method to set the size

14 years agoeventq: rearrange a little bit so I can add some stuff
Nathan Binkert [Sat, 13 Mar 2010 01:31:04 +0000 (17:31 -0800)]
eventq: rearrange a little bit so I can add some stuff

14 years agoeventq: remove some unused includes
Nathan Binkert [Sat, 13 Mar 2010 01:31:02 +0000 (17:31 -0800)]
eventq: remove some unused includes

14 years agobugfix: since pow() causes a bug don't use it
Nathan Binkert [Fri, 12 Mar 2010 23:11:09 +0000 (15:11 -0800)]
bugfix: since pow() causes a bug don't use it
It's a power of two anyway, so why use it in the first place.

14 years agoruby: get rid of std-includes.hh
Nathan Binkert [Thu, 11 Mar 2010 02:33:11 +0000 (18:33 -0800)]
ruby: get rid of std-includes.hh
Do not use "using namespace std;" in headers
Include header files as needed

14 years agoruby: remove calc_host.diff since we don't use it
Nathan Binkert [Thu, 11 Mar 2010 00:22:27 +0000 (16:22 -0800)]
ruby: remove calc_host.diff since we don't use it

14 years agoruby: get rid of the ioutil stuff since it isn't used anymore
Nathan Binkert [Thu, 11 Mar 2010 00:22:26 +0000 (16:22 -0800)]
ruby: get rid of the ioutil stuff since it isn't used anymore

14 years agoslicc: have a central mechanism for creating a code_formatter.
Nathan Binkert [Thu, 11 Mar 2010 00:22:26 +0000 (16:22 -0800)]
slicc: have a central mechanism for creating a code_formatter.
This makes it easier to add global variables like protocol

14 years agoscons: import ply to work around scons sys.path weirdness
Nathan Binkert [Wed, 10 Mar 2010 23:39:34 +0000 (15:39 -0800)]
scons: import ply to work around scons sys.path weirdness

14 years agoSmartDict: Make SmartDict an attrdict
Nathan Binkert [Mon, 1 Mar 2010 03:28:09 +0000 (19:28 -0800)]
SmartDict: Make SmartDict an attrdict

14 years agouart: use integer versions of time instead of messing around with floats
Nathan Binkert [Mon, 1 Mar 2010 03:28:09 +0000 (19:28 -0800)]
uart: use integer versions of time instead of messing around with floats

14 years agoConfig: Fix fs.py's call to CacheConfig.config_cache.
Gabe Black [Sun, 28 Feb 2010 02:52:57 +0000 (18:52 -0800)]
Config: Fix fs.py's call to CacheConfig.config_cache.

14 years agocpu_models: get rid of cpu_models.py and move the stuff into SCons
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
cpu_models: get rid of cpu_models.py and move the stuff into SCons

14 years agoisa_parser: Make SCons import the isa_parser
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: Make SCons import the isa_parser
this is instead of forking a new interpreter

14 years agoisa_parser: move the operand map stuff into the ISAParser class.
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: move the operand map stuff into the ISAParser class.

14 years agoisa_parser: move more support functions into the ISAParser class
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: move more support functions into the ISAParser class

14 years agoisa_parser: move more stuff into the ISAParser class
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: move more stuff into the ISAParser class

14 years agoisa_parser: move the formatMap and exportContext into the ISAParser class
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: move the formatMap and exportContext into the ISAParser class

14 years agoisa_parser: Make stack objects class members instead of globals
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: Make stack objects class members instead of globals

14 years agoisa_parser: add a debug variable that changes how errors are reported.
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: add a debug variable that changes how errors are reported.
This allows us to get tracebacks in certain cases where they're more
useful than our error message.

14 years agoisa_parser: Use an exception to flag error
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: Use an exception to flag error
This allows the error to propagate more easily

14 years agoisa_parser: Move more stuff into the ISAParser class
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: Move more stuff into the ISAParser class

14 years agoisa_parser: move code around to prepare for putting more stuff in the class
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: move code around to prepare for putting more stuff in the class

14 years agoisa_parser: simple fixes, formatting and style
Nathan Binkert [Sat, 27 Feb 2010 02:14:48 +0000 (18:14 -0800)]
isa_parser: simple fixes, formatting and style

14 years agoevents: Give EventWrapped a default name and description
Nathan Binkert [Sat, 27 Feb 2010 02:09:41 +0000 (18:09 -0800)]
events: Give EventWrapped a default name and description

14 years agoconfigs: pull out cache configuration code from se.py and fs.py.
Lisa Hsu [Thu, 25 Feb 2010 18:13:40 +0000 (10:13 -0800)]
configs: pull out cache configuration code from se.py and fs.py.
Most of these frontend configurations share cache configuration code, pull it out so that
changes to caches don't have to require changing multiple config files.

14 years agostats: update stats for the changes I pushed re: shared cache occupancy
Lisa Hsu [Thu, 25 Feb 2010 18:08:41 +0000 (10:08 -0800)]
stats: update stats for the changes I pushed re: shared cache occupancy

14 years agocache stats: account for writebacks and/or device occupancy in the cache.
Lisa Hsu [Wed, 24 Feb 2010 21:46:55 +0000 (13:46 -0800)]
cache stats: account for writebacks and/or device occupancy in the cache.
Plus, a minor bugfix that neglects to update blk->contextSrc in certain cases on a cache insert.

14 years agocache: Make caches sharing aware and add occupancy stats.
Lisa Hsu [Tue, 23 Feb 2010 17:34:22 +0000 (09:34 -0800)]
cache: Make caches sharing aware and add occupancy stats.
On the config end, if a shared L2 is created for the system, it is
parameterized to have n sharers as defined by option.num_cpus. In addition to
making the cache sharing aware so that discriminating tag policies can make use
of context_ids to make decisions, I added an occupancy AverageStat and an occ %
stat to each cache so that you could know which contexts are occupying how much
cache on average, both in terms of blocks and percentage. Note that since
devices have context_id -1, having an array of occ stats that correspond to
each context_id will break here, so in FS mode I add an extra bucket for device
blocks. This bucket is explicitly not added in SE mode in order to not only
avoid ugliness in the stats.txt file, but to avoid broken stats (some formulas
break when a bucket is 0).

14 years agostats: this makes some fixes to AverageStat and AverageVector.
Lisa Hsu [Tue, 23 Feb 2010 17:33:18 +0000 (09:33 -0800)]
stats: this makes some fixes to AverageStat and AverageVector.
Also, make Formulas work on AverageVector.  First, Stat::Average (and thus
Stats::AverageVector) was broken when coming out of a checkpoint and on resets,
this fixes that.  Formulas also didn't work with AverageVector, but added
support for that.

14 years agocache: pull CacheSet out of LRU so that other tags can use associative sets.
Lisa Hsu [Tue, 23 Feb 2010 17:33:09 +0000 (09:33 -0800)]
cache: pull CacheSet out of LRU so that other tags can use associative sets.

14 years agoBaseDynInst: Preserve the faults returned from read and write.
Timothy M. Jones [Sat, 20 Feb 2010 20:11:58 +0000 (20:11 +0000)]
BaseDynInst: Preserve the faults returned from read and write.

When implementing timing address translations instead of atomic, I
forgot to preserve the faults that are returned from the read and
write calls.  This patch reinstates them.

14 years agoO3PCU: Split loads and stores that cross cache line boundaries.
Timothy M. Jones [Fri, 12 Feb 2010 19:53:20 +0000 (19:53 +0000)]
O3PCU: Split loads and stores that cross cache line boundaries.

When each load or store is sent to the LSQ, we check whether it will cross a
cache line boundary and, if so, split it in two. This creates two TLB
translations and two memory requests. Care has to be taken if the first
packet of a split load is sent but the second blocks the cache. Similarly,
for a store, if the first packet cannot be sent, we must store the second
one somewhere to retry later.

This modifies the LSQSenderState class to record both packets in a split
load or store.

Finally, a new const variable, HasUnalignedMemAcc, is added to each ISA
to indicate whether unaligned memory accesses are allowed. This is used
throughout the changed code so that compiler can optimise away code dealing
with split requests for ISAs that don't need them.

14 years agoBaseDynInst: Make the TLB translation timing instead of atomic.
Timothy M. Jones [Fri, 12 Feb 2010 19:53:19 +0000 (19:53 +0000)]
BaseDynInst: Make the TLB translation timing instead of atomic.

This initiates a timing translation and passes the read or write on to the
processor before waiting for it to finish. Once the translation is finished,
the instruction's state is updated via the 'finish' function. A new
DataTranslation class is created to handle this.

The idea is taken from the implementation of timing translations in
TimingSimpleCPU by Gabe Black. This patch also separates out the timing
translations from this CPU and uses the new DataTranslation class.

14 years agoPower ISA: Add an alignment fault to Power ISA and check alignment in TLB.
Timothy M. Jones [Fri, 12 Feb 2010 19:53:19 +0000 (19:53 +0000)]
Power ISA: Add an alignment fault to Power ISA and check alignment in TLB.

14 years agoruby: fixed data block assignment fix
Brad Beckmann [Thu, 11 Feb 2010 00:40:54 +0000 (16:40 -0800)]
ruby: fixed data block assignment fix

Fixed data block assignment to not delete if not internally allocated.

14 years agoruby: Initialize sender in MI_example-dir
Brad Beckmann [Thu, 11 Feb 2010 00:40:54 +0000 (16:40 -0800)]
ruby: Initialize sender in MI_example-dir

14 years agoruby: Fixed slicc to initialize the m_is_blocking flag
Brad Beckmann [Thu, 11 Feb 2010 00:40:54 +0000 (16:40 -0800)]
ruby: Fixed slicc to initialize the m_is_blocking flag

14 years agoruby: Added FS support to the simple mesh topology
Brad Beckmann [Mon, 1 Feb 2010 22:27:16 +0000 (14:27 -0800)]
ruby: Added FS support to the simple mesh topology

Added full-system support to the simple mesh toplogy by allowing dma contrllers
to be attached to router zero in the network.

14 years agoruby: Set default protocol back to MI_example
Brad Beckmann [Mon, 1 Feb 2010 19:07:38 +0000 (11:07 -0800)]
ruby: Set default protocol back to MI_example

14 years agomerge
Brad Beckmann [Mon, 1 Feb 2010 06:28:13 +0000 (22:28 -0800)]
merge

14 years agom5: Added PROTOCOL default for regress fix
Brad Beckmann [Mon, 1 Feb 2010 06:21:01 +0000 (22:21 -0800)]
m5: Added PROTOCOL default for regress fix

14 years agoinorder: update hello world mips
Korey Sewell [Sun, 31 Jan 2010 23:31:28 +0000 (18:31 -0500)]
inorder: update hello world mips

14 years agoinorder: vortex alpha regression
Korey Sewell [Sun, 31 Jan 2010 23:31:20 +0000 (18:31 -0500)]
inorder: vortex alpha regression

14 years agoinorder: twolf alpha regression
Korey Sewell [Sun, 31 Jan 2010 23:31:14 +0000 (18:31 -0500)]
inorder: twolf alpha regression

14 years agoinorder: update hello world alpha
Korey Sewell [Sun, 31 Jan 2010 23:31:09 +0000 (18:31 -0500)]
inorder: update hello world alpha

14 years agoinorder: double delete inst bug
Korey Sewell [Sun, 31 Jan 2010 23:30:59 +0000 (18:30 -0500)]
inorder: double delete inst bug
Make sure that instructions are dereferenced/deleted twice by marking they are
on the remove list

14 years agoinorder: inst count mgmt
Korey Sewell [Sun, 31 Jan 2010 23:30:48 +0000 (18:30 -0500)]
inorder: inst count mgmt

14 years agoinorder: implement split stores
Korey Sewell [Sun, 31 Jan 2010 23:30:43 +0000 (18:30 -0500)]
inorder: implement split stores

14 years agoinorder: implement split loads
Korey Sewell [Sun, 31 Jan 2010 23:30:35 +0000 (18:30 -0500)]
inorder: implement split loads

14 years agoinorder: add activity stats
Korey Sewell [Sun, 31 Jan 2010 23:30:24 +0000 (18:30 -0500)]
inorder: add activity stats

14 years agoinorder: object cleanup in destructors
Korey Sewell [Sun, 31 Jan 2010 23:30:08 +0000 (18:30 -0500)]
inorder: object cleanup in destructors

14 years agoinorder: user per-thread dummy insts/reqs
Korey Sewell [Sun, 31 Jan 2010 23:29:59 +0000 (18:29 -0500)]
inorder: user per-thread dummy insts/reqs

14 years agoinorder: add execution unit stats
Korey Sewell [Sun, 31 Jan 2010 23:29:49 +0000 (18:29 -0500)]
inorder: add execution unit stats

14 years agoinorder: recvRetry bug fix
Korey Sewell [Sun, 31 Jan 2010 23:29:18 +0000 (18:29 -0500)]
inorder: recvRetry bug fix
- on certain retry requests you can get an assertion failure
- fix by allowing the request to literally "Retry" itself
  if it wasnt successful before, and then block any requests
  through cache port while waiting for the cache to be
  made available for access

14 years agoinorder-stats: add prereq to basic stat
Korey Sewell [Sun, 31 Jan 2010 23:29:06 +0000 (18:29 -0500)]
inorder-stats: add prereq to basic stat
only show requests processed when the resource is actually in use

14 years agoinorder: ctxt switch stats
Korey Sewell [Sun, 31 Jan 2010 23:28:59 +0000 (18:28 -0500)]
inorder: ctxt switch stats
- m5 line enforcement on use_def.cc,hh

14 years agoinorder: pipeline stage stats
Korey Sewell [Sun, 31 Jan 2010 23:28:51 +0000 (18:28 -0500)]
inorder: pipeline stage stats
add idle/run/utilization stats for each pipeline stage

14 years agoinorder: enforce stage bandwidth
Korey Sewell [Sun, 31 Jan 2010 23:28:31 +0000 (18:28 -0500)]
inorder: enforce stage bandwidth
each stage keeps track of insts_processed on a per_thread basis but we should
be keeping that on a total basis inorder to enforce stage width limits

14 years agoinorder: set thread status'
Korey Sewell [Sun, 31 Jan 2010 23:28:12 +0000 (18:28 -0500)]
inorder: set thread status'
set Active/Suspended/Halted status for threads.  useful for system when determining
if/when to exit simulation

14 years agoinorder: add/remove halt/deallocate context respectively
Korey Sewell [Sun, 31 Jan 2010 23:28:05 +0000 (18:28 -0500)]
inorder: add/remove halt/deallocate context respectively
Halt is called from the exit() system call while
deallocate is unused. So to clear up things, just
use halt and remove deallocate.

14 years agoinorder: track last branch committed
Korey Sewell [Sun, 31 Jan 2010 23:27:58 +0000 (18:27 -0500)]
inorder: track last branch committed
when threads are switching in/out the CPU, we need to keep
track of special cases like branches. Add appropriate
variables in ThreadState t track this and then use
these variables when updating pc after context switch

14 years agoinorder: add updatePC event to resPool
Korey Sewell [Sun, 31 Jan 2010 23:27:49 +0000 (18:27 -0500)]
inorder: add updatePC event to resPool
this will be used for when a thread comes back from a cache miss, it needs to update the PCs
because the inst might of been a branch or delayslot in which the next PC isnt always
a straight addition

14 years agoinorder: ready thread wakeup
Korey Sewell [Sun, 31 Jan 2010 23:27:38 +0000 (18:27 -0500)]
inorder: ready thread wakeup
allow a thread to wakeup and be activated after
it has been in suspended state and another
thread is switched out. Need to give
pipeline stages a "activateThread" function
so that can get to their suspended instruction
when the time is right.

14 years agoinorder: add threadmodel flag
Korey Sewell [Sun, 31 Jan 2010 23:27:25 +0000 (18:27 -0500)]
inorder: add threadmodel flag
this prints out messages relative to what
threading model is being used (smt, switch-on-miss, single, etc.)

14 years agoinorder: mem. mgmt. update
Korey Sewell [Sun, 31 Jan 2010 23:27:12 +0000 (18:27 -0500)]
inorder: mem. mgmt. update
update address List and address Map to take
into account multiple threads

14 years agoinorder: suspend in respool
Korey Sewell [Sun, 31 Jan 2010 23:27:02 +0000 (18:27 -0500)]
inorder: suspend in respool
give resources their own specific
activity to do for a "suspend" event
instead of defaulting to deactivating the thread for a
suspend thread event. This really matters
for the fetch sequence unit which wants to remove the
thread from fetching while other units want to
ignore a thread suspension. If you deactivate a thread
in a resource then you may lose some of the allotted
bandwidth that the thread is taking up...

14 years agoinorder: fetch thread bug
Korey Sewell [Sun, 31 Jan 2010 23:26:54 +0000 (18:26 -0500)]
inorder: fetch thread bug
dont check total # of threads but instead all
active threads

14 years agoinorder: ready/suspend status fns
Korey Sewell [Sun, 31 Jan 2010 23:26:47 +0000 (18:26 -0500)]
inorder: ready/suspend status fns
update/add in the use of isThreadReady & isThreadSuspended
functions.Check in activateThread what list a thread is
on so it can be managed accordingly.

14 years agoinorder-cleanup: remove unused thread functions
Korey Sewell [Sun, 31 Jan 2010 23:26:40 +0000 (18:26 -0500)]
inorder-cleanup: remove unused thread functions

14 years agoinorder: activate thread on cache miss
Korey Sewell [Sun, 31 Jan 2010 23:26:32 +0000 (18:26 -0500)]
inorder: activate thread on cache miss
-Support ability to activate next ready thread after a cache miss
through the activateNextReadyContext/Thread() functions
-To support this a "readyList" of thread ids is added
-After a cache miss, thread will suspend and then call
activitynextreadythread

14 years agoinorder: add event priority offset
Korey Sewell [Sun, 31 Jan 2010 23:26:26 +0000 (18:26 -0500)]
inorder: add event priority offset
allow for events to schedule themselves later if desired. this is important
because of cases like where you need to activate a thread only after the previous
thread has been deactivated. The ordering there has to be enforced

14 years agoinorder: squash on memory stall
Korey Sewell [Sun, 31 Jan 2010 23:26:13 +0000 (18:26 -0500)]
inorder: squash on memory stall
add code to recognize memory stalls in resources and the pipeline as well
as squash a thread if there is a stall and we are in the switch on cache miss
model

14 years agoinorder: add insts to cpu event
Korey Sewell [Sun, 31 Jan 2010 23:26:03 +0000 (18:26 -0500)]
inorder: add insts to cpu event
some events are going to need instruction data when they process, so just
include the instruction in the event construction

14 years agoinorder: switch out buffer
Korey Sewell [Sun, 31 Jan 2010 23:25:48 +0000 (18:25 -0500)]
inorder: switch out buffer
add buffer for instructions to switch out to in a pipeline stage
can't squash the instruction and remove the pipeline so we kind of need
to 'suspend' an instruction at the stage while the memory stall resolves
for the switch on cache miss model

14 years agoinorder: dont allow early loads
Korey Sewell [Sun, 31 Jan 2010 23:25:27 +0000 (18:25 -0500)]
inorder: dont allow early loads
- loads were happening on same cycle as the address was generated which is slightly
unrealistic. Instead, force address generation to be on separate cycle from load
initiation
- also, mark the stages in a more traditional way (F-D-X-M-W)

14 years agoconfigs/inorder: add options for switch-on-miss to inorder cpu
Korey Sewell [Sun, 31 Jan 2010 23:25:13 +0000 (18:25 -0500)]
configs/inorder: add options for switch-on-miss to inorder cpu

14 years agoinorder: init internal debug cpu counters
Korey Sewell [Sun, 31 Jan 2010 22:18:15 +0000 (17:18 -0500)]
inorder: init internal debug cpu counters
- cpuEventNum
- resReqCount

14 years agom5: Regression Tester Update
Brad Beckmann [Sat, 30 Jan 2010 04:29:40 +0000 (20:29 -0800)]
m5: Regression Tester Update

This patch includes the necessary regression updates to test the new ruby
configuration system.  The patch includes support for multiple ruby protocols
and adds the ruby random tester.  The patch removes atomic mode test for
ruby since ruby does not support atomic mode acceses.  These tests can be
added back in when ruby supports atomic mode for real.

--HG--
rename : tests/quick/50.memtest/test.py => tests/quick/60.rubytest/test.py

14 years agoruby: Replaced gems_common debug statements
Brad Beckmann [Sat, 30 Jan 2010 04:29:34 +0000 (20:29 -0800)]
ruby: Replaced gems_common debug statements

Replaced Ruby debug statements with M5 statements.

14 years agoruby: removed last level cache support
Brad Beckmann [Sat, 30 Jan 2010 04:29:34 +0000 (20:29 -0800)]
ruby: removed last level cache support

Removed the last level cache support and MOESI_hammer's dependency on it.
Replaces the LLC support with the more generic MachineType count.

14 years agoruby: Added a Scons option to prevent HTML file creation
Brad Beckmann [Sat, 30 Jan 2010 04:29:33 +0000 (20:29 -0800)]
ruby: Added a Scons option to prevent HTML file creation

14 years agoruby: ruby_se.py updated to new config system
Brad Beckmann [Sat, 30 Jan 2010 04:29:33 +0000 (20:29 -0800)]
ruby: ruby_se.py updated to new config system

14 years agoruby: Removed if else statement in create_system
Brad Beckmann [Sat, 30 Jan 2010 04:29:33 +0000 (20:29 -0800)]
ruby: Removed if else statement in create_system

Based on Steve's suggestion, the ugly if-elif statement and multiple protocol
module import calls are removed and replaced with exec statements using the
protocol string.

14 years agoruby: Removed static members in RubyPort including hitcallback
Brad Beckmann [Sat, 30 Jan 2010 04:29:33 +0000 (20:29 -0800)]
ruby: Removed static members in RubyPort including hitcallback
Removed static members in RubyPort and removed the ruby request unique id.

14 years agoruby: Removed the old config interface
Brad Beckmann [Sat, 30 Jan 2010 04:29:33 +0000 (20:29 -0800)]
ruby: Removed the old config interface

Removed the old config interface from RubySystem and libruby.

14 years agoruby: Re-enabled orion power models
Brad Beckmann [Sat, 30 Jan 2010 04:29:33 +0000 (20:29 -0800)]
ruby: Re-enabled orion power models

Removed the dummy power function implementations so that Orion can implement
them correctly.  Since Orion lacks modular design, this patch simply enables
scons to compile it.  There are no python configuration changes in this patch.

14 years agoruby: memtest-ruby updated to the new config system
Brad Beckmann [Sat, 30 Jan 2010 04:29:33 +0000 (20:29 -0800)]
ruby: memtest-ruby updated to the new config system

14 years agoruby: Converted Garnet to M5 configuration
Brad Beckmann [Sat, 30 Jan 2010 04:29:32 +0000 (20:29 -0800)]
ruby: Converted Garnet to M5 configuration

14 years agoGarnet: reorganize directory tree.
Steve Reinhardt [Sat, 30 Jan 2010 04:29:30 +0000 (20:29 -0800)]
Garnet: reorganize directory tree.
Rename the ruby/network/garnet-foo directories to garnet/foo.
Move the common NetworkHeader.hh file from garnet-fixed-pipeline
up to the common garnet directory.
Fix up include paths.

--HG--
rename : src/mem/ruby/network/garnet-fixed-pipeline/NetworkHeader.hh => src/mem/ruby/network/garnet/NetworkHeader.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/CreditLink_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/CreditLink_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/GarnetNetwork_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/GarnetNetwork_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/GarnetNetwork_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/InputUnit_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/InputUnit_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/InputUnit_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/NetworkInterface_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/NetworkInterface_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/NetworkInterface_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/NetworkLink_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/NetworkLink_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/NetworkLink_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/OutVcState_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/OutVcState_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/OutVcState_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/OutputUnit_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/OutputUnit_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/OutputUnit_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/Router_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/Router_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/Router_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/Router_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/RoutingUnit_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/RoutingUnit_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/RoutingUnit_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/SConscript => src/mem/ruby/network/garnet/fixed-pipeline/SConscript
rename : src/mem/ruby/network/garnet-fixed-pipeline/SWallocator_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/SWallocator_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/SWallocator_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/Switch_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/Switch_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/Switch_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/VCallocator_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/VCallocator_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/VCallocator_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/VirtualChannel_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/VirtualChannel_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/VirtualChannel_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/flitBuffer_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/flitBuffer_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/flitBuffer_d.hh
rename : src/mem/ruby/network/garnet-fixed-pipeline/flit_d.cc => src/mem/ruby/network/garnet/fixed-pipeline/flit_d.cc
rename : src/mem/ruby/network/garnet-fixed-pipeline/flit_d.hh => src/mem/ruby/network/garnet/fixed-pipeline/flit_d.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/FlexibleConsumer.hh => src/mem/ruby/network/garnet/flexible-pipeline/FlexibleConsumer.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/GarnetNetwork.cc => src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/GarnetNetwork.hh => src/mem/ruby/network/garnet/flexible-pipeline/GarnetNetwork.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/InVcState.cc => src/mem/ruby/network/garnet/flexible-pipeline/InVcState.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/InVcState.hh => src/mem/ruby/network/garnet/flexible-pipeline/InVcState.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/NetworkConfig.hh => src/mem/ruby/network/garnet/flexible-pipeline/NetworkConfig.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/NetworkInterface.cc => src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/NetworkInterface.hh => src/mem/ruby/network/garnet/flexible-pipeline/NetworkInterface.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/NetworkLink.cc => src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/NetworkLink.hh => src/mem/ruby/network/garnet/flexible-pipeline/NetworkLink.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/OutVcState.cc => src/mem/ruby/network/garnet/flexible-pipeline/OutVcState.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/OutVcState.hh => src/mem/ruby/network/garnet/flexible-pipeline/OutVcState.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/Router.cc => src/mem/ruby/network/garnet/flexible-pipeline/Router.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/Router.hh => src/mem/ruby/network/garnet/flexible-pipeline/Router.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/SConscript => src/mem/ruby/network/garnet/flexible-pipeline/SConscript
rename : src/mem/ruby/network/garnet-flexible-pipeline/VCarbiter.cc => src/mem/ruby/network/garnet/flexible-pipeline/VCarbiter.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/VCarbiter.hh => src/mem/ruby/network/garnet/flexible-pipeline/VCarbiter.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/flit.cc => src/mem/ruby/network/garnet/flexible-pipeline/flit.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/flit.hh => src/mem/ruby/network/garnet/flexible-pipeline/flit.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/flitBuffer.cc => src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.cc
rename : src/mem/ruby/network/garnet-flexible-pipeline/flitBuffer.hh => src/mem/ruby/network/garnet/flexible-pipeline/flitBuffer.hh
rename : src/mem/ruby/network/garnet-flexible-pipeline/netconfig.defaults => src/mem/ruby/network/garnet/flexible-pipeline/netconfig.defaults

14 years agoruby: Added a mesh topology
Brad Beckmann [Sat, 30 Jan 2010 04:29:27 +0000 (20:29 -0800)]
ruby: Added a mesh topology