Convert m68k to providing the translate_for_debug method rather than the deprecated get_phys_addr_debug method.
Signed-off-by: Peter Maydell <[email protected]> --- target/m68k/cpu.h | 3 ++- target/m68k/cpu.c | 2 +- target/m68k/helper.c | 16 ++++++++++++---- 3 files changed, 15 insertions(+), 6 deletions(-) diff --git a/target/m68k/cpu.h b/target/m68k/cpu.h index 7cf3791108c..bd2582d5891 100644 --- a/target/m68k/cpu.h +++ b/target/m68k/cpu.h @@ -185,7 +185,8 @@ struct M68kCPUClass { #ifndef CONFIG_USER_ONLY void m68k_cpu_do_interrupt(CPUState *cpu); bool m68k_cpu_exec_interrupt(CPUState *cpu, int int_req); -hwaddr m68k_cpu_get_phys_addr_debug(CPUState *cpu, vaddr addr); +bool m68k_cpu_translate_for_debug(CPUState *cpu, vaddr addr, + TranslateForDebugResult *result); #endif /* !CONFIG_USER_ONLY */ void m68k_cpu_dump_state(CPUState *cpu, FILE *f, int flags); int m68k_cpu_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg); diff --git a/target/m68k/cpu.c b/target/m68k/cpu.c index 9b52ad5fc23..69864faa575 100644 --- a/target/m68k/cpu.c +++ b/target/m68k/cpu.c @@ -688,7 +688,7 @@ static const MonitorDef m68k_monitor_defs[] = { static const struct SysemuCPUOps m68k_sysemu_ops = { .has_work = m68k_cpu_has_work, - .get_phys_addr_debug = m68k_cpu_get_phys_addr_debug, + .translate_for_debug = m68k_cpu_translate_for_debug, #ifdef CONFIG_HMP .monitor_defs = m68k_monitor_defs, #endif diff --git a/target/m68k/helper.c b/target/m68k/helper.c index 5f91d206f59..c30854a6746 100644 --- a/target/m68k/helper.c +++ b/target/m68k/helper.c @@ -908,7 +908,8 @@ txfail: return -1; } -hwaddr m68k_cpu_get_phys_addr_debug(CPUState *cs, vaddr addr) +bool m68k_cpu_translate_for_debug(CPUState *cs, vaddr addr, + TranslateForDebugResult *result) { CPUM68KState *env = cpu_env(cs); hwaddr phys_addr; @@ -918,7 +919,8 @@ hwaddr m68k_cpu_get_phys_addr_debug(CPUState *cs, vaddr addr) if ((env->mmu.tcr & M68K_TCR_ENABLED) == 0) { /* MMU disabled */ - return addr; + phys_addr = addr; + goto success; } access_type = ACCESS_DATA | ACCESS_DEBUG; @@ -928,10 +930,16 @@ hwaddr m68k_cpu_get_phys_addr_debug(CPUState *cs, vaddr addr) if (get_physical_address(env, &phys_addr, &prot, addr, access_type, &page_size) != 0) { - return -1; + return false; } - return phys_addr; +success: + *result = (TranslateForDebugResult) { + .physaddr = phys_addr, + .lg_page_size = TARGET_PAGE_BITS, + .attrs.debug = 1, + }; + return true; } /* -- 2.43.0
