summaryrefslogtreecommitdiff
path: root/src/mem/ruby/slicc_interface
diff options
context:
space:
mode:
authorDerek Hower <drh5@cs.wisc.edu>2010-01-22 17:23:21 -0600
committerDerek Hower <drh5@cs.wisc.edu>2010-01-22 17:23:21 -0600
commit589218168c5ae1ed143372e43dbc468369a1bb8f (patch)
tree5e5154c08e7def83b49b16769c213b0e78ea41fb /src/mem/ruby/slicc_interface
parent1c448e2ab00acb05d368c9de62c5cf08e64c6213 (diff)
parentf7de30ab1a9e1655de8bf7d4c15007a682a2a629 (diff)
downloadgem5-589218168c5ae1ed143372e43dbc468369a1bb8f.tar.xz
Automated merge with ssh://hg@m5sim.org/m5
Diffstat (limited to 'src/mem/ruby/slicc_interface')
-rw-r--r--src/mem/ruby/slicc_interface/AbstractController.hh5
-rw-r--r--src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh11
2 files changed, 13 insertions, 3 deletions
diff --git a/src/mem/ruby/slicc_interface/AbstractController.hh b/src/mem/ruby/slicc_interface/AbstractController.hh
index 7da3d317a..c7062262a 100644
--- a/src/mem/ruby/slicc_interface/AbstractController.hh
+++ b/src/mem/ruby/slicc_interface/AbstractController.hh
@@ -21,9 +21,8 @@ public:
virtual const string toString() const = 0; // returns text version of controller type
virtual const string getName() const = 0; // return instance name
virtual const MachineType getMachineType() const = 0;
- virtual void set_atomic(Address addr) = 0;
- virtual void started_writes() = 0;
- virtual void clear_atomic() = 0;
+ virtual void blockOnQueue(Address, MessageBuffer*) = 0;
+ virtual void unblock(Address) = 0;
virtual void print(ostream & out) const = 0;
virtual void printStats(ostream & out) const = 0;
diff --git a/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh b/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh
index 222ff86f8..69424c414 100644
--- a/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh
+++ b/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh
@@ -94,6 +94,17 @@ MachineID map_Address_to_DMA(const Address & addr)
return dma;
}
+inline
+NetDest broadcast(MachineType type)
+{
+ NetDest dest;
+ for (int i=0; i<MachineType_base_count(type); i++) {
+ MachineID mach = {type, i};
+ dest.add(mach);
+ }
+ return dest;
+}
+
inline
MachineID mapAddressToRange(const Address & addr, MachineType type, int low_bit, int num_bits)
{