summaryrefslogtreecommitdiffstats
path: root/meta/packages/qemu/qemu-0.9.0+cvs20070613/qemu-amd64-32b-mapping-0.9.0.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta/packages/qemu/qemu-0.9.0+cvs20070613/qemu-amd64-32b-mapping-0.9.0.patch')
-rw-r--r--meta/packages/qemu/qemu-0.9.0+cvs20070613/qemu-amd64-32b-mapping-0.9.0.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/meta/packages/qemu/qemu-0.9.0+cvs20070613/qemu-amd64-32b-mapping-0.9.0.patch b/meta/packages/qemu/qemu-0.9.0+cvs20070613/qemu-amd64-32b-mapping-0.9.0.patch
new file mode 100644
index 0000000000..d9303e3464
--- /dev/null
+++ b/meta/packages/qemu/qemu-0.9.0+cvs20070613/qemu-amd64-32b-mapping-0.9.0.patch
@@ -0,0 +1,31 @@
1--- qemu.orig/linux-user/mmap.c
2+++ qemu/linux-user/mmap.c
3@@ -29,6 +29,10 @@
4
5 //#define DEBUG_MMAP
6
7+#ifndef MAP_32BIT
8+#define MAP_32BIT 0
9+#endif
10+
11 /* NOTE: all the constants are the HOST ones, but addresses are target. */
12 int target_mprotect(target_ulong start, target_ulong len, int prot)
13 {
14@@ -234,7 +238,7 @@
15 host_offset = offset & qemu_host_page_mask;
16 host_len = len + offset - host_offset;
17 host_start = (long)mmap(real_start ? g2h(real_start) : NULL,
18- host_len, prot, flags, fd, host_offset);
19+ host_len, prot, (flags | MAP_32BIT), fd, host_offset);
20 if (host_start == -1)
21 return host_start;
22 /* update start so that it points to the file position at 'offset' */
23@@ -388,7 +392,7 @@
24 int prot;
25
26 /* XXX: use 5 args syscall */
27- new_addr = (long)mremap(g2h(old_addr), old_size, new_size, flags);
28+ new_addr = (long)mremap(g2h(old_addr), old_size, new_size, (flags | MAP_32BIT));
29 if (new_addr == -1)
30 return new_addr;
31 new_addr = h2g(new_addr);