diff --git a/src_Core/RISCY_OOO/procs/lib/MMIOInst.bsv b/src_Core/RISCY_OOO/procs/lib/MMIOInst.bsv index 368a0af..c4b4884 100644 --- a/src_Core/RISCY_OOO/procs/lib/MMIOInst.bsv +++ b/src_Core/RISCY_OOO/procs/lib/MMIOInst.bsv @@ -77,13 +77,15 @@ module mkMMIOInst(MMIOInst); method InstFetchTarget getFetchTarget(Addr phyPc); let addr = getDataAlignedAddr(phyPc); - if(addr >= mainMemBaseAddr && (addr < mainMemBoundAddr) && - addr != toHostAddr && addr != fromHostAddr) - begin - return MainMem; - end + if (soc_map.m_is_IO_addr (phyPc)) begin + return IODevice; + end + else if(addr >= mainMemBaseAddr && (addr < mainMemBoundAddr) && + addr != toHostAddr && addr != fromHostAddr) begin + return MainMem; + end else begin - return IODevice; + return Fault; end endmethod