diff --git a/.cvsignore b/.cvsignore index 53c87a3..97f3c02 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1 +1 @@ -qemu-kvm-0.10.tar.gz +qemu-kvm-*.tar.gz diff --git a/01-tls-handshake-fix.patch b/01-tls-handshake-fix.patch index 112c4fe..1c31423 100644 --- a/01-tls-handshake-fix.patch +++ b/01-tls-handshake-fix.patch @@ -1,7 +1,7 @@ -Index: qemu-kvm-0.10/qemu/vnc.c +Index: qemu-kvm-0.10.4/vnc.c =================================================================== ---- qemu-kvm-0.10.orig/qemu/vnc.c -+++ qemu-kvm-0.10/qemu/vnc.c +--- qemu-kvm-0.10.4.orig/vnc.c ++++ qemu-kvm-0.10.4/vnc.c @@ -2096,14 +2096,6 @@ static int protocol_client_vencrypt_auth VNC_DEBUG("Failed to complete TLS\n"); return 0; diff --git a/02-vnc-monitor-info.patch b/02-vnc-monitor-info.patch index 04a3988..a780719 100644 --- a/02-vnc-monitor-info.patch +++ b/02-vnc-monitor-info.patch @@ -1,7 +1,7 @@ -Index: qemu-kvm-0.10/qemu/vnc.c +Index: qemu-kvm-0.10.4/vnc.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.c -+++ qemu-kvm-0.10/qemu/vnc.c ++++ qemu-kvm-0.10.4/vnc.c @@ -166,19 +166,136 @@ struct VncState static VncDisplay *vnc_display; /* needed for info vnc */ static DisplayChangeListener *dcl; diff --git a/03-display-keymaps.patch b/03-display-keymaps.patch index 6819d74..1a94b86 100644 --- a/03-display-keymaps.patch +++ b/03-display-keymaps.patch @@ -1,7 +1,7 @@ -Index: qemu-kvm-0.10/qemu/Makefile +Index: qemu-kvm-0.10.4/Makefile =================================================================== --- qemu-kvm-0.10.orig/qemu/Makefile -+++ qemu-kvm-0.10/qemu/Makefile ++++ qemu-kvm-0.10.4/Makefile @@ -141,6 +141,7 @@ endif AUDIO_OBJS+= wavcapture.o OBJS+=$(addprefix audio/, $(AUDIO_OBJS)) @@ -31,10 +31,10 @@ Index: qemu-kvm-0.10/qemu/Makefile bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS) -Index: qemu-kvm-0.10/qemu/curses.c +Index: qemu-kvm-0.10.4/curses.c =================================================================== --- qemu-kvm-0.10.orig/qemu/curses.c -+++ qemu-kvm-0.10/qemu/curses.c ++++ qemu-kvm-0.10.4/curses.c @@ -158,7 +158,6 @@ static void curses_cursor_position(Displ /* generic keyboard conversion */ @@ -52,10 +52,10 @@ Index: qemu-kvm-0.10/qemu/curses.c if (!kbd_layout) exit(1); } -Index: qemu-kvm-0.10/qemu/curses_keys.h +Index: qemu-kvm-0.10.4/curses_keys.h =================================================================== --- qemu-kvm-0.10.orig/qemu/curses_keys.h -+++ qemu-kvm-0.10/qemu/curses_keys.h ++++ qemu-kvm-0.10.4/curses_keys.h @@ -21,6 +21,10 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. @@ -79,10 +79,10 @@ Index: qemu-kvm-0.10/qemu/curses_keys.h static const name2keysym_t name2keysym[] = { /* Plain ASCII */ { "space", 0x020 }, -Index: qemu-kvm-0.10/qemu/keymaps.c +Index: qemu-kvm-0.10.4/keymaps.c =================================================================== --- qemu-kvm-0.10.orig/qemu/keymaps.c -+++ qemu-kvm-0.10/qemu/keymaps.c ++++ qemu-kvm-0.10.4/keymaps.c @@ -22,34 +22,20 @@ * THE SOFTWARE. */ @@ -188,10 +188,10 @@ Index: qemu-kvm-0.10/qemu/keymaps.c { kbd_layout_t *k = kbd_layout; struct key_range *kr; -Index: qemu-kvm-0.10/qemu/keymaps.h +Index: qemu-kvm-0.10.4/keymaps.h =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/keymaps.h ++++ qemu-kvm-0.10.4/keymaps.h @@ -0,0 +1,60 @@ +/* + * QEMU keysym to keycode conversion using rdesktop keymaps @@ -253,10 +253,10 @@ Index: qemu-kvm-0.10/qemu/keymaps.h +int keysym_is_numlock(void *kbd_layout, int keysym); + +#endif /* __QEMU_KEYMAPS_H__ */ -Index: qemu-kvm-0.10/qemu/sdl.c +Index: qemu-kvm-0.10.4/sdl.c =================================================================== --- qemu-kvm-0.10.orig/qemu/sdl.c -+++ qemu-kvm-0.10/qemu/sdl.c ++++ qemu-kvm-0.10.4/sdl.c @@ -109,7 +109,6 @@ static void sdl_resize(DisplayState *ds) /* generic keyboard conversion */ @@ -274,10 +274,10 @@ Index: qemu-kvm-0.10/qemu/sdl.c if (!kbd_layout) exit(1); } -Index: qemu-kvm-0.10/qemu/sdl_keysym.h +Index: qemu-kvm-0.10.4/sdl_keysym.h =================================================================== --- qemu-kvm-0.10.orig/qemu/sdl_keysym.h -+++ qemu-kvm-0.10/qemu/sdl_keysym.h ++++ qemu-kvm-0.10.4/sdl_keysym.h @@ -1,7 +1,6 @@ -typedef struct { - const char* name; @@ -289,10 +289,10 @@ Index: qemu-kvm-0.10/qemu/sdl_keysym.h static const name2keysym_t name2keysym[]={ /* ascii */ { "space", 0x020}, -Index: qemu-kvm-0.10/qemu/vnc.c +Index: qemu-kvm-0.10.4/vnc.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.c -+++ qemu-kvm-0.10/qemu/vnc.c ++++ qemu-kvm-0.10.4/vnc.c @@ -35,7 +35,6 @@ #include "vnc.h" @@ -313,10 +313,10 @@ Index: qemu-kvm-0.10/qemu/vnc.c if (!vs->kbd_layout) exit(1); -Index: qemu-kvm-0.10/qemu/vnc_keysym.h +Index: qemu-kvm-0.10.4/vnc_keysym.h =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc_keysym.h -+++ qemu-kvm-0.10/qemu/vnc_keysym.h ++++ qemu-kvm-0.10.4/vnc_keysym.h @@ -1,7 +1,6 @@ -typedef struct { - const char* name; diff --git a/04-vnc-struct.patch b/04-vnc-struct.patch index eb7a346..4c5b902 100644 --- a/04-vnc-struct.patch +++ b/04-vnc-struct.patch @@ -1,7 +1,7 @@ -Index: qemu-kvm-0.10/qemu/vnc.c +Index: qemu-kvm-0.10.4/vnc.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.c -+++ qemu-kvm-0.10/qemu/vnc.c ++++ qemu-kvm-0.10.4/vnc.c @@ -3,6 +3,7 @@ * * Copyright (C) 2006 Anthony Liguori @@ -141,10 +141,10 @@ Index: qemu-kvm-0.10/qemu/vnc.c static VncDisplay *vnc_display; /* needed for info vnc */ static DisplayChangeListener *dcl; -Index: qemu-kvm-0.10/qemu/vnc.h +Index: qemu-kvm-0.10.4/vnc.h =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.h -+++ qemu-kvm-0.10/qemu/vnc.h ++++ qemu-kvm-0.10.4/vnc.h @@ -1,5 +1,148 @@ -#ifndef __VNCTIGHT_H -#define __VNCTIGHT_H diff --git a/05-vnc-tls-vencrypt.patch b/05-vnc-tls-vencrypt.patch index 625a5b6..87416dc 100644 --- a/05-vnc-tls-vencrypt.patch +++ b/05-vnc-tls-vencrypt.patch @@ -1,7 +1,7 @@ -Index: qemu-kvm-0.10/qemu/Makefile +Index: qemu-kvm-0.10.4/Makefile =================================================================== --- qemu-kvm-0.10.orig/qemu/Makefile -+++ qemu-kvm-0.10/qemu/Makefile ++++ qemu-kvm-0.10.4/Makefile @@ -149,6 +149,9 @@ ifdef CONFIG_CURSES OBJS+=curses.o endif @@ -30,10 +30,10 @@ Index: qemu-kvm-0.10/qemu/Makefile curses.o: curses.c keymaps.h curses_keys.h bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS) -Index: qemu-kvm-0.10/qemu/vnc-auth-vencrypt.c +Index: qemu-kvm-0.10.4/vnc-auth-vencrypt.c =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/vnc-auth-vencrypt.c ++++ qemu-kvm-0.10.4/vnc-auth-vencrypt.c @@ -0,0 +1,167 @@ +/* + * QEMU VNC display driver: VeNCrypt authentication setup @@ -202,10 +202,10 @@ Index: qemu-kvm-0.10/qemu/vnc-auth-vencrypt.c + vnc_read_when(vs, protocol_client_vencrypt_init, 2); +} + -Index: qemu-kvm-0.10/qemu/vnc-auth-vencrypt.h +Index: qemu-kvm-0.10.4/vnc-auth-vencrypt.h =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/vnc-auth-vencrypt.h ++++ qemu-kvm-0.10.4/vnc-auth-vencrypt.h @@ -0,0 +1,33 @@ +/* + * QEMU VNC display driver @@ -240,10 +240,10 @@ Index: qemu-kvm-0.10/qemu/vnc-auth-vencrypt.h +void start_auth_vencrypt(VncState *vs); + +#endif /* __QEMU_VNC_AUTH_VENCRYPT_H__ */ -Index: qemu-kvm-0.10/qemu/vnc-tls.c +Index: qemu-kvm-0.10.4/vnc-tls.c =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/vnc-tls.c ++++ qemu-kvm-0.10.4/vnc-tls.c @@ -0,0 +1,414 @@ +/* + * QEMU VNC display driver: TLS helpers @@ -659,10 +659,10 @@ Index: qemu-kvm-0.10/qemu/vnc-tls.c + return -1; +} + -Index: qemu-kvm-0.10/qemu/vnc-tls.h +Index: qemu-kvm-0.10.4/vnc-tls.h =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/vnc-tls.h ++++ qemu-kvm-0.10.4/vnc-tls.h @@ -0,0 +1,70 @@ +/* + * QEMU VNC display driver. TLS helpers @@ -734,10 +734,10 @@ Index: qemu-kvm-0.10/qemu/vnc-tls.h + +#endif /* __QEMU_VNC_TLS_H__ */ + -Index: qemu-kvm-0.10/qemu/vnc.c +Index: qemu-kvm-0.10.4/vnc.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.c -+++ qemu-kvm-0.10/qemu/vnc.c ++++ qemu-kvm-0.10.4/vnc.c @@ -34,21 +34,6 @@ #include "vnc_keysym.h" #include "d3des.h" @@ -1513,10 +1513,10 @@ Index: qemu-kvm-0.10/qemu/vnc.c fprintf(stderr, "Failed to find x509 certificates/keys in %s\n", path); qemu_free(path); qemu_free(vs->display); -Index: qemu-kvm-0.10/qemu/vnc.h +Index: qemu-kvm-0.10.4/vnc.h =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.h -+++ qemu-kvm-0.10/qemu/vnc.h ++++ qemu-kvm-0.10.4/vnc.h @@ -32,13 +32,16 @@ #include "audio/audio.h" #include diff --git a/06-vnc-sasl.patch b/06-vnc-sasl.patch index f7eafd0..a6c4551 100644 --- a/06-vnc-sasl.patch +++ b/06-vnc-sasl.patch @@ -1,7 +1,7 @@ -Index: qemu-kvm-0.10/qemu/Makefile +Index: qemu-kvm-0.10.4/Makefile =================================================================== --- qemu-kvm-0.10.orig/qemu/Makefile -+++ qemu-kvm-0.10/qemu/Makefile ++++ qemu-kvm-0.10.4/Makefile @@ -152,6 +152,9 @@ OBJS+=vnc.o d3des.o ifdef CONFIG_VNC_TLS OBJS+=vnc-tls.o vnc-auth-vencrypt.o @@ -30,10 +30,10 @@ Index: qemu-kvm-0.10/qemu/Makefile curses.o: curses.c keymaps.h curses_keys.h bt-host.o: CFLAGS += $(CONFIG_BLUEZ_CFLAGS) -Index: qemu-kvm-0.10/qemu/Makefile.target +Index: qemu-kvm-0.10.4/Makefile.target =================================================================== --- qemu-kvm-0.10.orig/qemu/Makefile.target -+++ qemu-kvm-0.10/qemu/Makefile.target ++++ qemu-kvm-0.10.4/Makefile.target @@ -613,6 +613,11 @@ CPPFLAGS += $(CONFIG_VNC_TLS_CFLAGS) LIBS += $(CONFIG_VNC_TLS_LIBS) endif @@ -46,10 +46,10 @@ Index: qemu-kvm-0.10/qemu/Makefile.target ifdef CONFIG_BLUEZ LIBS += $(CONFIG_BLUEZ_LIBS) endif -Index: qemu-kvm-0.10/qemu/configure +Index: qemu-kvm-0.10.4/configure =================================================================== --- qemu-kvm-0.10.orig/qemu/configure -+++ qemu-kvm-0.10/qemu/configure ++++ qemu-kvm-0.10.4/configure @@ -164,6 +164,7 @@ fmod_lib="" fmod_inc="" oss_lib="" @@ -126,10 +126,10 @@ Index: qemu-kvm-0.10/qemu/configure qemu_version=`head $source_path/VERSION` echo "VERSION=$qemu_version" >>$config_mak echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h -Index: qemu-kvm-0.10/qemu/qemu-doc.texi +Index: qemu-kvm-0.10.4/qemu-doc.texi =================================================================== --- qemu-kvm-0.10.orig/qemu/qemu-doc.texi -+++ qemu-kvm-0.10/qemu/qemu-doc.texi ++++ qemu-kvm-0.10.4/qemu-doc.texi @@ -624,6 +624,21 @@ path following this option specifies whe be loaded from. See the @ref{vnc_security} section for details on generating certificates. @@ -256,10 +256,10 @@ Index: qemu-kvm-0.10/qemu/qemu-doc.texi @node gdb_usage @section GDB usage -Index: qemu-kvm-0.10/qemu/qemu.sasl +Index: qemu-kvm-0.10.4/qemu.sasl =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/qemu.sasl ++++ qemu-kvm-0.10.4/qemu.sasl @@ -0,0 +1,34 @@ +# If you want to use the non-TLS socket, then you *must* include +# the GSSAPI or DIGEST-MD5 mechanisms, because they are the only @@ -295,10 +295,10 @@ Index: qemu-kvm-0.10/qemu/qemu.sasl + +auxprop_plugin: sasldb + -Index: qemu-kvm-0.10/qemu/vnc-auth-sasl.c +Index: qemu-kvm-0.10.4/vnc-auth-sasl.c =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/vnc-auth-sasl.c ++++ qemu-kvm-0.10.4/vnc-auth-sasl.c @@ -0,0 +1,626 @@ +/* + * QEMU VNC display driver: SASL auth protocol @@ -926,10 +926,10 @@ Index: qemu-kvm-0.10/qemu/vnc-auth-sasl.c +} + + -Index: qemu-kvm-0.10/qemu/vnc-auth-sasl.h +Index: qemu-kvm-0.10.4/vnc-auth-sasl.h =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/vnc-auth-sasl.h ++++ qemu-kvm-0.10.4/vnc-auth-sasl.h @@ -0,0 +1,67 @@ +/* + * QEMU VNC display driver: SASL auth protocol @@ -998,10 +998,10 @@ Index: qemu-kvm-0.10/qemu/vnc-auth-sasl.h + +#endif /* __QEMU_VNC_AUTH_SASL_H__ */ + -Index: qemu-kvm-0.10/qemu/vnc-auth-vencrypt.c +Index: qemu-kvm-0.10.4/vnc-auth-vencrypt.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc-auth-vencrypt.c -+++ qemu-kvm-0.10/qemu/vnc-auth-vencrypt.c ++++ qemu-kvm-0.10.4/vnc-auth-vencrypt.c @@ -43,8 +43,15 @@ static void start_auth_vencrypt_subauth( start_auth_vnc(vs); break; @@ -1029,10 +1029,10 @@ Index: qemu-kvm-0.10/qemu/vnc-auth-vencrypt.c static int protocol_client_vencrypt_auth(VncState *vs, uint8_t *data, size_t len) -Index: qemu-kvm-0.10/qemu/vnc.c +Index: qemu-kvm-0.10.4/vnc.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.c -+++ qemu-kvm-0.10/qemu/vnc.c ++++ qemu-kvm-0.10.4/vnc.c @@ -68,7 +68,8 @@ static char *addr_to_string(const char * return addr; } @@ -1442,10 +1442,10 @@ Index: qemu-kvm-0.10/qemu/vnc.c if (reverse) { /* connect to viewer */ if (strncmp(display, "unix:", 5) == 0) -Index: qemu-kvm-0.10/qemu/vnc.h +Index: qemu-kvm-0.10.4/vnc.h =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.h -+++ qemu-kvm-0.10/qemu/vnc.h ++++ qemu-kvm-0.10.4/vnc.h @@ -79,6 +79,10 @@ typedef struct VncDisplay VncDisplay; #include "vnc-tls.h" #include "vnc-auth-vencrypt.h" diff --git a/07-vnc-monitor-authinfo.patch b/07-vnc-monitor-authinfo.patch index f691c7e..ee4a640 100644 --- a/07-vnc-monitor-authinfo.patch +++ b/07-vnc-monitor-authinfo.patch @@ -1,7 +1,7 @@ -Index: qemu-kvm-0.10/qemu/vnc-tls.c +Index: qemu-kvm-0.10.4/vnc-tls.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc-tls.c -+++ qemu-kvm-0.10/qemu/vnc-tls.c ++++ qemu-kvm-0.10.4/vnc-tls.c @@ -241,6 +241,22 @@ int vnc_tls_validate_certificate(struct return -1; } @@ -33,10 +33,10 @@ Index: qemu-kvm-0.10/qemu/vnc-tls.c } -Index: qemu-kvm-0.10/qemu/vnc-tls.h +Index: qemu-kvm-0.10.4/vnc-tls.h =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc-tls.h -+++ qemu-kvm-0.10/qemu/vnc-tls.h ++++ qemu-kvm-0.10.4/vnc-tls.h @@ -55,6 +55,9 @@ struct VncStateTLS { /* Whether data is being TLS encrypted yet */ int wiremode; @@ -47,10 +47,10 @@ Index: qemu-kvm-0.10/qemu/vnc-tls.h }; int vnc_tls_client_setup(VncState *vs, int x509Creds); -Index: qemu-kvm-0.10/qemu/vnc.c +Index: qemu-kvm-0.10.4/vnc.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.c -+++ qemu-kvm-0.10/qemu/vnc.c ++++ qemu-kvm-0.10.4/vnc.c @@ -156,6 +156,21 @@ static void do_info_vnc_client(VncState term_puts("Client:\n"); term_puts(clientAddr); diff --git a/08-vnc-acl-mgmt.patch b/08-vnc-acl-mgmt.patch index a4ae11d..088822b 100644 --- a/08-vnc-acl-mgmt.patch +++ b/08-vnc-acl-mgmt.patch @@ -1,7 +1,7 @@ -Index: qemu-kvm-0.10/qemu/Makefile +Index: qemu-kvm-0.10.4/Makefile =================================================================== --- qemu-kvm-0.10.orig/qemu/Makefile -+++ qemu-kvm-0.10/qemu/Makefile ++++ qemu-kvm-0.10.4/Makefile @@ -148,7 +148,7 @@ endif ifdef CONFIG_CURSES OBJS+=curses.o @@ -24,10 +24,10 @@ Index: qemu-kvm-0.10/qemu/Makefile vnc.o: CFLAGS += $(CONFIG_VNC_TLS_CFLAGS) -Index: qemu-kvm-0.10/qemu/acl.c +Index: qemu-kvm-0.10.4/acl.c =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/acl.c ++++ qemu-kvm-0.10.4/acl.c @@ -0,0 +1,185 @@ +/* + * QEMU access control list management @@ -214,10 +214,10 @@ Index: qemu-kvm-0.10/qemu/acl.c + * tab-width: 8 + * End: + */ -Index: qemu-kvm-0.10/qemu/acl.h +Index: qemu-kvm-0.10.4/acl.h =================================================================== --- /dev/null -+++ qemu-kvm-0.10/qemu/acl.h ++++ qemu-kvm-0.10.4/acl.h @@ -0,0 +1,74 @@ +/* + * QEMU access control list management @@ -293,10 +293,10 @@ Index: qemu-kvm-0.10/qemu/acl.h + * tab-width: 8 + * End: + */ -Index: qemu-kvm-0.10/qemu/configure +Index: qemu-kvm-0.10.4/configure =================================================================== --- qemu-kvm-0.10.orig/qemu/configure -+++ qemu-kvm-0.10/qemu/configure ++++ qemu-kvm-0.10.4/configure @@ -913,6 +913,21 @@ EOF fi @@ -329,10 +329,10 @@ Index: qemu-kvm-0.10/qemu/configure qemu_version=`head $source_path/VERSION` echo "VERSION=$qemu_version" >>$config_mak echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h -Index: qemu-kvm-0.10/qemu/monitor.c +Index: qemu-kvm-0.10.4/monitor.c =================================================================== --- qemu-kvm-0.10.orig/qemu/monitor.c -+++ qemu-kvm-0.10/qemu/monitor.c ++++ qemu-kvm-0.10.4/monitor.c @@ -39,6 +39,7 @@ #include "qemu-timer.h" #include "migration.h" @@ -461,10 +461,10 @@ Index: qemu-kvm-0.10/qemu/monitor.c + * tab-width: 8 + * End: + */ -Index: qemu-kvm-0.10/qemu/qemu-doc.texi +Index: qemu-kvm-0.10.4/qemu-doc.texi =================================================================== --- qemu-kvm-0.10.orig/qemu/qemu-doc.texi -+++ qemu-kvm-0.10/qemu/qemu-doc.texi ++++ qemu-kvm-0.10.4/qemu-doc.texi @@ -639,6 +639,19 @@ ensures a data encryption preventing com credentials. See the @ref{vnc_security} section for details on using SASL authentication. @@ -528,10 +528,10 @@ Index: qemu-kvm-0.10/qemu/qemu-doc.texi @item screendump @var{filename} Save screen into PPM image @var{filename}. -Index: qemu-kvm-0.10/qemu/vnc-auth-sasl.c +Index: qemu-kvm-0.10.4/vnc-auth-sasl.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc-auth-sasl.c -+++ qemu-kvm-0.10/qemu/vnc-auth-sasl.c ++++ qemu-kvm-0.10.4/vnc-auth-sasl.c @@ -120,22 +120,32 @@ static int vnc_auth_sasl_check_access(Vn { const void *val; @@ -568,10 +568,10 @@ Index: qemu-kvm-0.10/qemu/vnc-auth-sasl.c } static int vnc_auth_sasl_check_ssf(VncState *vs) -Index: qemu-kvm-0.10/qemu/vnc-auth-sasl.h +Index: qemu-kvm-0.10.4/vnc-auth-sasl.h =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc-auth-sasl.h -+++ qemu-kvm-0.10/qemu/vnc-auth-sasl.h ++++ qemu-kvm-0.10.4/vnc-auth-sasl.h @@ -30,6 +30,9 @@ #include @@ -593,10 +593,10 @@ Index: qemu-kvm-0.10/qemu/vnc-auth-sasl.h void vnc_sasl_client_cleanup(VncState *vs); long vnc_client_read_sasl(VncState *vs); -Index: qemu-kvm-0.10/qemu/vnc-tls.c +Index: qemu-kvm-0.10.4/vnc-tls.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc-tls.c -+++ qemu-kvm-0.10/qemu/vnc-tls.c ++++ qemu-kvm-0.10.4/vnc-tls.c @@ -255,6 +255,25 @@ int vnc_tls_validate_certificate(struct gnutls_strerror (ret)); return -1; @@ -623,10 +623,10 @@ Index: qemu-kvm-0.10/qemu/vnc-tls.c } gnutls_x509_crt_deinit (cert); -Index: qemu-kvm-0.10/qemu/vnc-tls.h +Index: qemu-kvm-0.10.4/vnc-tls.h =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc-tls.h -+++ qemu-kvm-0.10/qemu/vnc-tls.h ++++ qemu-kvm-0.10.4/vnc-tls.h @@ -31,6 +31,8 @@ #include #include @@ -644,10 +644,10 @@ Index: qemu-kvm-0.10/qemu/vnc-tls.h /* Paths to x509 certs/keys */ char *x509cacert; -Index: qemu-kvm-0.10/qemu/vnc.c +Index: qemu-kvm-0.10.4/vnc.c =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.c -+++ qemu-kvm-0.10/qemu/vnc.c ++++ qemu-kvm-0.10.4/vnc.c @@ -28,6 +28,7 @@ #include "sysemu.h" #include "qemu_socket.h" @@ -693,10 +693,10 @@ Index: qemu-kvm-0.10/qemu/vnc.c /* * Combinations we support here: * -Index: qemu-kvm-0.10/qemu/vnc.h +Index: qemu-kvm-0.10.4/vnc.h =================================================================== --- qemu-kvm-0.10.orig/qemu/vnc.h -+++ qemu-kvm-0.10/qemu/vnc.h ++++ qemu-kvm-0.10.4/vnc.h @@ -98,6 +98,9 @@ struct VncDisplay int subauth; /* Used by VeNCrypt */ VncDisplayTLS tls; diff --git a/kvm-upstream-ppc.patch b/kvm-upstream-ppc.patch index 01852a9..bc3189f 100644 --- a/kvm-upstream-ppc.patch +++ b/kvm-upstream-ppc.patch @@ -18,10 +18,10 @@ Signed-off-by: Glauber Costa target-ppc/helper.c | 2 +- 4 files changed, 4 insertions(+), 1 deletion(-) -Index: qemu-kvm-0.10/qemu/hw/ppc440.c +Index: qemu-kvm-0.10.4/hw/ppc440.c =================================================================== --- qemu-kvm-0.10.orig/qemu/hw/ppc440.c -+++ qemu-kvm-0.10/qemu/hw/ppc440.c ++++ qemu-kvm-0.10.4/hw/ppc440.c @@ -18,6 +18,7 @@ #include "ppc440.h" #include "ppc405.h" @@ -30,10 +30,10 @@ Index: qemu-kvm-0.10/qemu/hw/ppc440.c #include "kvm.h" #define PPC440EP_PCI_CONFIG 0xeec00000 -Index: qemu-kvm-0.10/qemu/hw/ppc440_bamboo.c +Index: qemu-kvm-0.10.4/hw/ppc440_bamboo.c =================================================================== --- qemu-kvm-0.10.orig/qemu/hw/ppc440_bamboo.c -+++ qemu-kvm-0.10/qemu/hw/ppc440_bamboo.c ++++ qemu-kvm-0.10.4/hw/ppc440_bamboo.c @@ -21,6 +21,7 @@ #include "boards.h" #include "sysemu.h" @@ -42,10 +42,10 @@ Index: qemu-kvm-0.10/qemu/hw/ppc440_bamboo.c #include "kvm.h" #include "kvm_ppc.h" #include "device_tree.h" -Index: qemu-kvm-0.10/qemu/hw/ppce500_mpc8544ds.c +Index: qemu-kvm-0.10.4/hw/ppce500_mpc8544ds.c =================================================================== --- qemu-kvm-0.10.orig/qemu/hw/ppce500_mpc8544ds.c -+++ qemu-kvm-0.10/qemu/hw/ppce500_mpc8544ds.c ++++ qemu-kvm-0.10.4/hw/ppce500_mpc8544ds.c @@ -16,6 +16,7 @@ #include @@ -54,10 +54,10 @@ Index: qemu-kvm-0.10/qemu/hw/ppce500_mpc8544ds.c #include "config.h" #include "qemu-common.h" #include "net.h" -Index: qemu-kvm-0.10/qemu/target-ppc/helper.c +Index: qemu-kvm-0.10.4/target-ppc/helper.c =================================================================== --- qemu-kvm-0.10.orig/qemu/target-ppc/helper.c -+++ qemu-kvm-0.10/qemu/target-ppc/helper.c ++++ qemu-kvm-0.10.4/target-ppc/helper.c @@ -29,6 +29,7 @@ #include "exec-all.h" #include "helper_regs.h" diff --git a/make-release b/make-release deleted file mode 100755 index ec4bb42..0000000 --- a/make-release +++ /dev/null @@ -1,64 +0,0 @@ -#!/bin/bash -e - -# Based on avi's scripts/make-release from kvm-userspace.git - -usage() -{ - echo "usage: make-release name kernel-dir kernel-commit user-dir user-commit" - exit 1 -} - -[ $# -eq 5 ] || usage - -name="$1" -kdir="$2" -kcommit="$3" -udir="$4" -ucommit="$5" -archs=(x86 ia64) - -release_dir=$(mktemp -d) - -tarball="$(pwd)/$name.tar.gz" - -cd "${release_dir}" -(cd "$udir"; git archive --format=tar --prefix="$name"/ "$ucommit") | tar x -cd "$name" -cat < SOURCES -kernel: $(cd "$kdir"; git rev-parse "$kcommit") -userspace: $(cd "$udir"; git rev-parse "$ucommit") -EOF - -paths=(drivers/kvm virt/kvm) -files=(kvm.h kvm_host.h kvm_para.h kvm_types.h kvm_x86_emulate.h virtext.h svm.h vmx.h) -for file in "${files[@]}"; do - for arch in "${archs[@]}"; do - for variant in include/asm-"$arch" arch/"$arch"/include/asm; do - paths+=("$variant"/"$file") - done - done - paths+=(include/linux/"$file") -done -for arch in "${archs[@]}"; do - paths+=(arch/"$arch"/kvm) -done - -(cd "$kdir"; git archive --format=tar --prefix=linux/ "$kcommit" "${paths[@]}") | tar x - -touch kernel/config.kbuild -echo ARCH=ia64 > config.mak -make -C kernel sync LINUX=../linux version="$name" >/dev/null -echo ARCH=x86_64 > config.mak -make -C kernel sync LINUX=../linux version="$name" >/dev/null -rm -rf config.mak linux kernel/config.kbuild -#rm -rf kernel/include/asm kernel/include-compat/asm -sed -i "s/kvm-devel/$name/" qemu/configure - -cd .. - -tar czf "$tarball" "$name" - -cd $(dirname "$tarball") -md5sum $(basename "$tarball") - -rm -rf "${release_dir}" diff --git a/qemu-bios-bigger-roms.patch b/qemu-bios-bigger-roms.patch index dc8dc89..de544a1 100644 --- a/qemu-bios-bigger-roms.patch +++ b/qemu-bios-bigger-roms.patch @@ -1,7 +1,7 @@ -diff --git a/bios/rombios.c b/bios/rombios.c +diff --git a/kvm/bios/rombios.c b/kvm/bios/rombios.c index c4f6ccd..c4bfe60 100644 ---- a/bios/rombios.c -+++ b/bios/rombios.c +--- a/kvm/bios/rombios.c ++++ b/kvm/bios/rombios.c @@ -10196,22 +10196,43 @@ no_serial: ret diff --git a/qemu-fix-debuginfo.patch b/qemu-fix-debuginfo.patch index f6f1d71..99e0048 100644 --- a/qemu-fix-debuginfo.patch +++ b/qemu-fix-debuginfo.patch @@ -15,32 +15,18 @@ Signed-off-by: Riku Voipio configure | 9 ++++++++- 3 files changed, 10 insertions(+), 3 deletions(-) -Index: qemu-kvm-0.10/qemu/Makefile -=================================================================== ---- qemu-kvm-0.10.orig/qemu/Makefile -+++ qemu-kvm-0.10/qemu/Makefile -@@ -256,7 +256,7 @@ endif - install: all $(if $(BUILD_DOCS),install-doc) - mkdir -p "$(DESTDIR)$(bindir)" - ifneq ($(TOOLS),) -- $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)" -+ $(INSTALL) -m 755 $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)" - endif - ifneq ($(BLOBS),) - mkdir -p "$(DESTDIR)$(datadir)" -Index: qemu-kvm-0.10/qemu/configure -=================================================================== ---- qemu-kvm-0.10.orig/qemu/configure -+++ qemu-kvm-0.10/qemu/configure -@@ -154,6 +154,7 @@ case "$cpu" in - esac +diff -urNp qemu-kvm-0.10.4.orig/configure qemu-kvm-0.10.4/configure +--- qemu-kvm-0.10.4.orig/configure 2009-05-12 21:40:25.000000000 +0100 ++++ qemu-kvm-0.10.4/configure 2009-05-12 21:42:34.000000000 +0100 +@@ -165,6 +165,7 @@ kvm_version() { + gprof="no" sparse="no" +strip_opt="yes" bigendian="no" mingw32="no" EXESUF="" -@@ -403,6 +404,8 @@ for opt do +@@ -416,6 +417,8 @@ for opt do ;; --disable-sparse) sparse="no" ;; @@ -49,7 +35,7 @@ Index: qemu-kvm-0.10/qemu/configure --disable-vnc-tls) vnc_tls="no" ;; --disable-vnc-sasl) vnc_sasl="no" -@@ -556,6 +559,7 @@ echo " --install=INSTALL use spe +@@ -571,6 +574,7 @@ echo " --install=INSTALL use spe echo " --static enable static build [$static]" echo " --enable-sparse enable sparse checker" echo " --disable-sparse disable sparse checker (default)" @@ -57,7 +43,7 @@ Index: qemu-kvm-0.10/qemu/configure echo " --disable-werror disable compilation abort on warning" echo " --disable-sdl disable SDL" echo " --enable-cocoa enable COCOA (Mac OS X only)" -@@ -1242,6 +1246,7 @@ echo "host big endian $bigendian" +@@ -1258,6 +1262,7 @@ echo "host big endian $bigendian" echo "target list $target_list" echo "gprof enabled $gprof" echo "sparse enabled $sparse" @@ -65,7 +51,7 @@ Index: qemu-kvm-0.10/qemu/configure echo "profiler $profiler" echo "static build $static" echo "-Werror enabled $werror" -@@ -1318,7 +1323,6 @@ echo "INSTALL=$install" >> $config_mak +@@ -1334,7 +1339,6 @@ echo "INSTALL=$install" >> $config_mak echo "CC=$cc" >> $config_mak echo "HOST_CC=$host_cc" >> $config_mak echo "AR=$ar" >> $config_mak @@ -73,7 +59,7 @@ Index: qemu-kvm-0.10/qemu/configure # XXX: only use CFLAGS and LDFLAGS ? # XXX: should export HOST_CFLAGS and HOST_LDFLAGS for cross # compilation of dyngen tool (useful for win32 build on Linux host) -@@ -1405,6 +1409,9 @@ if test "$sparse" = "yes" ; then +@@ -1421,6 +1425,9 @@ if test "$sparse" = "yes" ; then echo "HOST_CC := REAL_CC=\"\$(HOST_CC)\" cgcc" >> $config_mak echo "CFLAGS += -Wbitwise -Wno-transparent-union -Wno-old-initializer -Wno-non-pointer-null" >> $config_mak fi @@ -83,3 +69,50 @@ Index: qemu-kvm-0.10/qemu/configure if test "$bigendian" = "yes" ; then echo "WORDS_BIGENDIAN=yes" >> $config_mak echo "#define WORDS_BIGENDIAN 1" >> $config_h +diff -urNp qemu-kvm-0.10.4.orig/configure.orig qemu-kvm-0.10.4/configure.orig +--- qemu-kvm-0.10.4.orig/configure.orig 2009-05-12 21:40:25.000000000 +0100 ++++ qemu-kvm-0.10.4/configure.orig 2009-05-12 21:40:25.000000000 +0100 +@@ -942,6 +942,21 @@ EOF + fi + + ########################################## ++# fnmatch() probe, used for ACL routines ++fnmatch="no" ++cat > $TMPC << EOF ++#include ++int main(void) ++{ ++ fnmatch("foo", "foo", 0); ++ return 0; ++} ++EOF ++if $cc $ARCH_CFLAGS -o $TMPE $TMPC > /dev/null 2> /dev/null ; then ++ fnmatch="yes" ++fi ++ ++########################################## + # vde libraries probe + if test "$vde" = "yes" ; then + cat > $TMPC << EOF +@@ -1517,6 +1532,9 @@ if test "$vnc_sasl" = "yes" ; then + echo "CONFIG_VNC_SASL_LIBS=$vnc_sasl_libs" >> $config_mak + echo "#define CONFIG_VNC_SASL 1" >> $config_h + fi ++if test "$fnmatch" = "yes" ; then ++ echo "#define HAVE_FNMATCH_H 1" >> $config_h ++fi + qemu_version=`head $source_path/VERSION` + echo "VERSION=$qemu_version" >>$config_mak + echo "#define QEMU_VERSION \"$qemu_version\"" >> $config_h +diff -urNp qemu-kvm-0.10.4.orig/Makefile qemu-kvm-0.10.4/Makefile +--- qemu-kvm-0.10.4.orig/Makefile 2009-05-12 21:40:25.000000000 +0100 ++++ qemu-kvm-0.10.4/Makefile 2009-05-12 21:42:34.000000000 +0100 +@@ -256,7 +256,7 @@ endif + install: all $(if $(BUILD_DOCS),install-doc) + mkdir -p "$(DESTDIR)$(bindir)" + ifneq ($(TOOLS),) +- $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)" ++ $(INSTALL) -m 755 $(STRIP_OPT) $(TOOLS) "$(DESTDIR)$(bindir)" + endif + ifneq ($(BLOBS),) + mkdir -p "$(DESTDIR)$(datadir)" diff --git a/qemu-fix-display-breakage.patch b/qemu-fix-display-breakage.patch deleted file mode 100644 index 8645bc2..0000000 --- a/qemu-fix-display-breakage.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 9d1b494a2d5dd2c129994edcf4eb7630bb554964 Mon Sep 17 00:00:00 2001 -From: aliguori -Date: Tue, 7 Apr 2009 20:55:58 +0000 -Subject: [PATCH 1/1] Fix crash on resolution change -> screen dump -> vga redraw (Avi Kivity) - -The vga screen dump function updates last_width and last_height, -but does not change the DisplaySurface that these variables describe. -A consequent vga_draw_graphic() will therefore fail to resize the -surface and crash. - -Fix by invalidating the display state after a screen dump, forcing -vga_draw_graphic() to reallocate the DisplaySurface. - -Signed-off-by: Avi Kivity -Signed-off-by: Anthony Liguori - - -git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7026 c046a42c-6fe2-441c-8c8c-71466251a162 ---- - qemu/hw/vga.c | 1 + - 1 files changed, 1 insertions(+), 0 deletions(-) - -diff --git a/qemu/hw/vga.c b/qemu/hw/vga.c -index b1e4373..4d1049b 100644 ---- a/qemu/hw/vga.c -+++ b/qemu/hw/vga.c -@@ -2678,4 +2678,5 @@ static void vga_screen_dump(void *opaque, const char *filename) - vga_screen_dump_graphic(s, filename); - else - vga_screen_dump_text(s, filename); -+ vga_invalidate_display(s); - } --- -1.6.0.6 - diff --git a/qemu-fix-gcc.patch b/qemu-fix-gcc.patch index e21a877..fc5857f 100644 --- a/qemu-fix-gcc.patch +++ b/qemu-fix-gcc.patch @@ -14,10 +14,10 @@ Signed-off-by: Avi Kivity user/test/x86/vmexit.c | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) -Index: qemu-kvm-0.10/user/test/x86/apic.c +Index: qemu-kvm-0.10.4/kvm/user/test/x86/apic.c =================================================================== ---- qemu-kvm-0.10.orig/user/test/x86/apic.c -+++ qemu-kvm-0.10/user/test/x86/apic.c +--- qemu-kvm-0.10.4.orig/kvm/user/test/x86/apic.c ++++ qemu-kvm-0.10.4/kvm/user/test/x86/apic.c @@ -54,14 +54,14 @@ asm ( "push %r9 \n\t" "push %r8 \n\t" @@ -64,10 +64,10 @@ Index: qemu-kvm-0.10/user/test/x86/apic.c #ifdef __x86_64__ "pop %r8 \n\t" "pop %r9 \n\t" -Index: qemu-kvm-0.10/user/test/x86/vmexit.c +Index: qemu-kvm-0.10.4/kvm/user/test/x86/vmexit.c =================================================================== ---- qemu-kvm-0.10.orig/user/test/x86/vmexit.c -+++ qemu-kvm-0.10/user/test/x86/vmexit.c +--- qemu-kvm-0.10.4.orig/kvm/user/test/x86/vmexit.c ++++ qemu-kvm-0.10.4/kvm/user/test/x86/vmexit.c @@ -31,7 +31,7 @@ int main() t1 = rdtsc(); diff --git a/qemu-fix-load-linux.patch b/qemu-fix-load-linux.patch deleted file mode 100644 index b6845bd..0000000 --- a/qemu-fix-load-linux.patch +++ /dev/null @@ -1,45 +0,0 @@ -From d6ecb03610dba922cbfde42acb41603e2c658047 Mon Sep 17 00:00:00 2001 -From: Glauber Costa -Date: Fri, 8 May 2009 02:22:13 -0300 -Subject: [PATCH 2/2] reset state for load_linux - -The linux loader is just an option rom like any other, just with -some special requirements. Right now, our option rom resetting -mechanism is not being applied to it. As a result, users using --kernel will not be able to successfully reboot their machines - -This patch fixes it by saving all the data we generated in -the load_linux() function, to be used later by the option rom -resetting mechanism. - -Signed-off-by: Glauber Costa -Signed-off-by: Anthony Liguori ---- - hw/pc.c | 7 +++++++ - 1 files changed, 7 insertions(+), 0 deletions(-) - -Index: qemu-kvm-0.10/qemu/hw/pc.c -=================================================================== ---- qemu-kvm-0.10.orig/qemu/hw/pc.c -+++ qemu-kvm-0.10/qemu/hw/pc.c -@@ -527,6 +527,7 @@ static void generate_bootsect(uint8_t *o - rom[sizeof(rom) - 1] = -sum; - - memcpy(option_rom, rom, sizeof(rom)); -+ option_rom_setup_reset(option_rom, sizeof (rom)); - } - - static long get_file_size(FILE *f) -@@ -694,6 +695,12 @@ static void load_linux(uint8_t *option_r - memset(gpr, 0, sizeof gpr); - gpr[4] = cmdline_addr-real_addr-16; /* SP (-16 is paranoia) */ - -+ option_rom_setup_reset(real_addr, setup_size); -+ option_rom_setup_reset(prot_addr, kernel_size); -+ option_rom_setup_reset(cmdline_addr, cmdline_size); -+ if (initrd_filename) -+ option_rom_setup_reset(initrd_addr, initrd_size); -+ - generate_bootsect(option_rom, gpr, seg, 0); - } - diff --git a/qemu-fix-qcow2-2TB.patch b/qemu-fix-qcow2-2TB.patch deleted file mode 100644 index 4fee796..0000000 --- a/qemu-fix-qcow2-2TB.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 2d2431f03fc78b532f3a1c5f858cf78859d50fc3 Mon Sep 17 00:00:00 2001 -From: aliguori -Date: Sun, 5 Apr 2009 17:40:58 +0000 -Subject: [PATCH] qcow2: fix image creation for large, > ~2TB, images (Chris Wright) - -When creating large disk images w/ qcow2 format, qcow2_create is hard -coded to creating a single refcount block. This is insufficient for -large images, and will cause qemu-img to segfault as it walks off the -end of the refcount block. Keep track of the space needed during image -create and create proper number of refcount blocks accordingly. - -https://bugzilla.redhat.com/show_bug.cgi?id=491943 - -Signed-off-by: Chris Wright -Signed-off-by: Anthony Liguori - - -git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6982 c046a42c-6fe2-441c-8c8c-71466251a162 ---- - block-qcow2.c | 20 +++++++++++++------- - 1 files changed, 13 insertions(+), 7 deletions(-) - -Index: qemu-kvm-0.10/qemu/block-qcow2.c -=================================================================== ---- qemu-kvm-0.10.orig/qemu/block-qcow2.c -+++ qemu-kvm-0.10/qemu/block-qcow2.c -@@ -1458,6 +1458,7 @@ static int qcow_create(const char *filen - const char *backing_file, int flags) - { - int fd, header_size, backing_filename_len, l1_size, i, shift, l2_bits; -+ int ref_clusters = 0; - QCowHeader header; - uint64_t tmp, offset; - QCowCreateState s1, *s = &s1; -@@ -1498,22 +1499,28 @@ static int qcow_create(const char *filen - offset += align_offset(l1_size * sizeof(uint64_t), s->cluster_size); - - s->refcount_table = qemu_mallocz(s->cluster_size); -- s->refcount_block = qemu_mallocz(s->cluster_size); - - s->refcount_table_offset = offset; - header.refcount_table_offset = cpu_to_be64(offset); - header.refcount_table_clusters = cpu_to_be32(1); - offset += s->cluster_size; -- -- s->refcount_table[0] = cpu_to_be64(offset); - s->refcount_block_offset = offset; -- offset += s->cluster_size; -+ -+ /* count how many refcount blocks needed */ -+ tmp = offset >> s->cluster_bits; -+ ref_clusters = (tmp >> (s->cluster_bits - REFCOUNT_SHIFT)) + 1; -+ for (i=0; i < ref_clusters; i++) { -+ s->refcount_table[i] = cpu_to_be64(offset); -+ offset += s->cluster_size; -+ } -+ -+ s->refcount_block = qemu_mallocz(ref_clusters * s->cluster_size); - - /* update refcounts */ - create_refcount_update(s, 0, header_size); - create_refcount_update(s, s->l1_table_offset, l1_size * sizeof(uint64_t)); - create_refcount_update(s, s->refcount_table_offset, s->cluster_size); -- create_refcount_update(s, s->refcount_block_offset, s->cluster_size); -+ create_refcount_update(s, s->refcount_block_offset, ref_clusters * s->cluster_size); - - /* write all the data */ - write(fd, &header, sizeof(header)); -@@ -1529,7 +1536,7 @@ static int qcow_create(const char *filen - write(fd, s->refcount_table, s->cluster_size); - - lseek(fd, s->refcount_block_offset, SEEK_SET); -- write(fd, s->refcount_block, s->cluster_size); -+ write(fd, s->refcount_block, ref_clusters * s->cluster_size); - - qemu_free(s->refcount_table); - qemu_free(s->refcount_block); diff --git a/qemu-fix-qcow2-corruption.patch b/qemu-fix-qcow2-corruption.patch deleted file mode 100644 index dfed7be..0000000 --- a/qemu-fix-qcow2-corruption.patch +++ /dev/null @@ -1,67 +0,0 @@ -From: Nolan Leake sigbus.net> -Subject: [PATCH] Fix (at least one cause of) qcow2 corruption. - -qcow2's get_cluster_offset() scans forward in the l2 table to find other -clusters that have the same allocation status as the first cluster. -This is used by (among others) qcow_is_allocated(). - -Unfortunately, it was not checking to be sure that it didn't fall off -the end of the l2 table. This patch adds that check. - -The symptom that motivated me to look into this was that -bdrv_is_allocated() was returning false when there was in fact data -there. This is one of many ways this bug could lead to data corruption. - -I checked the other place that scans for consecutive unallocated blocks -(alloc_cluster_offset()) and it appears to be OK: - nb_clusters = MIN(nb_clusters, s->l2_size - l2_index); -appears to prevent the same problem from occurring. - -Signed-off-by: Nolan Leake sigbus.net> - ---- - -From: Kevin Wolf -Subject: [PATCH] qcow2 corruption: Fix alloc_cluster_link_l2 - -This patch fixes a qcow2 corruption bug introduced in SVN Rev 5861. L2 tables -are big endian, so entries must be converted before being passed to functions. - -This bug is easy to trigger. The following script will create and destroy a -qcow2 image (the header is gone after three loop iterations): - - #!/bin/bash - qemu-img create -f qcow2 test.qcow 1M - for i in $(seq 1 10); do - qemu-system-x86_64 -hda test.qcow -monitor stdio > /dev/null 2>&1 < - -diff -up qemu-kvm-0.10/qemu/block-qcow2.c.qcow2-corruption qemu-kvm-0.10/qemu/block-qcow2.c -diff -up qemu-kvm-0.10/qemu/block-qcow2.c.qcow2-corruption qemu-kvm-0.10/qemu/block-qcow2.c ---- qemu-kvm-0.10/qemu/block-qcow2.c.qcow2-corruption 2009-04-21 09:57:21.000000000 +0100 -+++ qemu-kvm-0.10/qemu/block-qcow2.c 2009-04-21 09:58:27.000000000 +0100 -@@ -670,6 +670,10 @@ static uint64_t get_cluster_offset(Block - - nb_available = (nb_available >> 9) + index_in_cluster; - -+ if (nb_needed > nb_available) { -+ nb_needed = nb_available; -+ } -+ - cluster_offset = 0; - - /* seek the the l2 offset in the l1 table */ -@@ -912,7 +916,7 @@ static int alloc_cluster_link_l2(BlockDr - goto err; - - for (i = 0; i < j; i++) -- free_any_clusters(bs, old_cluster[i], 1); -+ free_any_clusters(bs, be64_to_cpu(old_cluster[i]), 1); - - ret = 0; - err: diff --git a/qemu-kvm-fix-kerneldir-includes.patch b/qemu-kvm-fix-kerneldir-includes.patch new file mode 100644 index 0000000..30f57a3 --- /dev/null +++ b/qemu-kvm-fix-kerneldir-includes.patch @@ -0,0 +1,80 @@ +From cff8aa984290fc74c39f39e17fbca0f0feab6bc4 Mon Sep 17 00:00:00 2001 +From: Mark McLoughlin +Date: Wed, 13 May 2009 09:29:56 +0100 +Subject: [PATCH] kvm: user: include arch specific headers from $(KERNELDIR) + +Currently we only include $(KERNELDIR)/include in CFLAGS, +but we also have $(KERNELDIR)/arch/$(arch)/include or else +we'll get mis-matched headers. + +Signed-off-by: Mark McLoughlin +--- + kvm/user/config-i386.mak | 1 - + kvm/user/config-ia64.mak | 1 + + kvm/user/config-powerpc.mak | 1 + + kvm/user/config-x86-common.mak | 2 ++ + kvm/user/config-x86_64.mak | 1 - + 5 files changed, 4 insertions(+), 2 deletions(-) + +diff --git a/kvm/user/config-i386.mak b/kvm/user/config-i386.mak +index 09175d5..eebb9de 100644 +--- a/kvm/user/config-i386.mak ++++ b/kvm/user/config-i386.mak +@@ -3,7 +3,6 @@ cstart.o = $(TEST_DIR)/cstart.o + bits = 32 + ldarch = elf32-i386 + CFLAGS += -D__i386__ +-CFLAGS += -I $(KERNELDIR)/include + + tests= + +diff --git a/kvm/user/config-ia64.mak b/kvm/user/config-ia64.mak +index c4c639e..e8803a0 100644 +--- a/kvm/user/config-ia64.mak ++++ b/kvm/user/config-ia64.mak +@@ -2,6 +2,7 @@ bits = 64 + CFLAGS += -m64 + CFLAGS += -D__ia64__ + CFLAGS += -I $(KERNELDIR)/include ++CFLAGS += -I $(KERNELDIR)/arch/ia64/include + + all: + +diff --git a/kvm/user/config-powerpc.mak b/kvm/user/config-powerpc.mak +index dd7ef54..589aa61 100644 +--- a/kvm/user/config-powerpc.mak ++++ b/kvm/user/config-powerpc.mak +@@ -1,4 +1,5 @@ + CFLAGS += -I $(KERNELDIR)/include ++CFLAGS += -I $(KERNELDIR)/arch/powerpc/include + CFLAGS += -Wa,-mregnames -I test/lib + CFLAGS += -ffreestanding + +diff --git a/kvm/user/config-x86-common.mak b/kvm/user/config-x86-common.mak +index e789fd4..8d8fadf 100644 +--- a/kvm/user/config-x86-common.mak ++++ b/kvm/user/config-x86-common.mak +@@ -12,6 +12,8 @@ cflatobjs += \ + $(libcflat): LDFLAGS += -nostdlib + $(libcflat): CFLAGS += -ffreestanding -I test/lib + ++CFLAGS += -I $(KERNELDIR)/include ++CFLAGS += -I $(KERNELDIR)/arch/x86/include + CFLAGS += -m$(bits) + + FLATLIBS = test/lib/libcflat.a $(libgcc) +diff --git a/kvm/user/config-x86_64.mak b/kvm/user/config-x86_64.mak +index b50b540..d88f54c 100644 +--- a/kvm/user/config-x86_64.mak ++++ b/kvm/user/config-x86_64.mak +@@ -3,7 +3,6 @@ cstart.o = $(TEST_DIR)/cstart64.o + bits = 64 + ldarch = elf64-x86-64 + CFLAGS += -D__x86_64__ +-CFLAGS += -I $(KERNELDIR)/include + + tests = $(TEST_DIR)/access.flat $(TEST_DIR)/irq.flat $(TEST_DIR)/sieve.flat \ + $(TEST_DIR)/simple.flat $(TEST_DIR)/stringio.flat \ +-- +1.6.0.6 + diff --git a/qemu-move-option-rom-reset-definition.patch b/qemu-move-option-rom-reset-definition.patch deleted file mode 100644 index f8c5b0a..0000000 --- a/qemu-move-option-rom-reset-definition.patch +++ /dev/null @@ -1,64 +0,0 @@ ---- a/qemu/hw/pc.c 2009-05-12 10:53:18.000000000 -0300 -+++ b/qemu/hw/pc.c 2009-05-12 10:53:48.000000000 -0300 -@@ -58,6 +58,30 @@ - - #define MAX_IDE_BUS 2 - -+typedef struct rom_reset_data { -+ uint8_t *data; -+ target_phys_addr_t addr; -+ unsigned size; -+} RomResetData; -+ -+static void option_rom_reset(void *_rrd) -+{ -+ RomResetData *rrd = _rrd; -+ -+ cpu_physical_memory_write_rom(rrd->addr, rrd->data, rrd->size); -+} -+ -+static void option_rom_setup_reset(target_phys_addr_t addr, unsigned size) -+{ -+ RomResetData *rrd = qemu_malloc(sizeof *rrd); -+ -+ rrd->data = qemu_malloc(size); -+ cpu_physical_memory_read(addr, rrd->data, size); -+ rrd->addr = addr; -+ rrd->size = size; -+ qemu_register_reset(option_rom_reset, rrd); -+} -+ - extern uint8_t *acpi_tables; - extern size_t acpi_tables_len; - -@@ -767,30 +791,6 @@ static void pc_init_ne2k_isa(NICInfo *nd - nb_ne2k++; - } - --typedef struct rom_reset_data { -- uint8_t *data; -- target_phys_addr_t addr; -- unsigned size; --} RomResetData; -- --static void option_rom_reset(void *_rrd) --{ -- RomResetData *rrd = _rrd; -- -- cpu_physical_memory_write_rom(rrd->addr, rrd->data, rrd->size); --} -- --static void option_rom_setup_reset(target_phys_addr_t addr, unsigned size) --{ -- RomResetData *rrd = qemu_malloc(sizeof *rrd); -- -- rrd->data = qemu_malloc(size); -- cpu_physical_memory_read(addr, rrd->data, size); -- rrd->addr = addr; -- rrd->size = size; -- qemu_register_reset(option_rom_reset, rrd); --} -- - CPUState *pc_new_cpu(int cpu, const char *cpu_model, int pci_enabled) - { - CPUState *env = cpu_init(cpu_model); diff --git a/qemu-roms-more-room-fix-vga-align.patch b/qemu-roms-more-room-fix-vga-align.patch index 2c1d21c..38cb032 100644 --- a/qemu-roms-more-room-fix-vga-align.patch +++ b/qemu-roms-more-room-fix-vga-align.patch @@ -18,11 +18,10 @@ Signed-off-by: Glauber Costa qemu/hw/pc.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) -diff --git a/qemu/hw/pc.c b/qemu/hw/pc.c -index cc84772..680d4a2 100644 ---- a/qemu/hw/pc.c -+++ b/qemu/hw/pc.c -@@ -919,7 +919,7 @@ vga_bios_error: +diff -urp qemu-kvm-0.10.4.orig/hw/pc.c qemu-kvm-0.10.4/hw/pc.c +--- qemu-kvm-0.10.4.orig/hw/pc.c 2009-05-12 22:48:08.000000000 +0100 ++++ qemu-kvm-0.10.4/hw/pc.c 2009-05-12 22:48:46.000000000 +0100 +@@ -927,7 +927,7 @@ vga_bios_error: exit(1); } /* Round up vga bios size to the next 2k boundary */ @@ -31,5 +30,4 @@ index cc84772..680d4a2 100644 option_rom_start = 0xc0000 + vga_bios_size; /* setup basic memory access */ --- -1.5.6.6 +Only in qemu-kvm-0.10.4/hw: pc.c.orig diff --git a/qemu-roms-more-room.patch b/qemu-roms-more-room.patch index 9437e8d..b4c0ec1 100644 --- a/qemu-roms-more-room.patch +++ b/qemu-roms-more-room.patch @@ -31,11 +31,10 @@ git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6896 c046a42c-6fe2-441c-8c8 hw/pc.c | 29 +++++++++++++++++++---------- 1 files changed, 19 insertions(+), 10 deletions(-) -Index: qemu-kvm-0.10/qemu/hw/pc.c -=================================================================== ---- qemu-kvm-0.10.orig/qemu/hw/pc.c -+++ qemu-kvm-0.10/qemu/hw/pc.c -@@ -813,7 +813,7 @@ static void pc_init1(ram_addr_t ram_size +diff -urp qemu-kvm-0.10.4.orig/hw/pc.c qemu-kvm-0.10.4/hw/pc.c +--- qemu-kvm-0.10.4.orig/hw/pc.c 2009-05-12 17:16:34.000000000 +0100 ++++ qemu-kvm-0.10.4/hw/pc.c 2009-05-12 22:46:38.000000000 +0100 +@@ -820,7 +820,7 @@ static void pc_init1(ram_addr_t ram_size { char buf[1024]; int ret, linux_boot, i; @@ -44,7 +43,7 @@ Index: qemu-kvm-0.10/qemu/hw/pc.c ram_addr_t below_4g_mem_size, above_4g_mem_size = 0; int bios_size, isa_bios_size, vga_bios_size; int pci_option_rom_offset; -@@ -825,6 +825,7 @@ static void pc_init1(ram_addr_t ram_size +@@ -832,6 +832,7 @@ static void pc_init1(ram_addr_t ram_size int index; BlockDriverState *hd[MAX_IDE_BUS * MAX_IDE_DEVS]; BlockDriverState *fd[MAX_FD]; @@ -52,7 +51,7 @@ Index: qemu-kvm-0.10/qemu/hw/pc.c if (ram_size >= 0xe0000000 ) { above_4g_mem_size = ram_size - 0xe0000000; -@@ -900,7 +901,7 @@ static void pc_init1(ram_addr_t ram_size +@@ -907,7 +908,7 @@ static void pc_init1(ram_addr_t ram_size exit(1); } @@ -61,7 +60,7 @@ Index: qemu-kvm-0.10/qemu/hw/pc.c /* VGA BIOS load */ if (cirrus_vga_enabled) { snprintf(buf, sizeof(buf), "%s/%s", bios_dir, VGABIOS_CIRRUS_FILENAME); -@@ -918,12 +919,21 @@ vga_bios_error: +@@ -925,12 +926,21 @@ vga_bios_error: fprintf(stderr, "qemu: could not load VGA BIOS '%s'\n", buf); exit(1); } @@ -84,7 +83,7 @@ Index: qemu-kvm-0.10/qemu/hw/pc.c /* map the last 128KB of the BIOS in ISA space */ isa_bios_size = bios_size; if (isa_bios_size > (128 * 1024)) -@@ -944,14 +954,14 @@ vga_bios_error: +@@ -951,14 +961,14 @@ vga_bios_error: ram_addr_t option_rom_offset; int size, offset; @@ -92,17 +91,17 @@ Index: qemu-kvm-0.10/qemu/hw/pc.c + offset = option_rom_start; if (linux_boot) { option_rom_offset = qemu_ram_alloc(TARGET_PAGE_SIZE); - load_linux(phys_ram_base + option_rom_offset, + load_linux(option_rom_offset, kernel_filename, initrd_filename, kernel_cmdline); - cpu_register_physical_memory(0xd0000, TARGET_PAGE_SIZE, + cpu_register_physical_memory(option_rom_start, TARGET_PAGE_SIZE, - option_rom_offset | IO_MEM_ROM); + option_rom_offset); - offset = TARGET_PAGE_SIZE; -+ offset += TARGET_PAGE_SIZE; ++ offset = +TARGET_PAGE_SIZE; } for (i = 0; i < nb_option_roms; i++) { -@@ -961,13 +971,13 @@ vga_bios_error: +@@ -968,13 +978,13 @@ vga_bios_error: option_rom[i]); exit(1); } @@ -118,7 +117,7 @@ Index: qemu-kvm-0.10/qemu/hw/pc.c exit(1); } size = (size + 4095) & ~4095; -@@ -975,9 +985,8 @@ vga_bios_error: +@@ -982,9 +992,8 @@ vga_bios_error: initialization, and (optionally) marked readonly by the BIOS before INT 19h. See the PNPBIOS specification, appendix B. DDIM support is mandatory for proper PCI expansion ROM support. */ diff --git a/qemu.spec b/qemu.spec index 5a72029..c8a7e77 100644 --- a/qemu.spec +++ b/qemu.spec @@ -1,23 +1,16 @@ Summary: QEMU is a FAST! processor emulator Name: qemu -Version: 0.10 -Release: 18%{?dist} -# I have mistakenly thought the revision name would be 1.0. -# So 0.10 series get Epoch = 1 +Version: 0.10.4 +Release: 1%{?dist} +# Epoch because we pushed a qemu-1.0 package Epoch: 2 License: GPLv2+ and LGPLv2+ and BSD Group: Development/Tools URL: http://www.qemu.org/ -# To re-create the tarball below: -# $> git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm.git -# $> git clone git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm-userspace.git -# $> make-release qemu-kvm-%{version}.tar.gz $(pwd)/kvm v2.6.29-6998-g1d0cdf1 \ -# $(pwd)/kvm-userspace kvm-84-196-ga01bd3f -Source0: qemu-kvm-%{version}.tar.gz -Source1: make-release -Source2: qemu.init -Source3: kvm.modules +Source0: http://download.sourceforge.net/sourceforge/kvm/qemu-kvm-%{version}.tar.gz +Source1: qemu.init +Source2: kvm.modules Patch1: 01-tls-handshake-fix.patch Patch2: 02-vnc-monitor-info.patch @@ -34,16 +27,13 @@ Patch11: qemu-fix-gcc.patch Patch12: qemu-roms-more-room.patch Patch13: qemu-roms-more-room-fix-vga-align.patch Patch14: qemu-bios-bigger-roms.patch -Patch15: qemu-fix-display-breakage.patch -Patch16: qemu-fix-qcow2-2TB.patch -Patch17: qemu-fix-qcow2-corruption.patch -Patch18: qemu-move-option-rom-reset-definition.patch -Patch19: qemu-fix-load-linux.patch +Patch15: qemu-kvm-fix-kerneldir-includes.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: SDL-devel zlib-devel which texi2html gnutls-devel cyrus-sasl-devel BuildRequires: rsync dev86 iasl BuildRequires: pciutils-devel +BuildRequires: pulseaudio-libs-devel Requires: %{name}-user = %{epoch}:%{version}-%{release} Requires: %{name}-system-x86 = %{epoch}:%{version}-%{release} Requires: %{name}-system-sparc = %{epoch}:%{version}-%{release} @@ -85,7 +75,6 @@ This is a meta-package that provides a qemu-system- package for native architectures where kvm can be enabled. For example, in an x86 system, this will install qemu-system-x86 - %package img Summary: QEMU command line tool for manipulating disk images Group: Development/Tools @@ -234,10 +223,6 @@ such as kvmtrace and kvm_stat. %patch13 -p1 %patch14 -p1 %patch15 -p1 -%patch16 -p1 -%patch17 -p1 -%patch18 -p1 -%patch19 -p1 %build # systems like rhel build system does not have a recent enough linker so @@ -257,26 +242,28 @@ else fi %ifarch %{ix86} x86_64 -# sdl outputs to alsa or pulseaudio directly depending on what the system has configured +# sdl outputs to alsa or pulseaudio depending on system config, but it's broken (#495964) # alsa works, but causes huge CPU load due to bugs # oss works, but is very problematic because it grabs exclusive control of the device causing other apps to go haywire ./configure --target-list=x86_64-softmmu \ - --kerneldir=$(pwd)/kernel --prefix=%{_prefix} \ - --audio-drv-list=sdl,alsa,oss \ - --with-patched-kernel \ + --prefix=%{_prefix} \ + --audio-drv-list=pa,sdl,alsa,oss \ --disable-strip \ - --qemu-ldflags=$extraldflags \ - --qemu-cflags="$RPM_OPT_FLAGS" + --extra-ldflags=$extraldflags \ + --extra-cflags="$RPM_OPT_FLAGS" make V=1 %{?_smp_mflags} $buildldflags -cp qemu/x86_64-softmmu/qemu-system-x86_64 qemu-kvm -cp user/kvmtrace . -cp user/kvmtrace_format . +cp -a x86_64-softmmu/qemu-system-x86_64 qemu-kvm make clean + +make -C kvm/extboot extboot.bin + +cd kvm/user +./configure --prefix=%{_prefix} --kerneldir=$(pwd)/../kernel/ +make kvmtrace +cd ../../ %endif -echo "%{name}-%{version}" > $(pwd)/kernel/.kernelrelease -cd qemu ./configure \ --target-list="i386-softmmu x86_64-softmmu arm-softmmu cris-softmmu m68k-softmmu \ mips-softmmu mipsel-softmmu mips64-softmmu mips64el-softmmu ppc-softmmu \ @@ -288,15 +275,13 @@ cd qemu sparc32plus-linux-user" \ --prefix=%{_prefix} \ --interp-prefix=%{_prefix}/qemu-%%M \ - --kerneldir=$(pwd)/../kernel --prefix=%{_prefix} \ - --disable-strip \ + --audio-drv-list=pa,sdl,alsa,oss \ --disable-kvm \ + --disable-strip \ --extra-ldflags=$extraldflags \ - --audio-drv-list=sdl,alsa,oss \ --extra-cflags="$RPM_OPT_FLAGS" - -make %{?_smp_mflags} $buildldflags +make V=1 %{?_smp_mflags} $buildldflags %install rm -rf $RPM_BUILD_ROOT @@ -304,34 +289,34 @@ rm -rf $RPM_BUILD_ROOT %ifarch %{ix86} x86_64 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules mkdir -p $RPM_BUILD_ROOT%{_bindir}/ +mkdir -p $RPM_BUILD_ROOT%{_datadir}/%{name} -install -m 0755 %{SOURCE3} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules/kvm.modules -install -m 0755 kvmtrace $RPM_BUILD_ROOT%{_bindir}/ -install -m 0755 kvmtrace_format $RPM_BUILD_ROOT%{_bindir}/ -install -m 0755 kvm_stat $RPM_BUILD_ROOT%{_bindir}/ - +install -m 0755 %{SOURCE1} $RPM_BUILD_ROOT/%{_sysconfdir}/sysconfig/modules/kvm.modules +install -m 0755 kvm/extboot/extboot.bin $RPM_BUILD_ROOT%{_datadir}/%{name} +install -m 0755 kvm/user/kvmtrace $RPM_BUILD_ROOT%{_bindir}/ +install -m 0755 kvm/user/kvmtrace_format $RPM_BUILD_ROOT%{_bindir}/ +install -m 0755 kvm/kvm_stat $RPM_BUILD_ROOT%{_bindir}/ install -m 0755 qemu-kvm $RPM_BUILD_ROOT%{_bindir}/ %endif -cd qemu make prefix="${RPM_BUILD_ROOT}%{_prefix}" \ bindir="${RPM_BUILD_ROOT}%{_bindir}" \ - sharedir="${RPM_BUILD_ROOT}%{_prefix}/share/qemu" \ + sharedir="${RPM_BUILD_ROOT}%{_datadir}/%{name}" \ mandir="${RPM_BUILD_ROOT}%{_mandir}" \ docdir="${RPM_BUILD_ROOT}%{_docdir}/%{name}-%{version}" \ - datadir="${RPM_BUILD_ROOT}%{_prefix}/share/qemu" install + datadir="${RPM_BUILD_ROOT}%{_datadir}/%{name}" install chmod -x ${RPM_BUILD_ROOT}%{_mandir}/man1/* install -D -p -m 0755 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d/qemu install -D -p -m 0644 -t ${RPM_BUILD_ROOT}/%{qemudocdir} Changelog README TODO COPYING COPYING.LIB LICENSE install -D -p -m 0644 qemu.sasl $RPM_BUILD_ROOT%{_sysconfdir}/sasl2/qemu.conf -rm -rf ${RPM_BUILD_ROOT}/usr/share//qemu/pxe*bin -rm -rf ${RPM_BUILD_ROOT}/usr/share//qemu/vgabios*bin -rm -rf ${RPM_BUILD_ROOT}/usr/share//qemu/bios.bin -rm -rf ${RPM_BUILD_ROOT}/usr/share//qemu/openbios-ppc -rm -rf ${RPM_BUILD_ROOT}/usr/share//qemu/openbios-sparc32 -rm -rf ${RPM_BUILD_ROOT}/usr/share//qemu/openbios-sparc64 +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/pxe*bin +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/vgabios*bin +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/bios.bin +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-ppc +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-sparc32 +rm -rf ${RPM_BUILD_ROOT}%{_datadir}/%{name}/openbios-sparc64 # the pxe etherboot images will be symlinks to the images on # /usr/share/etherboot, as QEMU doesn't know how to look @@ -345,14 +330,12 @@ pxe_link ne2k_pci ne pxe_link pcnet pcnet32 pxe_link rtl8139 rtl8139 pxe_link virtio virtio-net -ln -s ../vgabios/VGABIOS-lgpl-latest.bin %{buildroot}/%{_prefix}/share/qemu/vgabios.bin -ln -s ../vgabios/VGABIOS-lgpl-latest.cirrus.bin %{buildroot}/%{_prefix}/share/qemu/vgabios-cirrus.bin -ln -s ../bochs/BIOS-bochs-kvm %{buildroot}/%{_prefix}/share/qemu/bios.bin -ln -s ../openbios/openbios-ppc %{buildroot}/%{_prefix}/share/qemu/openbios-ppc -ln -s ../openbios/openbios-sparc32 %{buildroot}/%{_prefix}/share/qemu/openbios-sparc32 -ln -s ../openbios/openbios-sparc64 %{buildroot}/%{_prefix}/share/qemu/openbios-sparc64 - - +ln -s ../vgabios/VGABIOS-lgpl-latest.bin %{buildroot}/%{_datadir}/%{name}/vgabios.bin +ln -s ../vgabios/VGABIOS-lgpl-latest.cirrus.bin %{buildroot}/%{_datadir}/%{name}/vgabios-cirrus.bin +ln -s ../bochs/BIOS-bochs-kvm %{buildroot}/%{_datadir}/%{name}/bios.bin +ln -s ../openbios/openbios-ppc %{buildroot}/%{_datadir}/%{name}/openbios-ppc +ln -s ../openbios/openbios-sparc32 %{buildroot}/%{_datadir}/%{name}/openbios-sparc32 +ln -s ../openbios/openbios-sparc64 %{buildroot}/%{_datadir}/%{name}/openbios-sparc64 %clean rm -rf $RPM_BUILD_ROOT @@ -394,8 +377,8 @@ fi %doc %{qemudocdir}/COPYING %doc %{qemudocdir}/COPYING.LIB %doc %{qemudocdir}/LICENSE -%dir %{_prefix}/share/qemu/ -%{_prefix}/share/qemu/keymaps/ +%dir %{_datadir}/%{name}/ +%{_datadir}/%{name}/keymaps/ %{_mandir}/man1/qemu.1* %{_mandir}/man8/qemu-nbd.8* %{_bindir}/qemu-nbd @@ -424,16 +407,16 @@ fi %defattr(-,root,root) %{_bindir}/qemu %{_bindir}/qemu-system-x86_64 -%{_prefix}/share/qemu/bios.bin -%{_prefix}/share/qemu/vgabios.bin -%{_prefix}/share/qemu/vgabios-cirrus.bin -%{_prefix}/share/qemu/pxe-e1000.bin -%{_prefix}/share/qemu/pxe-virtio.bin -%{_prefix}/share/qemu/pxe-pcnet.bin -%{_prefix}/share/qemu/pxe-rtl8139.bin -%{_prefix}/share/qemu/pxe-ne2k_pci.bin +%{_datadir}/%{name}/bios.bin +%{_datadir}/%{name}/vgabios.bin +%{_datadir}/%{name}/vgabios-cirrus.bin +%{_datadir}/%{name}/pxe-e1000.bin +%{_datadir}/%{name}/pxe-virtio.bin +%{_datadir}/%{name}/pxe-pcnet.bin +%{_datadir}/%{name}/pxe-rtl8139.bin +%{_datadir}/%{name}/pxe-ne2k_pci.bin %ifarch %{ix86} x86_64 -%{_prefix}/share/qemu/extboot.bin +%{_datadir}/%{name}/extboot.bin %{_bindir}/qemu-kvm %{_sysconfdir}/sysconfig/modules/kvm.modules %files kvm-tools @@ -445,8 +428,8 @@ fi %files system-sparc %defattr(-,root,root) %{_bindir}/qemu-system-sparc -%{_prefix}/share/qemu/openbios-sparc32 -%{_prefix}/share/qemu/openbios-sparc64 +%{_datadir}/%{name}/openbios-sparc32 +%{_datadir}/%{name}/openbios-sparc64 %files system-arm %defattr(-,root,root) %{_bindir}/qemu-system-arm @@ -461,10 +444,10 @@ fi %{_bindir}/qemu-system-ppc %{_bindir}/qemu-system-ppc64 %{_bindir}/qemu-system-ppcemb -%{_prefix}/share/qemu/openbios-ppc -%{_prefix}/share/qemu/video.x -%{_prefix}/share/qemu/bamboo.dtb -%{_prefix}/share/qemu/ppc_rom.bin +%{_datadir}/%{name}/openbios-ppc +%{_datadir}/%{name}/video.x +%{_datadir}/%{name}/bamboo.dtb +%{_datadir}/%{name}/ppc_rom.bin %files system-cris %defattr(-,root,root) %{_bindir}/qemu-system-cris @@ -482,6 +465,30 @@ fi %{_mandir}/man1/qemu-img.1* %changelog +* Tue May 12 2009 Mark McLoughlin - 2:0.10.4-1 +- Update to 0.10.4 +- Fix yet more qcow2 corruption (#498405) +- AIO cancellation fixes (#497170) +- Fix VPC image size overflow (#491981) +- Fix oops with 2.6.25 virtio guest (#470386) +- Enable pulseaudio driver (#495964, #496627) +- Fix cpuid initialization +- Fix HPET emulation +- Fix storage hotplug error handling +- Migration fixes +- Block range checking fixes +- Make PCI config status register read-only +- Handle newer Xorg keymap names +- Don't leak memory on NIC hot-unplug +- Hook up keypad keys for qemu console emulation +- Correctly run on kernels lacking mmu notifiers +- Support DDIM option ROMs +- Fix PCI NIC error handling +- Fix in-kernel LAPIC initialization +- Fix broken e1000 PCI config space +- Drop some patches which have been upstreamed +- Drop the make-release script; we have an official tarball now + * Tue May 12 2009 Glauber Costa - 2:0.10-18 - move option rom setup function to the beginning of the file. This avoids static vs non-static issues, and is the way upstream does diff --git a/sources b/sources index 004ec2d..963844c 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -04c32fb43c722f180654f53e04ad17dd qemu-kvm-0.10.tar.gz +7b876a4899ed82517ca47898e59f215c qemu-kvm-0.10.4.tar.gz