qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH 2/9] alpha-linux-user: Work around hosted mmap alloc


From: Richard Henderson
Subject: [Qemu-devel] [PATCH 2/9] alpha-linux-user: Work around hosted mmap allocation problems
Date: Thu, 7 Jun 2012 15:24:24 -0700

Signed-off-by: Richard Henderson <address@hidden>
---
 target-alpha/cpu.h |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h
index 99f9ee1..0d87fa7 100644
--- a/target-alpha/cpu.h
+++ b/target-alpha/cpu.h
@@ -40,9 +40,20 @@
 
 #define TARGET_PAGE_BITS 13
 
+#ifdef CONFIG_USER_ONLY
+/* ??? The kernel likes to give addresses in high memory.  If the host has
+   more virtual address space than the guest, this can lead to impossible
+   allocations.  Honor the long-standing assumption that only kernel addrs
+   are negative, but otherwise allow allocations anywhere.  This could lead
+   to tricky emulation problems for programs doing tagged addressing, but
+   that's far fewer than encounter the impossible allocation problem.  */
+#define TARGET_PHYS_ADDR_SPACE_BITS    63
+#define TARGET_VIRT_ADDR_SPACE_BITS    63
+#else
 /* ??? EV4 has 34 phys addr bits, EV5 has 40, EV6 has 44.  */
 #define TARGET_PHYS_ADDR_SPACE_BITS    44
 #define TARGET_VIRT_ADDR_SPACE_BITS    (30 + TARGET_PAGE_BITS)
+#endif
 
 /* Alpha major type */
 enum {
-- 
1.7.7.6




reply via email to

[Prev in Thread] Current Thread [Next in Thread]