diff options
Diffstat (limited to 'src/arch/sparc')
-rw-r--r-- | src/arch/sparc/mmapped_ipr.hh | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/arch/sparc/mmapped_ipr.hh b/src/arch/sparc/mmapped_ipr.hh index 153944e9d..e7d27eed5 100644 --- a/src/arch/sparc/mmapped_ipr.hh +++ b/src/arch/sparc/mmapped_ipr.hh @@ -37,6 +37,7 @@ * ISA-specific helper functions for memory mapped IPR accesses. */ +#include "arch/generic/mmapped_ipr.hh" #include "arch/sparc/tlb.hh" #include "cpu/thread_context.hh" #include "mem/packet.hh" @@ -47,13 +48,19 @@ namespace SparcISA inline Cycles handleIprRead(ThreadContext *xc, Packet *pkt) { - return xc->getDTBPtr()->doMmuRegRead(xc, pkt); + if (GenericISA::isGenericIprAccess(pkt)) + return GenericISA::handleGenericIprRead(xc, pkt); + else + return xc->getDTBPtr()->doMmuRegRead(xc, pkt); } inline Cycles handleIprWrite(ThreadContext *xc, Packet *pkt) { - return xc->getDTBPtr()->doMmuRegWrite(xc, pkt); + if (GenericISA::isGenericIprAccess(pkt)) + return GenericISA::handleGenericIprWrite(xc, pkt); + else + return xc->getDTBPtr()->doMmuRegWrite(xc, pkt); } |