include/user: Use vaddr in guest-host.h

Replace abi_ptr and abi_ulong with vaddr.

Reviewed-by: Pierrick Bouvier <pierrick.bouvier@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
Richard Henderson
2025-04-30 18:20:04 -07:00
parent 30da476066
commit 7804c84a56

View File

@@ -8,7 +8,7 @@
#ifndef USER_GUEST_HOST_H
#define USER_GUEST_HOST_H
#include "user/abitypes.h"
#include "exec/vaddr.h"
#include "user/guest-base.h"
#include "cpu.h"
@@ -30,29 +30,29 @@ extern unsigned long reserved_va;
extern unsigned long guest_addr_max;
#ifndef TARGET_TAGGED_ADDRESSES
static inline abi_ptr cpu_untagged_addr(CPUState *cs, abi_ptr x)
static inline vaddr cpu_untagged_addr(CPUState *cs, vaddr x)
{
return x;
}
#endif
/* All direct uses of g2h and h2g need to go away for usermode softmmu. */
static inline void *g2h_untagged(abi_ptr x)
static inline void *g2h_untagged(vaddr x)
{
return (void *)((uintptr_t)(x) + guest_base);
}
static inline void *g2h(CPUState *cs, abi_ptr x)
static inline void *g2h(CPUState *cs, vaddr x)
{
return g2h_untagged(cpu_untagged_addr(cs, x));
}
static inline bool guest_addr_valid_untagged(abi_ulong x)
static inline bool guest_addr_valid_untagged(vaddr x)
{
return x <= guest_addr_max;
}
static inline bool guest_range_valid_untagged(abi_ulong start, abi_ulong len)
static inline bool guest_range_valid_untagged(vaddr start, vaddr len)
{
return len - 1 <= guest_addr_max && start <= guest_addr_max - len + 1;
}
@@ -62,7 +62,7 @@ static inline bool guest_range_valid_untagged(abi_ulong start, abi_ulong len)
#define h2g_nocheck(x) ({ \
uintptr_t __ret = (uintptr_t)(x) - guest_base; \
(abi_ptr)__ret; \
(vaddr)__ret; \
})
#define h2g(x) ({ \