git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4332 311d38ba-8fff-0310-9ca6-ca027cbcb966
38 lines
1.3 KiB
Diff
38 lines
1.3 KiB
Diff
---
|
|
linux-user/mmap.c | 8 ++++++--
|
|
1 file changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
Index: trunk/linux-user/mmap.c
|
|
===================================================================
|
|
--- trunk.orig/linux-user/mmap.c 2008-04-24 20:15:37.000000000 +0100
|
|
+++ trunk/linux-user/mmap.c 2008-04-24 20:16:16.000000000 +0100
|
|
@@ -29,6 +29,10 @@
|
|
|
|
//#define DEBUG_MMAP
|
|
|
|
+#ifndef MAP_32BIT
|
|
+#define MAP_32BIT 0
|
|
+#endif
|
|
+
|
|
/* NOTE: all the constants are the HOST ones, but addresses are target. */
|
|
int target_mprotect(abi_ulong start, abi_ulong len, int prot)
|
|
{
|
|
@@ -251,7 +255,7 @@
|
|
especially important if qemu_host_page_size >
|
|
qemu_real_host_page_size */
|
|
p = mmap(g2h(mmap_start),
|
|
- host_len, prot, flags | MAP_FIXED, fd, host_offset);
|
|
+ host_len, prot, flags | MAP_FIXED | MAP_32BIT, fd, host_offset);
|
|
if (p == MAP_FAILED)
|
|
return -1;
|
|
/* update start so that it points to the file position at 'offset' */
|
|
@@ -406,7 +410,7 @@
|
|
unsigned long host_addr;
|
|
|
|
/* 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)
|
|
return -1;
|
|
new_addr = h2g(host_addr);
|