On 31/5/23 06:03, Richard Henderson wrote:
This is a step toward making TranslationBlock agnostic to the address size of the guest.
My understanding is tb_page_addr_t is QEMU internal, not exposed to the guest, thus abi_ulong isn't required. It was a tiny memory optimization we could do when abi_ulong is 32-bit. Therefore we can widen the type, unifying/simplifying TB management on the host. Is that correct? The patch is fine/safe but I'd like to correctly understand :) Meanwhile: Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>
Signed-off-by: Richard Henderson <richard.hender...@linaro.org> --- include/exec/exec-all.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/exec/exec-all.h b/include/exec/exec-all.h index 4d2b151986..0d00541aca 100644 --- a/include/exec/exec-all.h +++ b/include/exec/exec-all.h @@ -31,8 +31,8 @@ addresses in userspace mode. Define tb_page_addr_t to be an appropriate type. */ #if defined(CONFIG_USER_ONLY) -typedef abi_ulong tb_page_addr_t; -#define TB_PAGE_ADDR_FMT TARGET_ABI_FMT_lx +typedef vaddr tb_page_addr_t; +#define TB_PAGE_ADDR_FMT "%" VADDR_PRIx #else typedef ram_addr_t tb_page_addr_t; #define TB_PAGE_ADDR_FMT RAM_ADDR_FMT