Browse Source

target/s390x: Replace %target_ulong -> %hwaddr where appropriate

Use the %hwaddr type for physical addresses.

Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20260206181953.18683-5-philmd@linaro.org>
pull/319/head
Philippe Mathieu-Daudé 7 months ago
parent
commit
4a41b5ecc5
  1. 2
      target/s390x/helper.c
  2. 18
      target/s390x/mmu_helper.c
  3. 11
      target/s390x/s390x-internal.h
  4. 2
      target/s390x/tcg/excp_helper.c

2
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;

18
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;

11
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 */

2
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;

Loading…
Cancel
Save