From: Philippe Mathieu-Daudé Date: Wed, 7 Jan 2026 09:01:55 +0000 (+0100) Subject: target/s390x: Replace %target_ulong -> %hwaddr where appropriate X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4a41b5ecc5e23fe0d4284ddcd6695fc90ab3e22b;p=thirdparty%2Fqemu.git target/s390x: Replace %target_ulong -> %hwaddr where appropriate Use the %hwaddr type for physical addresses. Signed-off-by: Philippe Mathieu-Daudé Reviewed-by: Thomas Huth Message-Id: <20260206181953.18683-5-philmd@linaro.org> --- diff --git a/target/s390x/helper.c b/target/s390x/helper.c index 5002eebd4c..667d4a0da7 100644 --- a/target/s390x/helper.c +++ b/target/s390x/helper.c @@ -43,7 +43,7 @@ hwaddr s390_cpu_get_phys_page_debug(CPUState *cs, vaddr vaddr) { S390CPU *cpu = S390_CPU(cs); CPUS390XState *env = &cpu->env; - target_ulong raddr; + hwaddr raddr; int prot; uint64_t asc = env->psw.mask & PSW_MASK_ASC; uint64_t tec; diff --git a/target/s390x/mmu_helper.c b/target/s390x/mmu_helper.c index 39ff42da3a..246573ff64 100644 --- a/target/s390x/mmu_helper.c +++ b/target/s390x/mmu_helper.c @@ -86,7 +86,7 @@ static bool lowprot_enabled(const CPUS390XState *env, uint64_t asc) * Translate real address to absolute (= physical) * address by taking care of the prefix mapping. */ -target_ulong mmu_real2abs(CPUS390XState *env, target_ulong raddr) +hwaddr mmu_real2abs(CPUS390XState *env, hwaddr raddr) { if (raddr < 0x2000) { return raddr + env->psa; /* Map the lowcore. */ @@ -96,7 +96,7 @@ target_ulong mmu_real2abs(CPUS390XState *env, target_ulong raddr) return raddr; } -bool mmu_absolute_addr_valid(target_ulong addr, bool is_write) +bool mmu_absolute_addr_valid(hwaddr addr, bool is_write) { return address_space_access_valid(&address_space_memory, addr & TARGET_PAGE_MASK, @@ -123,7 +123,7 @@ static inline bool read_table_entry(CPUS390XState *env, hwaddr gaddr, } static int mmu_translate_asce(CPUS390XState *env, vaddr vaddr, - uint64_t asc, uint64_t asce, target_ulong *raddr, + uint64_t asc, uint64_t asce, hwaddr *raddr, int *flags) { const bool edat1 = (env->cregs[0] & CR0_EDAT) && @@ -296,7 +296,7 @@ static int mmu_translate_asce(CPUS390XState *env, vaddr vaddr, return 0; } -static void mmu_handle_skey(target_ulong addr, int rw, int *flags) +static void mmu_handle_skey(hwaddr addr, int rw, int *flags) { static S390SKeysClass *skeyclass; static S390SKeysState *ss; @@ -382,7 +382,7 @@ static void mmu_handle_skey(target_ulong addr, int rw, int *flags) * @return 0 = success, != 0, the exception to raise */ int mmu_translate(CPUS390XState *env, vaddr vaddr, int rw, uint64_t asc, - target_ulong *raddr, int *flags, uint64_t *tec) + hwaddr *raddr, int *flags, uint64_t *tec) { uint64_t asce; int r; @@ -472,7 +472,7 @@ nodat: * the MEMOP interface. */ static int translate_pages(S390CPU *cpu, vaddr addr, int nr_pages, - target_ulong *pages, bool is_write, uint64_t *tec) + hwaddr *pages, bool is_write, uint64_t *tec) { uint64_t asc = cpu->env.psw.mask & PSW_MASK_ASC; CPUS390XState *env = &cpu->env; @@ -523,7 +523,7 @@ int s390_cpu_virt_mem_rw(S390CPU *cpu, vaddr laddr, uint8_t ar, void *hostbuf, { const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED; int currlen, nr_pages, i; - target_ulong *pages; + hwaddr *pages; uint64_t tec; int ret; @@ -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, hwaddr raddr, int rw, + hwaddr *addr, int *flags, uint64_t *tec) { const bool lowprot_enabled = env->cregs[0] & CR0_LOWPROT; diff --git a/target/s390x/s390x-internal.h b/target/s390x/s390x-internal.h index 31e164c9b5..40850bcdc4 100644 --- a/target/s390x/s390x-internal.h +++ b/target/s390x/s390x-internal.h @@ -10,6 +10,7 @@ #ifndef S390X_INTERNAL_H #define S390X_INTERNAL_H +#include "exec/hwaddr.h" #include "exec/vaddr.h" #include "cpu.h" #include "fpu/softfloat.h" @@ -368,19 +369,19 @@ void ioinst_handle_sal(S390CPU *cpu, uint64_t reg1, uintptr_t ra); /* mem_helper.c */ -target_ulong mmu_real2abs(CPUS390XState *env, target_ulong raddr); void probe_write_access(CPUS390XState *env, uint64_t addr, uint64_t len, uintptr_t ra); /* mmu_helper.c */ -bool mmu_absolute_addr_valid(target_ulong addr, bool is_write); +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, vaddr 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); + hwaddr *raddr, int *flags, uint64_t *tec); +int mmu_translate_real(CPUS390XState *env, hwaddr raddr, int rw, + hwaddr *addr, int *flags, uint64_t *tec); /* misc_helper.c */ diff --git a/target/s390x/tcg/excp_helper.c b/target/s390x/tcg/excp_helper.c index 292d130d03..41b0017d76 100644 --- a/target/s390x/tcg/excp_helper.c +++ b/target/s390x/tcg/excp_helper.c @@ -148,7 +148,7 @@ bool s390_cpu_tlb_fill(CPUState *cs, vaddr address, int size, { CPUS390XState *env = cpu_env(cs); vaddr vaddr; - target_ulong raddr; + hwaddr raddr; uint64_t asc, tec; int prot, excp;