From: "Edgar E. Iglesias" <edgar.igles...@xilinx.com> No functional change.
Signed-off-by: Edgar E. Iglesias <edgar.igles...@xilinx.com> --- exec.c | 3 ++- include/exec/exec-all.h | 2 +- target-xtensa/op_helper.c | 3 ++- translate-all.c | 4 ++-- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/exec.c b/exec.c index 00526d1..7ed34e2 100644 --- a/exec.c +++ b/exec.c @@ -484,7 +484,8 @@ static void breakpoint_invalidate(CPUState *cpu, target_ulong pc) { hwaddr phys = cpu_get_phys_page_debug(cpu, pc); if (phys != -1) { - tb_invalidate_phys_addr(phys | (pc & ~TARGET_PAGE_MASK)); + tb_invalidate_phys_addr(&address_space_memory, + phys | (pc & ~TARGET_PAGE_MASK)); } } #endif diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index ea90b64..b4dfc07 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -101,7 +101,7 @@ void tlb_flush(CPUArchState *env, int flush_global); void tlb_set_page(CPUArchState *env, target_ulong vaddr, hwaddr paddr, int prot, int mmu_idx, target_ulong size); -void tb_invalidate_phys_addr(hwaddr addr); +void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr); #else static inline void tlb_flush_page(CPUArchState *env, target_ulong addr) { diff --git a/target-xtensa/op_helper.c b/target-xtensa/op_helper.c index cf97025..89a72b5 100644 --- a/target-xtensa/op_helper.c +++ b/target-xtensa/op_helper.c @@ -29,6 +29,7 @@ #include "helper.h" #include "qemu/host-utils.h" #include "exec/softmmu_exec.h" +#include "exec/address-spaces.h" static void do_unaligned_access(CPUXtensaState *env, target_ulong addr, int is_write, int is_user, uintptr_t retaddr); @@ -90,7 +91,7 @@ static void tb_invalidate_virtual_addr(CPUXtensaState *env, uint32_t vaddr) int ret = xtensa_get_physical_addr(env, false, vaddr, 2, 0, &paddr, &page_size, &access); if (ret == 0) { - tb_invalidate_phys_addr(paddr); + tb_invalidate_phys_addr(&address_space_memory, paddr); } } diff --git a/translate-all.c b/translate-all.c index 1c63d78..2ff8781 100644 --- a/translate-all.c +++ b/translate-all.c @@ -1356,13 +1356,13 @@ static TranslationBlock *tb_find_pc(uintptr_t tc_ptr) } #if defined(TARGET_HAS_ICE) && !defined(CONFIG_USER_ONLY) -void tb_invalidate_phys_addr(hwaddr addr) +void tb_invalidate_phys_addr(AddressSpace *as, hwaddr addr) { ram_addr_t ram_addr; MemoryRegion *mr; hwaddr l = 1; - mr = address_space_translate(&address_space_memory, addr, &addr, &l, false); + mr = address_space_translate(as, addr, &addr, &l, false); if (!(memory_region_is_ram(mr) || memory_region_is_romd(mr))) { return; -- 1.7.10.4