mmu_translate() and mmu_translate_real() translate virtual addresses to physical ones.
Signed-off-by: Philippe Mathieu-Daudé <[email protected]> --- target/s390x/s390x-internal.h | 9 +++++---- target/s390x/mmu_helper.c | 8 ++++---- target/s390x/tcg/excp_helper.c | 3 ++- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/target/s390x/s390x-internal.h b/target/s390x/s390x-internal.h index dfc95702c51..790cd688762 100644 --- a/target/s390x/s390x-internal.h +++ b/target/s390x/s390x-internal.h @@ -11,6 +11,7 @@ #define S390X_INTERNAL_H #include "exec/hwaddr.h" +#include "exec/vaddr.h" #include "cpu.h" #include "fpu/softfloat.h" @@ -377,10 +378,10 @@ hwaddr mmu_real2abs(CPUS390XState *env, hwaddr raddr); bool mmu_absolute_addr_valid(hwaddr addr, bool is_write); /* Special access mode only valid for mmu_translate() */ #define MMU_S390_LRA -1 -int mmu_translate(CPUS390XState *env, target_ulong vaddr, int rw, uint64_t asc, - target_ulong *raddr, int *flags, uint64_t *tec); -int mmu_translate_real(CPUS390XState *env, target_ulong raddr, int rw, - target_ulong *addr, int *flags, uint64_t *tec); +int mmu_translate(CPUS390XState *env, vaddr vaddr, int rw, uint64_t asc, + hwaddr *raddr, int *flags, uint64_t *tec); +int mmu_translate_real(CPUS390XState *env, vaddr raddr, int rw, + hwaddr *addr, int *flags, uint64_t *tec); /* misc_helper.c */ diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c index abf8da28ea5..9295a9d8dae 100644 --- a/target/s390x/mmu_helper.c +++ b/target/s390x/mmu_helper.c @@ -381,8 +381,8 @@ static void mmu_handle_skey(hwaddr addr, int rw, int *flags) * there is an exception to raise * @return 0 = success, != 0, the exception to raise */ -int mmu_translate(CPUS390XState *env, target_ulong vaddr, int rw, uint64_t asc, - target_ulong *raddr, int *flags, uint64_t *tec) +int mmu_translate(CPUS390XState *env, vaddr vaddr, int rw, uint64_t asc, + hwaddr *raddr, int *flags, uint64_t *tec) { uint64_t asce; int r; @@ -584,8 +584,8 @@ void s390_cpu_virt_mem_handle_exc(S390CPU *cpu, uintptr_t ra) * @param flags the PAGE_READ/WRITE/EXEC flags are stored to this pointer * @return 0 = success, != 0, the exception to raise */ -int mmu_translate_real(CPUS390XState *env, target_ulong raddr, int rw, - target_ulong *addr, int *flags, uint64_t *tec) +int mmu_translate_real(CPUS390XState *env, vaddr raddr, int rw, + hwaddr *addr, int *flags, uint64_t *tec) { const bool lowprot_enabled = env->cregs[0] & CR0_LOWPROT; diff --git a/target/s390x/tcg/excp_helper.c b/target/s390x/tcg/excp_helper.c index 019eb4fba1f..41b0017d767 100644 --- a/target/s390x/tcg/excp_helper.c +++ b/target/s390x/tcg/excp_helper.c @@ -147,7 +147,8 @@ bool s390_cpu_tlb_fill(CPUState *cs, vaddr address, int size, bool probe, uintptr_t retaddr) { CPUS390XState *env = cpu_env(cs); - target_ulong vaddr, raddr; + vaddr vaddr; + hwaddr raddr; uint64_t asc, tec; int prot, excp; -- 2.52.0
