diff options
Diffstat (limited to 'src/mem/ruby/slicc_interface')
-rw-r--r-- | src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh b/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh index a6d99ada9..96405c8dd 100644 --- a/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh +++ b/src/mem/ruby/slicc_interface/RubySlicc_ComponentMapping.hh @@ -86,10 +86,12 @@ MachineID map_Address_to_DMA(const Address & addr) } inline -MachineID mapAddressToRange(const Address & addr, MachineType type, int low_bit, int high_bit) +MachineID mapAddressToRange(const Address & addr, MachineType type, int low_bit, int num_bits) { MachineID mach = {type, 0}; - mach.num = addr.bitSelect(low_bit, high_bit); + if (num_bits == 0) + return mach; + mach.num = addr.bitSelect(low_bit, low_bit+num_bits-1); return mach; } |