29 #ifndef __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_COMPONENTMAPPINGS_HH__ 30 #define __MEM_RUBY_SLICC_INTERFACE_RUBYSLICC_COMPONENTMAPPINGS_HH__ 35 #include "mem/ruby/protocol/MachineType.hh" 42 for (
NodeID i = 0;
i < MachineType_base_count(type);
i++) {
51 int num_bits,
int cluster_id = 0)
55 mach.
num = cluster_id;
57 mach.
num =
bitSelect(addr, low_bit, low_bit + num_bits - 1)
58 + (1 << num_bits) * cluster_id;
77 return MachineType_base_count(machType);
94 #endif // __MEM_RUBY_SLICC_INTERFACE_COMPONENTMAPPINGS_HH__ Addr bitSelect(Addr addr, unsigned int small, unsigned int big)
void add(MachineID newElement)
MachineID mapAddressToRange(Addr addr, MachineType type, int low_bit, int num_bits, int cluster_id=0)
MachineID MachineTypeAndNodeIDToMachineID(MachineType type, NodeID node)
NodeID machineIDToNodeID(MachineID machID)
int machineCount(MachineType machType)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
NetDest broadcast(MachineType type)
MachineID createMachineID(MachineType type, NodeID id)
NodeID num
range: 0 ... number of this machine's components in system - 1
MachineType machineIDToMachineType(MachineID machID)