base: Extend AddrRange to support more flexible addressing
Previously an AddrRange could express interleaving using a number of consecutive bits and in additional optionally a second number of consecutive bits. The two sets of consecutive bits would be xored and matched against a value to determine if an address is in the AddrRange. For example: sel[0] = a[8] ^ a[12] sel[1] = a[9] ^ a[13] where sel == intlvMatch This change extends AddrRange to allow more flexible interleavings with an abritary number of set of bits which do not need be consecutive. For example: sel[0] = a[8] ^ a[11] ^ a[13] sel[1] = a[15] ^ a[17] ^ a[19] where sel == intlvMatch Change-Id: I42220a6d5011a31f0560535762a25bfc823c3ebb Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/19130 Maintainer: Jason Lowe-Power <jason@lowepower.com> Tested-by: kokoro <noreply+kokoro@google.com> Reviewed-by: Daniel Carvalho <odanrc@yahoo.com.br>
This commit is contained in:
@@ -154,7 +154,6 @@ init_range(py::module &m_native)
|
||||
.def("__str__", &AddrRange::to_string)
|
||||
|
||||
.def("interleaved", &AddrRange::interleaved)
|
||||
.def("hashed", &AddrRange::hashed)
|
||||
.def("granularity", &AddrRange::granularity)
|
||||
.def("stripes", &AddrRange::stripes)
|
||||
.def("size", &AddrRange::size)
|
||||
|
||||
Reference in New Issue
Block a user