aboutsummaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorJuergen Lock <nox@FreeBSD.org>2007-02-03 22:15:28 +0000
committerJuergen Lock <nox@FreeBSD.org>2007-02-03 22:15:28 +0000
commit3c8cb897addc08050792496f38816f597c58b016 (patch)
tree2f5bf8b3743e458b4a0012b1e8274e0a11a64232 /emulators
parent40002f591182795957ffd709b1f23bbe9c0e9020 (diff)
downloadports-3c8cb897addc08050792496f38816f597c58b016.tar.gz
ports-3c8cb897addc08050792496f38816f597c58b016.zip
Notes
Diffstat (limited to 'emulators')
-rw-r--r--emulators/qemu-devel/Makefile12
-rw-r--r--emulators/qemu-devel/distinfo9
-rw-r--r--emulators/qemu-devel/files/patch-block.c10
-rw-r--r--emulators/qemu-devel/files/patch-bsdusb.patch8
-rw-r--r--emulators/qemu-devel/files/patch-cpu-exec.c11
-rw-r--r--emulators/qemu-devel/files/patch-osdep.c14
-rw-r--r--emulators/qemu-devel/files/patch-sdl.c14
-rw-r--r--emulators/qemu-devel/files/patch-slirp-udp.c26
-rw-r--r--emulators/qemu-devel/files/patch-vl.c-ppbus3
-rw-r--r--emulators/qemu-devel/files/patch-vl.h12
-rw-r--r--emulators/qemu-devel/files/patch-x_keymap.c14
-rw-r--r--emulators/qemu/Makefile12
-rw-r--r--emulators/qemu/distinfo9
-rw-r--r--emulators/qemu/files/patch-block.c10
-rw-r--r--emulators/qemu/files/patch-bsdusb.patch8
-rw-r--r--emulators/qemu/files/patch-cpu-exec.c11
-rw-r--r--emulators/qemu/files/patch-osdep.c14
-rw-r--r--emulators/qemu/files/patch-sdl.c14
-rw-r--r--emulators/qemu/files/patch-slirp-udp.c26
-rw-r--r--emulators/qemu/files/patch-vl.c-ppbus3
-rw-r--r--emulators/qemu/files/patch-vl.h12
-rw-r--r--emulators/qemu/files/patch-x_keymap.c14
22 files changed, 108 insertions, 158 deletions
diff --git a/emulators/qemu-devel/Makefile b/emulators/qemu-devel/Makefile
index 15900ff36c66..e0f3fa3dc90b 100644
--- a/emulators/qemu-devel/Makefile
+++ b/emulators/qemu-devel/Makefile
@@ -6,17 +6,18 @@
#
PORTNAME= qemu
-PORTVERSION= 0.8.2s.20070111
-PORTREVISION= 1
+PORTVERSION= 0.8.2s.20070203
CATEGORIES= emulators
MASTER_SITES= http://www.qemu.org/:release \
http://qemu-forum.ipi.fi/qemu-snapshots/:snapshot \
http://people.fruitsalad.org/nox/qemu/:snapshot \
http://www.volny.cz/xnavara/qemu/:snapshot \
http://people.brandeis.edu/~jcoiner/qemu_idedma/:idedma \
- http://people.freebsd.org/~maho/qemu/:misc
-DISTNAME= ${PORTNAME}-snapshot-2007-01-11_05
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot
+ http://people.freebsd.org/~maho/qemu/:misc \
+ http://people.freebsd.org/~jkim/:bios
+DISTNAME= ${PORTNAME}-snapshot-2007-02-03_05
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot \
+ qemu-bios.bin:bios
DIST_SUBDIR= qemu
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
@@ -81,6 +82,7 @@ post-extract:
@${MKDIR} ${WRKSRC}/kqemu
@${TOUCH} ${WRKSRC}/kqemu/Makefile
@${ECHO} all: > ${WRKSRC}/kqemu/Makefile.freebsd
+ @${CP} -p ${_DISTDIR}/qemu-bios.bin ${WRKSRC}/pc-bios/bios.bin
pre-patch:
@for A in ${ONLY_FOR_ARCHS}; do \
diff --git a/emulators/qemu-devel/distinfo b/emulators/qemu-devel/distinfo
index 51cca2877c06..d3b2bbb99a47 100644
--- a/emulators/qemu-devel/distinfo
+++ b/emulators/qemu-devel/distinfo
@@ -1,6 +1,9 @@
-MD5 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 6b183198ea932853664edbff595579c7
-SHA256 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 4020ae33a58fba1a205c77a70fce21ba8e1843adcb8bedcabfbc7f84c53b35a1
-SIZE (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 1576375
+MD5 (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = b6d267210c6dd74d0ddd5be7ecbd90d4
+SHA256 (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = 05babc93d39140f7257a1accd43dbf38142ebdf4ae837c1994b6054449ee78de
+SIZE (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = 1634923
+MD5 (qemu/qemu-bios.bin) = 173e256f17b4ac1f6e3249c83071e8f5
+SHA256 (qemu/qemu-bios.bin) = 452d863ec8ac9e2246950ac204410e847cdeba880d7bec2aeb79c4f2fbb0ad17
+SIZE (qemu/qemu-bios.bin) = 131072
MD5 (qemu/patch3_cirrus) = ebe7ed9fce804c49e024bc93bfdfc810
SHA256 (qemu/patch3_cirrus) = e862371834b7d895a896fbdb84fd9f70d17b5729a6f6789a48a61504fc941e11
SIZE (qemu/patch3_cirrus) = 8817
diff --git a/emulators/qemu-devel/files/patch-block.c b/emulators/qemu-devel/files/patch-block.c
new file mode 100644
index 000000000000..f607e8fe29c3
--- /dev/null
+++ b/emulators/qemu-devel/files/patch-block.c
@@ -0,0 +1,10 @@
+Index: qemu/block.c
+@@ -381,7 +381,7 @@
+ else
+ open_flags = flags & ~(BDRV_O_FILE | BDRV_O_SNAPSHOT);
+ ret = drv->bdrv_open(bs, filename, open_flags);
+- if (ret == -EACCES && !(flags & BDRV_O_FILE)) {
++ if ((ret == -EACCES || ret == -EPERM) && !(flags & BDRV_O_FILE)) {
+ ret = drv->bdrv_open(bs, filename, BDRV_O_RDONLY);
+ bs->read_only = 1;
+ }
diff --git a/emulators/qemu-devel/files/patch-bsdusb.patch b/emulators/qemu-devel/files/patch-bsdusb.patch
index 09b90c09c916..ce1686004eaa 100644
--- a/emulators/qemu-devel/files/patch-bsdusb.patch
+++ b/emulators/qemu-devel/files/patch-bsdusb.patch
@@ -1,13 +1,13 @@
Index: qemu/configure
-@@ -134,6 +134,7 @@
+@@ -139,6 +139,7 @@
oss="yes"
linux="yes"
- user="yes"
+ linux_user="yes"
+usb="linux"
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
kqemu="yes"
fi
-@@ -143,6 +144,7 @@
+@@ -148,6 +149,7 @@
if [ "$bsd" = "yes" ] ; then
if [ "$darwin" != "yes" ] ; then
make="gmake"
@@ -15,7 +15,7 @@ Index: qemu/configure
fi
fi
-@@ -724,6 +726,19 @@
+@@ -786,6 +788,19 @@
fi
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
diff --git a/emulators/qemu-devel/files/patch-cpu-exec.c b/emulators/qemu-devel/files/patch-cpu-exec.c
index 198a19171570..7e9e4550c7bd 100644
--- a/emulators/qemu-devel/files/patch-cpu-exec.c
+++ b/emulators/qemu-devel/files/patch-cpu-exec.c
@@ -1,14 +1,13 @@
---- qemu/cpu-exec.c.orig Wed Jan 31 16:58:03 2007
-+++ qemu/cpu-exec.c Wed Jan 31 17:08:11 2007
+Index: qemu/cpu-exec.c
@@ -226,9 +226,9 @@
int cpu_exec(CPUState *env1)
{
-- int saved_T0, saved_T1;
-+ long saved_T0, saved_T1;
+- target_ulong saved_T0, saved_T1;
++ unsigned long saved_T0, saved_T1;
#if defined(reg_T2)
-- int saved_T2;
-+ long saved_T2;
+- target_ulong saved_T2;
++ unsigned long saved_T2;
#endif
CPUState *saved_env;
#if defined(TARGET_I386)
diff --git a/emulators/qemu-devel/files/patch-osdep.c b/emulators/qemu-devel/files/patch-osdep.c
index 3d5382b50c51..36adcdbb7667 100644
--- a/emulators/qemu-devel/files/patch-osdep.c
+++ b/emulators/qemu-devel/files/patch-osdep.c
@@ -1,7 +1,7 @@
Index: qemu/osdep.c
-@@ -323,7 +323,9 @@
+@@ -79,7 +79,9 @@
- #elif defined(USE_KQEMU)
+ #if defined(USE_KQEMU)
+#ifndef __FreeBSD__
#include <sys/vfs.h>
@@ -9,15 +9,15 @@ Index: qemu/osdep.c
#include <sys/mman.h>
#include <fcntl.h>
-@@ -334,6 +336,7 @@
+@@ -90,6 +92,7 @@
const char *tmpdir;
char phys_ram_file[1024];
void *ptr;
+#ifndef __FreeBSD__
- struct statfs stfs;
-
- if (phys_ram_fd < 0) {
-@@ -389,12 +392,20 @@
+ #ifdef HOST_SOLARIS
+ struct statvfs stfs;
+ #else
+@@ -151,12 +154,20 @@
}
unlink(phys_ram_file);
}
diff --git a/emulators/qemu-devel/files/patch-sdl.c b/emulators/qemu-devel/files/patch-sdl.c
deleted file mode 100644
index a5cc515a4b10..000000000000
--- a/emulators/qemu-devel/files/patch-sdl.c
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: qemu/sdl.c
-@@ -115,9 +115,9 @@
- 0xb5, /* 112 Divide */
- 0xb8, /* 113 Alt-R */
- 0xc6, /* 114 Break */
-- 0x0, /* 115 */
-- 0x0, /* 116 */
-- 0x0, /* 117 */
-+ 0xdb, /* 115 windows left button */
-+ 0xdc, /* 116 windows right button */
-+ 0xdd, /* 117 right menu button */
- 0x0, /* 118 */
- 0x0, /* 119 */
- 0x70, /* 120 Hiragana_Katakana */
diff --git a/emulators/qemu-devel/files/patch-slirp-udp.c b/emulators/qemu-devel/files/patch-slirp-udp.c
deleted file mode 100644
index 3b32db529881..000000000000
--- a/emulators/qemu-devel/files/patch-slirp-udp.c
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qemu/slirp/udp.c
-@@ -205,8 +208,6 @@
- /* udp_last_so = so; */
- so->so_laddr = ip->ip_src;
- so->so_lport = uh->uh_sport;
-- so->so_faddr = ip->ip_dst; /* XXX */
-- so->so_fport = uh->uh_dport; /* XXX */
-
- if ((so->so_iptos = udp_tos(so)) == 0)
- so->so_iptos = ip->ip_tos;
-@@ -216,6 +217,15 @@
- * and if it is, do the fork_exec() etc.
- */
- }
-+
-+ /*
-+ * Assign destination unconditionally
-+ *
-+ * This fixes the case where packets are sent from the same
-+ * source ip/port to different destination ips/ports
-+ */
-+ so->so_faddr = ip->ip_dst; /* XXX */
-+ so->so_fport = uh->uh_dport; /* XXX */
-
- iphlen += sizeof(struct udphdr);
- m->m_len -= iphlen;
diff --git a/emulators/qemu-devel/files/patch-vl.c-ppbus b/emulators/qemu-devel/files/patch-vl.c-ppbus
index fc06147d8f5a..d0b46abcbcb4 100644
--- a/emulators/qemu-devel/files/patch-vl.c-ppbus
+++ b/emulators/qemu-devel/files/patch-vl.c-ppbus
@@ -9,7 +9,7 @@
#endif
#else
#ifndef __sun__
-@@ -1728,7 +1730,65 @@
+@@ -1728,7 +1730,64 @@
chr->chr_ioctl = pp_ioctl;
return chr;
}
@@ -68,7 +68,6 @@
+ }
+ chr->opaque = (void *)fd;
+ chr->chr_write = null_chr_write;
-+ chr->chr_add_read_handler = null_chr_add_read_handler;
+ chr->chr_ioctl = pp_ioctl;
+ return chr;
+}
diff --git a/emulators/qemu-devel/files/patch-vl.h b/emulators/qemu-devel/files/patch-vl.h
deleted file mode 100644
index 8307eee09785..000000000000
--- a/emulators/qemu-devel/files/patch-vl.h
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: qemu/vl.h
-@@ -73,6 +73,10 @@
- #define PRIo64 "I64o"
- #endif
-
-+#ifndef ENOMEDIUM
-+#define ENOMEDIUM 4097
-+#endif
-+
- #ifdef QEMU_TOOL
-
- /* we use QEMU_TOOL in the command line tools which do not depend on
diff --git a/emulators/qemu-devel/files/patch-x_keymap.c b/emulators/qemu-devel/files/patch-x_keymap.c
new file mode 100644
index 000000000000..30b0454208c1
--- /dev/null
+++ b/emulators/qemu-devel/files/patch-x_keymap.c
@@ -0,0 +1,14 @@
+Index: qemu/x_keymap.c
+@@ -41,9 +41,9 @@
+ 0xb5, /* 112 Divide */
+ 0xb8, /* 113 Alt-R */
+ 0xc6, /* 114 Break */
+- 0x0, /* 115 */
+- 0x0, /* 116 */
+- 0x0, /* 117 */
++ 0xdb, /* 115 left windows key */
++ 0xdc, /* 116 right windows key */
++ 0xdd, /* 117 right menu key */
+ 0x0, /* 118 */
+ 0x0, /* 119 */
+ 0x0, /* 120 */
diff --git a/emulators/qemu/Makefile b/emulators/qemu/Makefile
index 15900ff36c66..e0f3fa3dc90b 100644
--- a/emulators/qemu/Makefile
+++ b/emulators/qemu/Makefile
@@ -6,17 +6,18 @@
#
PORTNAME= qemu
-PORTVERSION= 0.8.2s.20070111
-PORTREVISION= 1
+PORTVERSION= 0.8.2s.20070203
CATEGORIES= emulators
MASTER_SITES= http://www.qemu.org/:release \
http://qemu-forum.ipi.fi/qemu-snapshots/:snapshot \
http://people.fruitsalad.org/nox/qemu/:snapshot \
http://www.volny.cz/xnavara/qemu/:snapshot \
http://people.brandeis.edu/~jcoiner/qemu_idedma/:idedma \
- http://people.freebsd.org/~maho/qemu/:misc
-DISTNAME= ${PORTNAME}-snapshot-2007-01-11_05
-DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot
+ http://people.freebsd.org/~maho/qemu/:misc \
+ http://people.freebsd.org/~jkim/:bios
+DISTNAME= ${PORTNAME}-snapshot-2007-02-03_05
+DISTFILES= ${DISTNAME}${EXTRACT_SUFX}:snapshot \
+ qemu-bios.bin:bios
DIST_SUBDIR= qemu
EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX}
@@ -81,6 +82,7 @@ post-extract:
@${MKDIR} ${WRKSRC}/kqemu
@${TOUCH} ${WRKSRC}/kqemu/Makefile
@${ECHO} all: > ${WRKSRC}/kqemu/Makefile.freebsd
+ @${CP} -p ${_DISTDIR}/qemu-bios.bin ${WRKSRC}/pc-bios/bios.bin
pre-patch:
@for A in ${ONLY_FOR_ARCHS}; do \
diff --git a/emulators/qemu/distinfo b/emulators/qemu/distinfo
index 51cca2877c06..d3b2bbb99a47 100644
--- a/emulators/qemu/distinfo
+++ b/emulators/qemu/distinfo
@@ -1,6 +1,9 @@
-MD5 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 6b183198ea932853664edbff595579c7
-SHA256 (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 4020ae33a58fba1a205c77a70fce21ba8e1843adcb8bedcabfbc7f84c53b35a1
-SIZE (qemu/qemu-snapshot-2007-01-11_05.tar.bz2) = 1576375
+MD5 (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = b6d267210c6dd74d0ddd5be7ecbd90d4
+SHA256 (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = 05babc93d39140f7257a1accd43dbf38142ebdf4ae837c1994b6054449ee78de
+SIZE (qemu/qemu-snapshot-2007-02-03_05.tar.bz2) = 1634923
+MD5 (qemu/qemu-bios.bin) = 173e256f17b4ac1f6e3249c83071e8f5
+SHA256 (qemu/qemu-bios.bin) = 452d863ec8ac9e2246950ac204410e847cdeba880d7bec2aeb79c4f2fbb0ad17
+SIZE (qemu/qemu-bios.bin) = 131072
MD5 (qemu/patch3_cirrus) = ebe7ed9fce804c49e024bc93bfdfc810
SHA256 (qemu/patch3_cirrus) = e862371834b7d895a896fbdb84fd9f70d17b5729a6f6789a48a61504fc941e11
SIZE (qemu/patch3_cirrus) = 8817
diff --git a/emulators/qemu/files/patch-block.c b/emulators/qemu/files/patch-block.c
new file mode 100644
index 000000000000..f607e8fe29c3
--- /dev/null
+++ b/emulators/qemu/files/patch-block.c
@@ -0,0 +1,10 @@
+Index: qemu/block.c
+@@ -381,7 +381,7 @@
+ else
+ open_flags = flags & ~(BDRV_O_FILE | BDRV_O_SNAPSHOT);
+ ret = drv->bdrv_open(bs, filename, open_flags);
+- if (ret == -EACCES && !(flags & BDRV_O_FILE)) {
++ if ((ret == -EACCES || ret == -EPERM) && !(flags & BDRV_O_FILE)) {
+ ret = drv->bdrv_open(bs, filename, BDRV_O_RDONLY);
+ bs->read_only = 1;
+ }
diff --git a/emulators/qemu/files/patch-bsdusb.patch b/emulators/qemu/files/patch-bsdusb.patch
index 09b90c09c916..ce1686004eaa 100644
--- a/emulators/qemu/files/patch-bsdusb.patch
+++ b/emulators/qemu/files/patch-bsdusb.patch
@@ -1,13 +1,13 @@
Index: qemu/configure
-@@ -134,6 +134,7 @@
+@@ -139,6 +139,7 @@
oss="yes"
linux="yes"
- user="yes"
+ linux_user="yes"
+usb="linux"
if [ "$cpu" = "i386" -o "$cpu" = "x86_64" ] ; then
kqemu="yes"
fi
-@@ -143,6 +144,7 @@
+@@ -148,6 +149,7 @@
if [ "$bsd" = "yes" ] ; then
if [ "$darwin" != "yes" ] ; then
make="gmake"
@@ -15,7 +15,7 @@ Index: qemu/configure
fi
fi
-@@ -724,6 +726,19 @@
+@@ -786,6 +788,19 @@
fi
echo "#define CONFIG_UNAME_RELEASE \"$uname_release\"" >> $config_h
diff --git a/emulators/qemu/files/patch-cpu-exec.c b/emulators/qemu/files/patch-cpu-exec.c
index 198a19171570..7e9e4550c7bd 100644
--- a/emulators/qemu/files/patch-cpu-exec.c
+++ b/emulators/qemu/files/patch-cpu-exec.c
@@ -1,14 +1,13 @@
---- qemu/cpu-exec.c.orig Wed Jan 31 16:58:03 2007
-+++ qemu/cpu-exec.c Wed Jan 31 17:08:11 2007
+Index: qemu/cpu-exec.c
@@ -226,9 +226,9 @@
int cpu_exec(CPUState *env1)
{
-- int saved_T0, saved_T1;
-+ long saved_T0, saved_T1;
+- target_ulong saved_T0, saved_T1;
++ unsigned long saved_T0, saved_T1;
#if defined(reg_T2)
-- int saved_T2;
-+ long saved_T2;
+- target_ulong saved_T2;
++ unsigned long saved_T2;
#endif
CPUState *saved_env;
#if defined(TARGET_I386)
diff --git a/emulators/qemu/files/patch-osdep.c b/emulators/qemu/files/patch-osdep.c
index 3d5382b50c51..36adcdbb7667 100644
--- a/emulators/qemu/files/patch-osdep.c
+++ b/emulators/qemu/files/patch-osdep.c
@@ -1,7 +1,7 @@
Index: qemu/osdep.c
-@@ -323,7 +323,9 @@
+@@ -79,7 +79,9 @@
- #elif defined(USE_KQEMU)
+ #if defined(USE_KQEMU)
+#ifndef __FreeBSD__
#include <sys/vfs.h>
@@ -9,15 +9,15 @@ Index: qemu/osdep.c
#include <sys/mman.h>
#include <fcntl.h>
-@@ -334,6 +336,7 @@
+@@ -90,6 +92,7 @@
const char *tmpdir;
char phys_ram_file[1024];
void *ptr;
+#ifndef __FreeBSD__
- struct statfs stfs;
-
- if (phys_ram_fd < 0) {
-@@ -389,12 +392,20 @@
+ #ifdef HOST_SOLARIS
+ struct statvfs stfs;
+ #else
+@@ -151,12 +154,20 @@
}
unlink(phys_ram_file);
}
diff --git a/emulators/qemu/files/patch-sdl.c b/emulators/qemu/files/patch-sdl.c
deleted file mode 100644
index a5cc515a4b10..000000000000
--- a/emulators/qemu/files/patch-sdl.c
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: qemu/sdl.c
-@@ -115,9 +115,9 @@
- 0xb5, /* 112 Divide */
- 0xb8, /* 113 Alt-R */
- 0xc6, /* 114 Break */
-- 0x0, /* 115 */
-- 0x0, /* 116 */
-- 0x0, /* 117 */
-+ 0xdb, /* 115 windows left button */
-+ 0xdc, /* 116 windows right button */
-+ 0xdd, /* 117 right menu button */
- 0x0, /* 118 */
- 0x0, /* 119 */
- 0x70, /* 120 Hiragana_Katakana */
diff --git a/emulators/qemu/files/patch-slirp-udp.c b/emulators/qemu/files/patch-slirp-udp.c
deleted file mode 100644
index 3b32db529881..000000000000
--- a/emulators/qemu/files/patch-slirp-udp.c
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qemu/slirp/udp.c
-@@ -205,8 +208,6 @@
- /* udp_last_so = so; */
- so->so_laddr = ip->ip_src;
- so->so_lport = uh->uh_sport;
-- so->so_faddr = ip->ip_dst; /* XXX */
-- so->so_fport = uh->uh_dport; /* XXX */
-
- if ((so->so_iptos = udp_tos(so)) == 0)
- so->so_iptos = ip->ip_tos;
-@@ -216,6 +217,15 @@
- * and if it is, do the fork_exec() etc.
- */
- }
-+
-+ /*
-+ * Assign destination unconditionally
-+ *
-+ * This fixes the case where packets are sent from the same
-+ * source ip/port to different destination ips/ports
-+ */
-+ so->so_faddr = ip->ip_dst; /* XXX */
-+ so->so_fport = uh->uh_dport; /* XXX */
-
- iphlen += sizeof(struct udphdr);
- m->m_len -= iphlen;
diff --git a/emulators/qemu/files/patch-vl.c-ppbus b/emulators/qemu/files/patch-vl.c-ppbus
index fc06147d8f5a..d0b46abcbcb4 100644
--- a/emulators/qemu/files/patch-vl.c-ppbus
+++ b/emulators/qemu/files/patch-vl.c-ppbus
@@ -9,7 +9,7 @@
#endif
#else
#ifndef __sun__
-@@ -1728,7 +1730,65 @@
+@@ -1728,7 +1730,64 @@
chr->chr_ioctl = pp_ioctl;
return chr;
}
@@ -68,7 +68,6 @@
+ }
+ chr->opaque = (void *)fd;
+ chr->chr_write = null_chr_write;
-+ chr->chr_add_read_handler = null_chr_add_read_handler;
+ chr->chr_ioctl = pp_ioctl;
+ return chr;
+}
diff --git a/emulators/qemu/files/patch-vl.h b/emulators/qemu/files/patch-vl.h
deleted file mode 100644
index 8307eee09785..000000000000
--- a/emulators/qemu/files/patch-vl.h
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: qemu/vl.h
-@@ -73,6 +73,10 @@
- #define PRIo64 "I64o"
- #endif
-
-+#ifndef ENOMEDIUM
-+#define ENOMEDIUM 4097
-+#endif
-+
- #ifdef QEMU_TOOL
-
- /* we use QEMU_TOOL in the command line tools which do not depend on
diff --git a/emulators/qemu/files/patch-x_keymap.c b/emulators/qemu/files/patch-x_keymap.c
new file mode 100644
index 000000000000..30b0454208c1
--- /dev/null
+++ b/emulators/qemu/files/patch-x_keymap.c
@@ -0,0 +1,14 @@
+Index: qemu/x_keymap.c
+@@ -41,9 +41,9 @@
+ 0xb5, /* 112 Divide */
+ 0xb8, /* 113 Alt-R */
+ 0xc6, /* 114 Break */
+- 0x0, /* 115 */
+- 0x0, /* 116 */
+- 0x0, /* 117 */
++ 0xdb, /* 115 left windows key */
++ 0xdc, /* 116 right windows key */
++ 0xdd, /* 117 right menu key */
+ 0x0, /* 118 */
+ 0x0, /* 119 */
+ 0x0, /* 120 */