Giacomo Travaglini has uploaded this change for review. (
https://gem5-review.googlesource.com/c/public/gem5/+/31175 )
Change subject: dev-arm: Relax size contraint on AMBA ID registers
......................................................................
dev-arm: Relax size contraint on AMBA ID registers
This patch is allowing non word sized accesses to the AMBA ID
registers.
Change-Id: I61a7163a3b4120e8dbcdbd6d9b83d33a7996f979
Signed-off-by: Giacomo Travaglini <[email protected]>
---
M src/dev/arm/amba_device.cc
M src/dev/arm/kmi.cc
M src/dev/arm/pl011.cc
M src/dev/arm/pl111.cc
M src/dev/arm/rtc_pl031.cc
5 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/src/dev/arm/amba_device.cc b/src/dev/arm/amba_device.cc
index 31a21b7..7843384 100644
--- a/src/dev/arm/amba_device.cc
+++ b/src/dev/arm/amba_device.cc
@@ -80,7 +80,7 @@
DPRINTF(AMBA, "Returning %#x for offset %#x(%d)\n",
(amba_id >> byte) & 0xFF,
pkt->getAddr() - pio_addr, byte);
- assert(pkt->getSize() == 4);
- pkt->setLE<uint32_t>((amba_id >> byte) & 0xFF);
+
+ pkt->setUintX((amba_id >> byte) & 0xFF, LittleEndianByteOrder);
return true;
}
diff --git a/src/dev/arm/kmi.cc b/src/dev/arm/kmi.cc
index 732398e..23be8b6 100644
--- a/src/dev/arm/kmi.cc
+++ b/src/dev/arm/kmi.cc
@@ -95,7 +95,7 @@
default:
if (readId(pkt, ambaId, pioAddr)) {
// Hack for variable size accesses
- data = pkt->getLE<uint32_t>();
+ data = pkt->getUintX(LittleEndianByteOrder);
break;
}
diff --git a/src/dev/arm/pl011.cc b/src/dev/arm/pl011.cc
index f24cb61..2315370 100755
--- a/src/dev/arm/pl011.cc
+++ b/src/dev/arm/pl011.cc
@@ -137,7 +137,7 @@
default:
if (readId(pkt, AMBA_ID, pioAddr)) {
// Hack for variable size accesses
- data = pkt->getLE<uint32_t>();
+ data = pkt->getUintX(LittleEndianByteOrder);
break;
}
diff --git a/src/dev/arm/pl111.cc b/src/dev/arm/pl111.cc
index 3666669..b733bf7 100644
--- a/src/dev/arm/pl111.cc
+++ b/src/dev/arm/pl111.cc
@@ -182,7 +182,7 @@
default:
if (readId(pkt, AMBA_ID, pioAddr)) {
// Hack for variable size accesses
- data = pkt->getLE<uint32_t>();
+ data = pkt->getUintX(LittleEndianByteOrder);
break;
} else if (daddr >= CrsrImage && daddr <= 0xBFC) {
// CURSOR IMAGE
diff --git a/src/dev/arm/rtc_pl031.cc b/src/dev/arm/rtc_pl031.cc
index e09ddbe..7d45f8d 100644
--- a/src/dev/arm/rtc_pl031.cc
+++ b/src/dev/arm/rtc_pl031.cc
@@ -90,7 +90,7 @@
default:
if (readId(pkt, ambaId, pioAddr)) {
// Hack for variable sized access
- data = pkt->getLE<uint32_t>();
+ data = pkt->getUintX(LittleEndianByteOrder);
break;
}
panic("Tried to read PL031 at offset %#x that doesn't exist\n",
daddr);
--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/31175
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: I61a7163a3b4120e8dbcdbd6d9b83d33a7996f979
Gerrit-Change-Number: 31175
Gerrit-PatchSet: 1
Gerrit-Owner: Giacomo Travaglini <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]
%(web_page_url)slistinfo%(cgiext)s/%(_internal_name)s