[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/2] Fix g2h() for 32-bit targets on 64-bit hosts
From: |
Benjamin Herrenschmidt |
Subject: |
[Qemu-devel] [PATCH 2/2] Fix g2h() for 32-bit targets on 64-bit hosts |
Date: |
Wed, 03 Aug 2016 13:15:19 +1000 |
The current constructs ends up cropping the host address to 32-bit
which crashes for me running 32-bit ppc programs on an x86_64.
Signed-off-by: Benjamin Herrenschmidt <address@hidden>
---
Not sure who to CC for this...
include/exec/cpu_ldst.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/exec/cpu_ldst.h b/include/exec/cpu_ldst.h
index 6eb5fe8..0164535 100644
--- a/include/exec/cpu_ldst.h
+++ b/include/exec/cpu_ldst.h
@@ -49,7 +49,7 @@
#if defined(CONFIG_USER_ONLY)
/* All direct uses of g2h and h2g need to go away for usermode softmmu. */
-#define g2h(x) ((void *)((unsigned long)(target_ulong)(x) + guest_base))
+#define g2h(x) ((void *)(guest_base + (unsigned long)(target_ulong)(x)))
#if HOST_LONG_BITS <= TARGET_VIRT_ADDR_SPACE_BITS
#define h2g_valid(x) 1
- [Qemu-devel] [PATCH 2/2] Fix g2h() for 32-bit targets on 64-bit hosts,
Benjamin Herrenschmidt <=