- 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
This commit is contained in:
Mark McLoughlin 2009-05-13 08:35:55 +00:00
parent c3836569ba
commit 35aa5183e5
24 changed files with 350 additions and 585 deletions

View File

@ -1 +1 @@
qemu-kvm-0.10.tar.gz
qemu-kvm-*.tar.gz

View File

@ -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;

View File

@ -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;

View File

@ -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;

View File

@ -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 <anthony@codemonkey.ws>
@ -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

View File

@ -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 <zlib.h>

View File

@ -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"

View File

@ -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);

View File

@ -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 <sasl/sasl.h>
@ -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 <gnutls/gnutls.h>
#include <gnutls/x509.h>
@ -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;

View File

@ -18,10 +18,10 @@ Signed-off-by: Glauber Costa <glommer@redhat.com>
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 <dirent.h>
@ -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"

View File

@ -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 <<EOF > 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}"

View File

@ -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

View File

@ -15,32 +15,18 @@ Signed-off-by: Riku Voipio <riku.voipio@iki.fi>
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 <fnmatch.h>
+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)"

View File

@ -1,35 +0,0 @@
From 9d1b494a2d5dd2c129994edcf4eb7630bb554964 Mon Sep 17 00:00:00 2001
From: aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
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 <avi@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
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

View File

@ -14,10 +14,10 @@ Signed-off-by: Avi Kivity <avi@redhat.com>
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();

View File

@ -1,45 +0,0 @@
From d6ecb03610dba922cbfde42acb41603e2c658047 Mon Sep 17 00:00:00 2001
From: Glauber Costa <glommer@redhat.com>
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 <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
---
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);
}

View File

@ -1,77 +0,0 @@
From 2d2431f03fc78b532f3a1c5f858cf78859d50fc3 Mon Sep 17 00:00:00 2001
From: aliguori <aliguori@c046a42c-6fe2-441c-8c8c-71466251a162>
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 <chrisw@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
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);

View File

@ -1,67 +0,0 @@
From: Nolan Leake <nolan <at> 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 <nolan <at> sigbus.net>
---
From: Kevin Wolf <kwolf@redhat.com>
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 <<EOF
savevm test-$i
quit
EOF
done
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
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:

View File

@ -0,0 +1,80 @@
From cff8aa984290fc74c39f39e17fbca0f0feab6bc4 Mon Sep 17 00:00:00 2001
From: Mark McLoughlin <markmc@redhat.com>
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 <markmc@redhat.com>
---
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

View File

@ -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);

View File

@ -18,11 +18,10 @@ Signed-off-by: Glauber Costa <glommer@redhat.com>
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

View File

@ -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. */

163
qemu.spec
View File

@ -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-<arch> 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 <markmc@redhat.com> - 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 <glommer@redhat.com> - 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

View File

@ -1 +1 @@
04c32fb43c722f180654f53e04ad17dd qemu-kvm-0.10.tar.gz
7b876a4899ed82517ca47898e59f215c qemu-kvm-0.10.4.tar.gz