[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 11/17] linux-user: reserve 4GB of vmem for 32-on-64
From: |
riku . voipio |
Subject: |
[Qemu-devel] [PATCH 11/17] linux-user: reserve 4GB of vmem for 32-on-64 |
Date: |
Fri, 6 Apr 2012 19:35:11 +0300 |
From: Alexander Graf <address@hidden>
When running 32-on-64 bit guests, we should always reserve as much
virtual memory as we possibly can for the guest process, so it can
never overlap with QEMU address space.
Fortunately we already have the infrastructure for that. All that's
missing is some sane default value to also make use of it!
Signed-off-by: Alexander Graf <address@hidden>
Signed-off-by: Riku Voipio <address@hidden>
---
linux-user/main.c | 11 +++++++++++
1 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/linux-user/main.c b/linux-user/main.c
index aa95db3..23ad357 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -48,8 +48,19 @@ unsigned long mmap_min_addr;
#if defined(CONFIG_USE_GUEST_BASE)
unsigned long guest_base;
int have_guest_base;
+#if (TARGET_LONG_BITS == 32) && (HOST_LONG_BITS == 64)
+/*
+ * When running 32-on-64 we should make sure we can fit all of the possible
+ * guest address space into a contiguous chunk of virtual host memory.
+ *
+ * This way we will never overlap with our own libraries or binaries or stack
+ * or anything else that QEMU maps.
+ */
+unsigned long reserved_va = 0xf7000000;
+#else
unsigned long reserved_va;
#endif
+#endif
static void usage(void);
--
1.7.5.4
- [Qemu-devel] [PATCH 12/17] linux-user/syscall.c: Fix indentation in prctl handling, (continued)
- [Qemu-devel] [PATCH 12/17] linux-user/syscall.c: Fix indentation in prctl handling, riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 03/17] linux-user: implement device mapper ioctls, riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 15/17] arm-linux-user: fix elfload.c's AT_HWCAP to reflect cpu features., riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 13/17] linux-user: Add support for prctl PR_GET_NAME and PR_SET_NAME, riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 08/17] linux-user: fix fallocate, riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 02/17] linux-user: target_argv is placed on ts->bprm->argv and can't be freed(), riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 05/17] linux-user: fix BLK ioctl arguments, riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 01/17] linux-user: improve fake /proc/self/stat making `ps` not segfault., riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 04/17] linux-user: add struct old_dev_t compat, riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 11/17] linux-user: reserve 4GB of vmem for 32-on-64,
riku . voipio <=
- [Qemu-devel] [PATCH 17/17] Userspace ARM BE8 support, riku . voipio, 2012/04/06
- [Qemu-devel] [PATCH 07/17] linux-user: Add ioctl for BLKBSZGET, riku . voipio, 2012/04/06
- Re: [Qemu-devel] [PATCH 00/17] linux-user: pending patches, Blue Swirl, 2012/04/07