summaryrefslogtreecommitdiff
path: root/src/base/addr_range.hh
diff options
context:
space:
mode:
authorNikos Nikoleris <nikos.nikoleris@arm.com>2019-12-13 16:25:49 +0000
committerNikos Nikoleris <nikos.nikoleris@arm.com>2019-12-17 09:41:08 +0000
commite63a5a1aeaf00773df7e95a87d5468a790e0c708 (patch)
treeb28bc6be512df31488d2aaab2a6ab9ecadf7bc1a /src/base/addr_range.hh
parent41a8800950f706536111dd170dc487a8453574a1 (diff)
downloadgem5-e63a5a1aeaf00773df7e95a87d5468a790e0c708.tar.xz
base: Fix AddrRange::isSubset() check
Making _end non-inclusive, introduced a bug in isSubset() which was checking if _end is included in the input address range. This CL changes the behavior and now we test if _end - 1 is in the range. Change-Id: Ib8822472b7c266e10d55f3d5cf22a46aa45c1fc7 Signed-off-by: Nikos Nikoleris <nikos.nikoleris@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/23663 Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu> Reviewed-by: Jason Lowe-Power <jason@lowepower.com> Maintainer: Bobby R. Bruce <bbruce@ucdavis.edu> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/base/addr_range.hh')
-rw-r--r--src/base/addr_range.hh2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/base/addr_range.hh b/src/base/addr_range.hh
index 2a18551b2..f53c08b63 100644
--- a/src/base/addr_range.hh
+++ b/src/base/addr_range.hh
@@ -390,7 +390,7 @@ class AddrRange
// whether it would fit in a continuous segment of the input
// addr range.
if (r.interleaved()) {
- return r.contains(_start) && r.contains(_end) &&
+ return r.contains(_start) && r.contains(_end - 1) &&
size() <= r.granularity();
} else {
return _start >= r._start && _end <= r._end;