diff options
-rw-r--r-- | target-lm32/helper.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/target-lm32/helper.c b/target-lm32/helper.c index a0a8399906..03fa5fbe28 100644 --- a/target-lm32/helper.c +++ b/target-lm32/helper.c @@ -39,7 +39,12 @@ int cpu_lm32_handle_mmu_fault(CPULM32State *env, target_ulong address, int rw, hwaddr cpu_get_phys_page_debug(CPULM32State *env, target_ulong addr) { - return addr & TARGET_PAGE_MASK; + addr &= TARGET_PAGE_MASK; + if (env->flags & LM32_FLAG_IGNORE_MSB) { + return addr & 0x7fffffff; + } else { + return addr; + } } void lm32_cpu_do_interrupt(CPUState *cs) |