Index: qemu/linux-user/mmap.c ================================================================================ --- qemu/linux-user/mmap.c +++ qemu/linux-user/mmap.c @@ -27,6 +27,10 @@ #include "qemu.h" +#if !defined(MAP_32BIT) +#define MAP_32BIT 0 +#endif + //#define DEBUG_MMAP #if defined(USE_NPTL) @@ -211,7 +215,7 @@ if (prot1 == 0) { /* no page was there, so we allocate one */ void *p = mmap(host_start, qemu_host_page_size, prot, - flags | MAP_ANONYMOUS, -1, 0); + flags | MAP_ANONYMOUS | MAP_32BIT, -1, 0); if (p == MAP_FAILED) return -1; prot1 = prot; @@ -551,7 +555,7 @@ mmap_lock(); /* XXX: use 5 args syscall */ - host_addr = (long)mremap(g2h(old_addr), old_size, new_size, flags); + host_addr = (long)mremap(g2h(old_addr), old_size, new_size, flags | MAP_32BIT); if (host_addr == -1) { new_addr = -1; } else {