|
|
|
@ -50,7 +50,9 @@ reg_t mmu_t::translate(reg_t addr, access_type type) |
|
|
|
const uint16_t* mmu_t::fetch_slow_path(reg_t addr) |
|
|
|
{ |
|
|
|
reg_t paddr = translate(addr, FETCH); |
|
|
|
if (paddr >= memsz) |
|
|
|
if (paddr < memsz) |
|
|
|
refill_tlb(addr, paddr, FETCH); |
|
|
|
else |
|
|
|
throw trap_instruction_access_fault(addr); |
|
|
|
return (const uint16_t*)(mem + paddr); |
|
|
|
} |
|
|
|
|