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


Reply via email to