From d3eb5fb71088009fe324d23dcc952a602300963d Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Sun, 18 Feb 2018 22:14:34 -0500 Subject: [PATCH] target-arm: Implement cpu_get_phys_page_attrs_debug Implement cpu_get_phys_page_attrs_debug instead of cpu_get_phys_page_debug. Backports commit 0faea0c7e6b729c64035b3591b184eeeeef6f1d4 from qemu --- qemu/aarch64.h | 2 +- qemu/aarch64eb.h | 2 +- qemu/arm.h | 2 +- qemu/armeb.h | 2 +- qemu/header_gen.py | 2 +- qemu/m68k.h | 2 +- qemu/mips.h | 2 +- qemu/mips64.h | 2 +- qemu/mips64el.h | 2 +- qemu/mipsel.h | 2 +- qemu/powerpc.h | 2 +- qemu/sparc.h | 2 +- qemu/sparc64.h | 2 +- qemu/target-arm/cpu-qom.h | 3 ++- qemu/target-arm/cpu.c | 2 +- qemu/target-arm/helper.c | 7 +++---- qemu/x86_64.h | 2 +- 17 files changed, 20 insertions(+), 20 deletions(-) diff --git a/qemu/aarch64.h b/qemu/aarch64.h index e1dce13d..1a8b84b8 100644 --- a/qemu/aarch64.h +++ b/qemu/aarch64.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_aarch64 #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_aarch64 #define arm_cpu_finalizefn arm_cpu_finalizefn_aarch64 -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_aarch64 +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_aarch64 #define arm_cpu_initfn arm_cpu_initfn_aarch64 #define arm_cpu_list arm_cpu_list_aarch64 #define cpu_loop_exit cpu_loop_exit_aarch64 diff --git a/qemu/aarch64eb.h b/qemu/aarch64eb.h index c303099f..75a6a263 100644 --- a/qemu/aarch64eb.h +++ b/qemu/aarch64eb.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_aarch64eb #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_aarch64eb #define arm_cpu_finalizefn arm_cpu_finalizefn_aarch64eb -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_aarch64eb +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_aarch64eb #define arm_cpu_initfn arm_cpu_initfn_aarch64eb #define arm_cpu_list arm_cpu_list_aarch64eb #define cpu_loop_exit cpu_loop_exit_aarch64eb diff --git a/qemu/arm.h b/qemu/arm.h index 2c127406..a6012974 100644 --- a/qemu/arm.h +++ b/qemu/arm.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_arm #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_arm #define arm_cpu_finalizefn arm_cpu_finalizefn_arm -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_arm +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_arm #define arm_cpu_initfn arm_cpu_initfn_arm #define arm_cpu_list arm_cpu_list_arm #define cpu_loop_exit cpu_loop_exit_arm diff --git a/qemu/armeb.h b/qemu/armeb.h index b61ed70c..12d5c156 100644 --- a/qemu/armeb.h +++ b/qemu/armeb.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_armeb #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_armeb #define arm_cpu_finalizefn arm_cpu_finalizefn_armeb -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_armeb +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_armeb #define arm_cpu_initfn arm_cpu_initfn_armeb #define arm_cpu_list arm_cpu_list_armeb #define cpu_loop_exit cpu_loop_exit_armeb diff --git a/qemu/header_gen.py b/qemu/header_gen.py index f644c37c..94217a76 100644 --- a/qemu/header_gen.py +++ b/qemu/header_gen.py @@ -135,7 +135,7 @@ symbols = ( 'arm_cpu_do_interrupt', 'arm_cpu_exec_interrupt', 'arm_cpu_finalizefn', - 'arm_cpu_get_phys_page_debug', + 'arm_cpu_get_phys_page_attrs_debug', 'arm_cpu_initfn', 'arm_cpu_list', 'cpu_loop_exit', diff --git a/qemu/m68k.h b/qemu/m68k.h index bf6a87d8..345417df 100644 --- a/qemu/m68k.h +++ b/qemu/m68k.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_m68k #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_m68k #define arm_cpu_finalizefn arm_cpu_finalizefn_m68k -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_m68k +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_m68k #define arm_cpu_initfn arm_cpu_initfn_m68k #define arm_cpu_list arm_cpu_list_m68k #define cpu_loop_exit cpu_loop_exit_m68k diff --git a/qemu/mips.h b/qemu/mips.h index 35853c2c..9e1b0140 100644 --- a/qemu/mips.h +++ b/qemu/mips.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_mips #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_mips #define arm_cpu_finalizefn arm_cpu_finalizefn_mips -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_mips +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_mips #define arm_cpu_initfn arm_cpu_initfn_mips #define arm_cpu_list arm_cpu_list_mips #define cpu_loop_exit cpu_loop_exit_mips diff --git a/qemu/mips64.h b/qemu/mips64.h index 209e4bf0..d7e91bba 100644 --- a/qemu/mips64.h +++ b/qemu/mips64.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_mips64 #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_mips64 #define arm_cpu_finalizefn arm_cpu_finalizefn_mips64 -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_mips64 +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_mips64 #define arm_cpu_initfn arm_cpu_initfn_mips64 #define arm_cpu_list arm_cpu_list_mips64 #define cpu_loop_exit cpu_loop_exit_mips64 diff --git a/qemu/mips64el.h b/qemu/mips64el.h index 763c0f1e..7d024906 100644 --- a/qemu/mips64el.h +++ b/qemu/mips64el.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_mips64el #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_mips64el #define arm_cpu_finalizefn arm_cpu_finalizefn_mips64el -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_mips64el +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_mips64el #define arm_cpu_initfn arm_cpu_initfn_mips64el #define arm_cpu_list arm_cpu_list_mips64el #define cpu_loop_exit cpu_loop_exit_mips64el diff --git a/qemu/mipsel.h b/qemu/mipsel.h index 1582aa7b..d5fe6ad7 100644 --- a/qemu/mipsel.h +++ b/qemu/mipsel.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_mipsel #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_mipsel #define arm_cpu_finalizefn arm_cpu_finalizefn_mipsel -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_mipsel +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_mipsel #define arm_cpu_initfn arm_cpu_initfn_mipsel #define arm_cpu_list arm_cpu_list_mipsel #define cpu_loop_exit cpu_loop_exit_mipsel diff --git a/qemu/powerpc.h b/qemu/powerpc.h index fbca936e..bab50b2f 100644 --- a/qemu/powerpc.h +++ b/qemu/powerpc.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_powerpc #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_powerpc #define arm_cpu_finalizefn arm_cpu_finalizefn_powerpc -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_powerpc +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_powerpc #define arm_cpu_initfn arm_cpu_initfn_powerpc #define arm_cpu_list arm_cpu_list_powerpc #define cpu_loop_exit cpu_loop_exit_powerpc diff --git a/qemu/sparc.h b/qemu/sparc.h index c9cc139f..5d4ec40c 100644 --- a/qemu/sparc.h +++ b/qemu/sparc.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_sparc #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_sparc #define arm_cpu_finalizefn arm_cpu_finalizefn_sparc -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_sparc +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_sparc #define arm_cpu_initfn arm_cpu_initfn_sparc #define arm_cpu_list arm_cpu_list_sparc #define cpu_loop_exit cpu_loop_exit_sparc diff --git a/qemu/sparc64.h b/qemu/sparc64.h index 8d942b6e..a897a544 100644 --- a/qemu/sparc64.h +++ b/qemu/sparc64.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_sparc64 #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_sparc64 #define arm_cpu_finalizefn arm_cpu_finalizefn_sparc64 -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_sparc64 +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_sparc64 #define arm_cpu_initfn arm_cpu_initfn_sparc64 #define arm_cpu_list arm_cpu_list_sparc64 #define cpu_loop_exit cpu_loop_exit_sparc64 diff --git a/qemu/target-arm/cpu-qom.h b/qemu/target-arm/cpu-qom.h index 2f2f57d4..2f9ae38c 100644 --- a/qemu/target-arm/cpu-qom.h +++ b/qemu/target-arm/cpu-qom.h @@ -215,7 +215,8 @@ void arm_cpu_do_interrupt(CPUState *cpu); void arm_v7m_cpu_do_interrupt(CPUState *cpu); bool arm_cpu_exec_interrupt(CPUState *cpu, int int_req); -hwaddr arm_cpu_get_phys_page_debug(CPUState *cpu, vaddr addr); +hwaddr arm_cpu_get_phys_page_attrs_debug(CPUState *cpu, vaddr addr, + MemTxAttrs *attrs); int arm_cpu_gdb_read_register(CPUState *cpu, uint8_t *buf, int reg); int arm_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg); diff --git a/qemu/target-arm/cpu.c b/qemu/target-arm/cpu.c index 69714d45..1bc3ea18 100644 --- a/qemu/target-arm/cpu.c +++ b/qemu/target-arm/cpu.c @@ -1327,7 +1327,7 @@ static void arm_cpu_class_init(struct uc_struct *uc, ObjectClass *oc, void *data #else cc->do_interrupt = arm_cpu_do_interrupt; cc->do_unaligned_access = arm_cpu_do_unaligned_access; - cc->get_phys_page_debug = arm_cpu_get_phys_page_debug; + cc->get_phys_page_attrs_debug = arm_cpu_get_phys_page_attrs_debug; cc->asidx_from_attrs = arm_asidx_from_attrs; // UNICORN: Commented out //cc->vmsd = &vmstate_arm_cpu; diff --git a/qemu/target-arm/helper.c b/qemu/target-arm/helper.c index 92241e3e..59804b1f 100644 --- a/qemu/target-arm/helper.c +++ b/qemu/target-arm/helper.c @@ -6690,7 +6690,8 @@ bool arm_tlb_fill(CPUState *cs, vaddr address, return ret; } -hwaddr arm_cpu_get_phys_page_debug(CPUState *cs, vaddr addr) +hwaddr arm_cpu_get_phys_page_attrs_debug(CPUState *cs, vaddr addr, + MemTxAttrs *attrs) { ARMCPU *cpu = ARM_CPU(NULL, cs); CPUARMState *env = &cpu->env; @@ -6699,16 +6700,14 @@ hwaddr arm_cpu_get_phys_page_debug(CPUState *cs, vaddr addr) int prot; bool ret; uint32_t fsr; - MemTxAttrs attrs = {0}; ARMMMUFaultInfo fi = {0}; ret = get_phys_addr(env, addr, 0, cpu_mmu_index(env, false), &phys_addr, - &attrs, &prot, &page_size, &fsr, &fi); + attrs, &prot, &page_size, &fsr, &fi); if (ret) { return -1; } - return phys_addr; } diff --git a/qemu/x86_64.h b/qemu/x86_64.h index d0f05acf..c7b4f1bb 100644 --- a/qemu/x86_64.h +++ b/qemu/x86_64.h @@ -129,7 +129,7 @@ #define arm_cpu_do_interrupt arm_cpu_do_interrupt_x86_64 #define arm_cpu_exec_interrupt arm_cpu_exec_interrupt_x86_64 #define arm_cpu_finalizefn arm_cpu_finalizefn_x86_64 -#define arm_cpu_get_phys_page_debug arm_cpu_get_phys_page_debug_x86_64 +#define arm_cpu_get_phys_page_attrs_debug arm_cpu_get_phys_page_attrs_debug_x86_64 #define arm_cpu_initfn arm_cpu_initfn_x86_64 #define arm_cpu_list arm_cpu_list_x86_64 #define cpu_loop_exit cpu_loop_exit_x86_64