summaryrefslogtreecommitdiff
path: root/src/arch/generic/mmapped_ipr.cc
diff options
context:
space:
mode:
authorAndreas Sandberg <andreas@sandberg.pp.se>2013-10-15 13:24:35 +0200
committerAndreas Sandberg <andreas@sandberg.pp.se>2013-10-15 13:24:35 +0200
commit5e7738467bbc928ff163afc5b94c81385cc6778e (patch)
treeae407db632d031b2d1144347d80cb16073219081 /src/arch/generic/mmapped_ipr.cc
parentc753b273dc1d18114035c4bd5c61bd59fa9f9cfe (diff)
downloadgem5-5e7738467bbc928ff163afc5b94c81385cc6778e.tar.xz
mem: Use a flag instead of address bit 63 for generic IPRs
Using address bit 63 to identify generic IPRs caused problems on SPARC, where IPRs are heavily used. This changeset redefines how generic IPRs are identified. Instead of using bit 63, we now use a separate flag (GENERIC_IPR) a memory request.
Diffstat (limited to 'src/arch/generic/mmapped_ipr.cc')
-rw-r--r--src/arch/generic/mmapped_ipr.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/arch/generic/mmapped_ipr.cc b/src/arch/generic/mmapped_ipr.cc
index 3d85eea9f..1a356a5d5 100644
--- a/src/arch/generic/mmapped_ipr.cc
+++ b/src/arch/generic/mmapped_ipr.cc
@@ -53,7 +53,7 @@ Cycles
GenericISA::handleGenericIprRead(ThreadContext *xc, Packet *pkt)
{
Addr va(pkt->getAddr());
- Addr cls((va & IPR_CLASS_MASK) >> IPR_CLASS_SHIFT);
+ Addr cls(va >> IPR_CLASS_SHIFT);
switch (cls) {
case IPR_CLASS_PSEUDO_INST:
@@ -70,7 +70,7 @@ Cycles
GenericISA::handleGenericIprWrite(ThreadContext *xc, Packet *pkt)
{
Addr va(pkt->getAddr());
- Addr cls((va & IPR_CLASS_MASK) >> IPR_CLASS_SHIFT);
+ Addr cls(va >> IPR_CLASS_SHIFT);
switch (cls) {
case IPR_CLASS_PSEUDO_INST: