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

Reply via email to