Attention is currently required from: Nikos Nikoleris.
Hello Nikos Nikoleris,
I'd like you to do a code review. Please visit
https://gem5-review.googlesource.com/c/public/gem5/+/41653
to review the following change.
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 <nikos.nikole...@arm.com>
---
M src/base/channel_addr.hh
M src/base/channel_addr.test.cc
2 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/src/base/channel_addr.hh b/src/base/channel_addr.hh
index 55d227b..9384a39 100644
--- a/src/base/channel_addr.hh
+++ b/src/base/channel_addr.hh
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2019, 2021 ARM Limited
+ * Copyright (c) 2019, 2021 Arm Limited
* All rights reserved
*
* The license below extends only to copyright in the software and shall
@@ -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..c166b542 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: 1
Gerrit-Owner: Giacomo Travaglini <giacomo.travagl...@arm.com>
Gerrit-Reviewer: Nikos Nikoleris <nikos.nikole...@arm.com>
Gerrit-Attention: Nikos Nikoleris <nikos.nikole...@arm.com>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- gem5-dev@gem5.org
To unsubscribe send an email to gem5-dev-le...@gem5.org
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s