29 #ifndef __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_COMPONENTMAPPINGS_HH__
30 #define __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_COMPONENTMAPPINGS_HH__
32 #include "mem/protocol/MachineType.hh"
82 for (
NodeID i = 0;
i < MachineType_base_count(type);
i++) {
91 int num_bits,
int cluster_id = 0)
95 mach.
num = cluster_id;
97 mach.
num =
bitSelect(addr, low_bit, low_bit + num_bits - 1)
98 + (1 << num_bits) * cluster_id;
117 return MachineType_base_count(machType);
134 #endif // __MEM_RUBY_SLICC_INTERFACE_COMPONENTMAPPINGS_HH__
Addr bitSelect(Addr addr, unsigned int small, unsigned int big)
void add(MachineID newElement)
MachineID map_Address_to_Directory(Addr addr)
MachineID mapAddressToRange(Addr addr, MachineType type, int low_bit, int num_bits, int cluster_id=0)
MachineID map_Address_to_RegionDir(Addr addr)
MachineID MachineTypeAndNodeIDToMachineID(MachineType type, NodeID node)
NodeID machineIDToNodeID(MachineID machID)
int machineCount(MachineType machType)
MachineID map_Address_to_TCCdir(Addr addr)
static uint64_t mapAddressToDirectoryVersion(Addr address)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
NodeID map_Address_to_TCCdirNode(Addr addr)
NetDest broadcast(MachineType type)
NodeID map_Address_to_DirectoryNode(Addr addr)
MachineID createMachineID(MachineType type, NodeID id)
NodeID num
range: 0 ... number of this machine's components in system - 1
MachineType machineIDToMachineType(MachineID machID)