diff --git a/target-arm/translate.c b/target-arm/translate.c index 44c6387eaa..4a3dd3b99d 100644 --- a/target-arm/translate.c +++ b/target-arm/translate.c @@ -897,3 +897,8 @@ void cpu_arm_dump_state(CPUARMState *env, FILE *f, int flags) env->cpsr & (1 << 29) ? 'C' : '-', env->cpsr & (1 << 28) ? 'V' : '-'); } + +target_ulong cpu_get_phys_page_debug(CPUState *env, target_ulong addr) +{ + return addr; +} diff --git a/target-ppc/helper.c b/target-ppc/helper.c index 1520d6c821..50c480e2b5 100644 --- a/target-ppc/helper.c +++ b/target-ppc/helper.c @@ -414,6 +414,22 @@ int get_physical_address (CPUState *env, uint32_t *physical, int *prot, return ret; } +#if defined(CONFIG_USER_ONLY) +target_ulong cpu_get_phys_page_debug(CPUState *env, target_ulong addr) +{ + return addr; +} +#else +target_ulong cpu_get_phys_page_debug(CPUState *env, target_ulong addr) +{ + uint32_t phys_addr; + int prot; + + if (get_physical_address(env, &phys_addr, &prot, addr, 0, ACCESS_INT) != 0) + return -1; + return phys_addr; +} +#endif #if !defined(CONFIG_USER_ONLY)