Giacomo Travaglini has submitted this change. (
https://gem5-review.googlesource.com/c/public/gem5/+/41653 )
Change subject: base: Exclude the end of ChannelAddrRange
......................................................................
base: Exclude the end of ChannelAddrRange
Since [1] has changed the end of AddrRange to be excluded from the
range, we need to do the same for ChannelAddrRange.
[1] Idd1e75d5771d198c4b8142b28de0f3a6e9007a52
Change-Id: I901a03409f2204a502133a1d763d8112b1d08f8f
Reviewed-by: Nikos Nikoleris <[email protected]>
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/41653
Reviewed-by: Jason Lowe-Power <[email protected]>
Maintainer: Jason Lowe-Power <[email protected]>
Tested-by: kokoro <[email protected]>
---
M src/base/channel_addr.hh
M src/base/channel_addr.test.cc
2 files changed, 7 insertions(+), 6 deletions(-)
Approvals:
Jason Lowe-Power: Looks good to me, approved; Looks good to me, approved
kokoro: Regressions pass
diff --git a/src/base/channel_addr.hh b/src/base/channel_addr.hh
index 55d227b..ad32d04 100644
--- a/src/base/channel_addr.hh
+++ b/src/base/channel_addr.hh
@@ -154,6 +154,7 @@
/**
* The ChanneelAddrRange class describes a contiguous range of
* addresses in a contiguous channel-local address space.
+ * The start is inclusive, the end is not.
*/
class ChannelAddrRange
{
@@ -173,15 +174,15 @@
constexpr ChannelAddrRange(const ChannelAddrRange &) = default;
- constexpr ChannelAddr size() const { return _end - _start + 1; }
+ constexpr ChannelAddr size() const { return _end - _start; }
- constexpr bool valid() const { return _start <= _end; }
+ constexpr bool valid() const { return _start < _end; }
constexpr ChannelAddr start() const { return _start; }
constexpr ChannelAddr end() const { return _end; }
constexpr bool contains(ChannelAddr a) const {
- return a >= _start && a <= _end;
+ return a >= _start && a < _end;
}
/** @} */ // end of api_channel_addr
diff --git a/src/base/channel_addr.test.cc b/src/base/channel_addr.test.cc
index 47ec0ab..01aa8b7 100644
--- a/src/base/channel_addr.test.cc
+++ b/src/base/channel_addr.test.cc
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019 ARM Limited
+ * Copyright (c) 2019, 2021 ARM Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -50,7 +50,7 @@
/* Ensure that range bounds are inclusive */
TEST(ChannelAddrRange, Range)
{
- ChannelAddrRange range(ChannelAddr(1), ChannelAddr(3));
+ ChannelAddrRange range(ChannelAddr(1), ChannelAddr(4));
EXPECT_FALSE(range.contains(ChannelAddr(0)));
EXPECT_TRUE(range.contains(ChannelAddr(1)));
@@ -59,6 +59,6 @@
EXPECT_FALSE(range.contains(ChannelAddr(4)));
EXPECT_EQ(range.start(), ChannelAddr(1));
- EXPECT_EQ(range.end(), ChannelAddr(3));
+ EXPECT_EQ(range.end(), ChannelAddr(4));
EXPECT_EQ(range.size(), ChannelAddr(3));
}
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/41653
To unsubscribe, or for help writing mail filters, visit
https://gem5-review.googlesource.com/settings
Gerrit-Project: public/gem5
Gerrit-Branch: develop
Gerrit-Change-Id: I901a03409f2204a502133a1d763d8112b1d08f8f
Gerrit-Change-Number: 41653
Gerrit-PatchSet: 3
Gerrit-Owner: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Bobby R. Bruce <[email protected]>
Gerrit-Reviewer: Daniel Carvalho <[email protected]>
Gerrit-Reviewer: Giacomo Travaglini <[email protected]>
Gerrit-Reviewer: Jason Lowe-Power <[email protected]>
Gerrit-Reviewer: Nikos Nikoleris <[email protected]>
Gerrit-Reviewer: kokoro <[email protected]>
Gerrit-MessageType: merged
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s