diff options
author | Derek Hower <drh5@cs.wisc.edu> | 2009-09-15 20:39:00 -0500 |
---|---|---|
committer | Derek Hower <drh5@cs.wisc.edu> | 2009-09-15 20:39:00 -0500 |
commit | 20da0f788cdc8bc454bc12dde113d346c93329ba (patch) | |
tree | e6a61bfa3850fa9a1c700cc4224e4f4097508e6c /src | |
parent | a06cfa199fe0ba986ba4bf61a263235f7dbc29f9 (diff) | |
download | gem5-20da0f788cdc8bc454bc12dde113d346c93329ba.tar.xz |
ruby: added broadcast mechanism
Diffstat (limited to 'src')
-rw-r--r-- | src/mem/protocol/RubySlicc_ComponentMapping.sm | 1 | ||||
-rw-r--r-- | src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh | 11 |
2 files changed, 12 insertions, 0 deletions
diff --git a/src/mem/protocol/RubySlicc_ComponentMapping.sm b/src/mem/protocol/RubySlicc_ComponentMapping.sm index 559e54a8c..0da1a05e2 100644 --- a/src/mem/protocol/RubySlicc_ComponentMapping.sm +++ b/src/mem/protocol/RubySlicc_ComponentMapping.sm @@ -31,6 +31,7 @@ // NodeID map_address_to_node(Address addr); MachineID mapAddressToRange(Address addr, MachineType type, int low, int high); +NetDest broadcast(MachineType type); MachineID map_Address_to_DMA(Address addr); MachineID map_Address_to_Directory(Address addr); NodeID map_Address_to_DirectoryNode(Address addr); diff --git a/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh b/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh index 96405c8dd..159c33815 100644 --- a/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh +++ b/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh @@ -85,6 +85,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) { |