From 99e719a674a09b0cff9aa2c047d8f4394bbe5769 Mon Sep 17 00:00:00 2001 From: Matt Borgerson Date: Mon, 23 Jan 2023 00:30:40 -0700 Subject: [PATCH] tlb: Update callback to use CPUTLBEntryFull --- accel/tcg/cputlb.c | 10 +++++----- softmmu/physmem.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 0541794cb5..759b39a739 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1652,7 +1652,7 @@ void *probe_access(CPUArchState *env, target_ulong addr, int size, ? BP_MEM_WRITE : BP_MEM_READ); #ifdef XBOX mem_check_access_callback_vaddr(env_cpu(env), addr, size, wp_access, - iotlbentry); + full); #endif cpu_check_watchpoint(env_cpu(env), addr, size, full->attrs, wp_access, retaddr); @@ -1969,7 +1969,7 @@ load_helper(CPUArchState *env, target_ulong addr, MemOpIdx oi, if (unlikely(tlb_addr & TLB_WATCHPOINT)) { #ifdef XBOX mem_check_access_callback_vaddr(env_cpu(env), addr, size, - BP_MEM_READ, iotlbentry); + BP_MEM_READ, full); #endif /* On watchpoint hit, this will longjmp out. */ @@ -2300,7 +2300,7 @@ store_helper_unaligned(CPUArchState *env, target_ulong addr, uint64_t val, if (unlikely(tlb_addr & TLB_WATCHPOINT)) { #ifdef XBOX mem_check_access_callback_vaddr(env_cpu(env), addr, size - size2, - BP_MEM_WRITE, &env_tlb(env)->d[mmu_idx].iotlb[index]); + BP_MEM_WRITE, &env_tlb(env)->d[mmu_idx].fulltlb[index]); #endif cpu_check_watchpoint(env_cpu(env), addr, size - size2, env_tlb(env)->d[mmu_idx].fulltlb[index].attrs, @@ -2309,7 +2309,7 @@ store_helper_unaligned(CPUArchState *env, target_ulong addr, uint64_t val, if (size2 && unlikely(tlb_addr2 & TLB_WATCHPOINT)) { #ifdef XBOX mem_check_access_callback_vaddr(env_cpu(env), page2, size2, - BP_MEM_WRITE, &env_tlb(env)->d[mmu_idx].iotlb[index2]); + BP_MEM_WRITE, &env_tlb(env)->d[mmu_idx].fulltlb[index2]); #endif cpu_check_watchpoint(env_cpu(env), page2, size2, env_tlb(env)->d[mmu_idx].fulltlb[index2].attrs, @@ -2390,7 +2390,7 @@ store_helper(CPUArchState *env, target_ulong addr, uint64_t val, if (unlikely(tlb_addr & TLB_WATCHPOINT)) { #ifdef XBOX mem_check_access_callback_vaddr(env_cpu(env), addr, size, - BP_MEM_WRITE, iotlbentry); + BP_MEM_WRITE, full); #endif /* On watchpoint hit, this will longjmp out. */ diff --git a/softmmu/physmem.c b/softmmu/physmem.c index 9e869716f7..ca2a20d43b 100644 --- a/softmmu/physmem.c +++ b/softmmu/physmem.c @@ -915,9 +915,9 @@ void mem_access_callback_remove_by_ref(CPUState *cpu, MemAccessCallback *cb) void mem_check_access_callback_vaddr(CPUState *cpu, vaddr addr, vaddr len, int flags, - void *iotlbentry) + void *tlbentryfull) { - ram_addr_t ram_addr = (((CPUIOTLBEntry *)iotlbentry)->addr + ram_addr_t ram_addr = (((CPUTLBEntryFull *)tlbentryfull)->xlat_section & TARGET_PAGE_MASK) + addr; mem_check_access_callback_ramaddr(cpu, ram_addr, len, flags); }