On Thu, 2026-02-05 at 22:37 +0100, Philippe Mathieu-Daudé wrote: > Hi Eric, > > On 5/2/26 22:23, Eric Farman wrote: > > On Wed, 2026-02-04 at 19:27 +0100, Philippe Mathieu-Daudé wrote: > > > Use the %vaddr type for virtual addresses. > > > > > > Signed-off-by: Philippe Mathieu-Daudé <[email protected]> > > > --- > > > target/s390x/s390x-internal.h | 5 +++-- > > > target/s390x/helper.c | 2 +- > > > target/s390x/mmu_helper.c | 6 +++--- > > > target/s390x/tcg/excp_helper.c | 3 ++- > > > 4 files changed, 9 insertions(+), 7 deletions(-) > > > > > @@ -376,9 +377,9 @@ void probe_write_access(CPUS390XState *env, uint64_t > > > addr, uint64_t len, > > > bool mmu_absolute_addr_valid(target_ulong 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, > > > +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, > > > +int mmu_translate_real(CPUS390XState *env, vaddr raddr, int rw, > > > > I think this one should remain target_ulong, and become hwaddr in the next > > patch, no? > > Without s390x background, I don't understand well what real addresses > are. IFAICT the single caller s390_cpu_tlb_fill() provides a virtual > address. But then indeed mmu_real2abs() consumes a hwaddr as real addr.
Hi Philippe, Ah, I didn't go the other direction (my bad). The usage of "real" here is kind of halfway between virtual and -really- real. I suspect the caller is mistaken here, but I think that's a research project for tomorrow. > > > > > > target_ulong *addr, int *flags, uint64_t *tec); > > > > > >
