Hello community,
here is the log from the commit of package kvm for openSUSE:Factory
checked in at Fri Jul 31 21:14:42 CEST 2009.
--------
--- kvm/kvm.changes 2009-07-22 10:13:01.000000000 +0200
+++ /mounts/work_src_done/STABLE/kvm/kvm.changes 2009-07-31 20:21:06.000000000 +0200
@@ -1,0 +2,46 @@
+Thu Jul 30 14:51:29 UTC 2009 - brogers@novell.com
+
+- update to kvm-88, removed patches for mac compatability
+ - (kvm-88) kvm-87 wasn't so hot due to networking not working withi
+ rtl8139 and e1000. So kvm-88 fixes that and brings a bunch of new features
+ (resizable sdl windows, multiboot, x2apic, and more). Enjoy.
+
+ - (kvm-87) Many fixes, performance improvements, a preview of irqfd, but
+ all of these pale in comparison to
+
+ qemu-system-x86_64 -m 1024 -cdrom http://example.com/livecd.iso
+
+ yes, no need for tedious downloading anymore.
+
+ - (kvm-86) There are many qcow2 and live migration fixes in this release;
+ also noteworthy is the beginning of NUMA support. The interrupt injection
+ code has seen some significant rework.
+
+ - (kvm-85) selected changes listed:
+ - merge qemu-svn
+ - microsoft serial mouse emulation
+ - cpuid fixes
+ - multiple simulataneous vnc client support
+ - allow additions of acpi tables from command line
+ - vnc sasl authentication
+ - fix one qcow2 corruptor
+ - fix qcow2 > 2TB images
+ - use preadv/pwritev when available for zero-copy block devices
+ - fix extboot with cache=off (Nolan Leake)
+ - fix 4GB+ guest RAM with large pages (Marcelo Tosatti)
+ - fix handling of large pages in assigned devices (Joerg Roedel)
+ - set accessed bit on segment selectos on AMD (Andre Przywara)
+ - fixes cross-vendor migrations
+ - fix large page memory leak (Joerg Roedel)
+ - support device deassignment (Weidong Han)
+ - msi-x support (Sheng Yang)
+ - fix missing flush on invlpg emulation (Andrea Arcangeli)
+ - fix vmx feature testing (Sheng Yang)
+ - fix PDPTE reserved bit testing (Eddie Dong)
+ - fix handling of a fault during NMI unblocked due to IRET (Gleb Natapov)
+ - fix task switch back link pointer (Gleb Natapov)
+ - fix near call emulation (Gleb Natapov)
+ - fix extboot failure after reset (Ryan Harper)
+ - fix PIT mode 0 handling (Marcelo Tosatti)
+
+-------------------------------------------------------------------
calling whatdependson for head-i586
Old:
----
convert-commits-to-patch.sh
kvm-84.tar.bz2
kvm-bios.patch
kvm-ioapic.patch
kvm-kernel-cpuid4.patch
kvm-kernel-msr.patch
kvm-maccpuid.patch
kvm-preXX-altgr-and-dead-keys-with-VNC.patch
kvm-qemu-applesmc.patch
kvm-qemu-ide-ich6.patch
kvm-qemu-local-include2.patch
kvm-qemu-lpc.patch
kvm-qemu-macmodel.patch
kvm-qemu-multiboot.patch
kvm-qemu-rtl8139-link.patch
New:
----
kvm-88.tar.bz2
kvm-preXX-fix-build-for-ESD-audio.patch
kvm-preXX-fix-serious-regression.patch
kvm-preXX-fix-virtio-hd.patch
kvm-preXX-tracepoint-for-latest-kernel.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ kvm.spec ++++++
--- /var/tmp/diff_new_pack.H1P7M7/_old 2009-07-31 21:13:33.000000000 +0200
+++ /var/tmp/diff_new_pack.H1P7M7/_new 2009-07-31 21:13:33.000000000 +0200
@@ -1,5 +1,5 @@
#
-# spec file for package kvm (Version 84)
+# spec file for package kvm (Version 88)
#
# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
@@ -49,20 +49,9 @@
Group: System/Kernel
Summary: Kernel-based Virtual Machine
Url: http://kvm.qumranet.com/
-Version: 84
-Release: 6
+Version: 88
+Release: 1
Source0: %name-%version.tar.bz2
-### To update to new version, recompress the kvm-??.tar.gz using:
-# rpmbuild -bp kvm.spec --define="_sourcedir `pwd`"
-#%(
-if [ -f %name-%version.tar.gz ]; then
- gunzip %name-%version.tar.gz
- tar --delete %name-%version/patches \
- --file=%{name}-%{version}.tar
- bzip2 %name-%version.tar
-fi
-)
-###
ExclusiveArch: %ix86 x86_64 ia64 s390
Source1: 60-kvm.rules
Source2: NETKVM-20081229.iso
@@ -71,31 +60,16 @@
Patch01: qemu-datadir.diff
Patch02: kvm-qemu-default-memsize.patch
Patch03: kvm-qemu-no-fallback-if-open-kvm-fails.patch
-%define work_around_bad_symlink 0
-%if %work_around_bad_symlink
-Patch04: kvm-qemu-local-include2.patch
-%endif
-# Mac OS X patches
-Patch10: kvm-qemu-lpc.patch
-Patch11: kvm-qemu-applesmc.patch
-Patch12: kvm-qemu-ide-ich6.patch
-Patch13: kvm-qemu-macmodel.patch
-Patch14: kvm-qemu-rtl8139-link.patch
-Patch15: kvm-qemu-multiboot.patch
-Patch16: kvm-kernel-cpuid4.patch
-Patch17: kvm-kernel-msr.patch
-Patch18: kvm-maccpuid.patch
-Patch19: kvm-ioapic.patch
-Patch20: kvm-bios.patch
# Post-release upstream patches
Patch100: kvm-preXX-init-on-demand.patch
-Patch101: kvm-preXX-altgr-and-dead-keys-with-VNC.patch
+Patch101: kvm-preXX-fix-build-for-ESD-audio.patch
+Patch102: kvm-preXX-fix-serious-regression.patch
+Patch103: kvm-preXX-fix-virtio-hd.patch
+Patch104: kvm-preXX-tracepoint-for-latest-kernel.patch
# for IA64
Source500: ia64-fix-pagesize.pl
Patch500: IA64-kvm-suse.patch
# For upstream patches:
-Source100: convert-commits-to-patch.sh
-#Patch111: kvm-commits.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
PreReq: /usr/sbin/groupadd
%define use_kmp 1
@@ -104,7 +78,6 @@
Requires: kvm-kmp
%suse_kernel_module_package debug kdump um xen xenpae
%endif
-# Can't use --with-patched-kernel with kvm-36 on i386, so for now also on 10.3:
BuildRequires: kernel-syms
%description
@@ -176,49 +149,27 @@
%prep
# build the BIOS on x86 platforms
%ifarch %ix86 x86_64
-%define bios_targets bios vgabios extboot
%define vanilla 0
# build no BIOS on others
%else
%define vanilla 1
%endif
%setup -q
-%patch01 -p1 -b .use-qemu-kvm-as-datadir
+%patch01 -p1
%patch02 -p1
%patch03 -p1
-%if %work_around_bad_symlink
-%patch04 -p1
-%endif
-# Mac OS X guest
-%if !%{vanilla}
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
-cp -a bios bios-mac
-%patch20 -p1 -b .bios-mac
-%endif
# Post-release patches
%patch100 -p1
%patch101 -p1
+%patch102 -p1
+%patch103 -p1
+%patch104 -p1
# IA64 support
%ifarch ia64
%patch500 -p1
-#%_sourcedir/ia64-fix-pagesize.pl # needs testing...
%endif
-# Currently not used, keep it for later use:
-# Apply selected upstream patches from the kvm-commits list:
-#sh %_sourcedir/convert-commits-to-patch.sh %PATCH111 | patch -p0
%build
-# Temporary workaround until qemu's configure is fixed:
-sed -i 's/-lcurses/-lncurses/' qemu/configure
./configure --prefix=%{_prefix} \
--audio-card-list="ac97 adlib cs4231a gus" \
%if %suse_version >= 1100
@@ -226,45 +177,34 @@
%else
--audio-drv-list="alsa sdl oss" \
%endif
- --qemu-cflags="%{optflags}"
-# Aborts if curses support is not enabled:
-grep "^CONFIG_CURSES=yes" qemu/config-host.mak
+ --extra-cflags="%{optflags}"
# Patch kvm/user Makefile to accept inital CFLAGS:
-sed -i 's/CFLAGS =/CFLAGS +=/' user/Makefile
-echo "CFLAGS=%optflags" >> user/config.mak
+sed -i 's/CFLAGS =/CFLAGS +=/' kvm/user/Makefile
+echo "CFLAGS=%optflags" >> kvm/user/config.mak
# Patch the module version, so we know which kmp was installed:
for i in `find . -name "*.c"`; do
sed -i "s|kvm-%{version}|kvm-%{version}-%{release}|" "$i"
done
-# Main build:
-%if !%{vanilla}
-make libkvm user qemu %{?bios_targets} %{?jobs:-j%jobs}
-make -C bios-mac
-%else
-make libkvm user qemu %{?jobs:-j%jobs}
-%endif
-# kernel modules
+# kernel modules:
%if %use_kmp
-mkdir suse-kernel
+mkdir kvm/suse-kernel
for flavor in %flavors_to_build; do
- rm -rf suse-kernel/$flavor
- cp -r kernel suse-kernel/$flavor
- cd suse-kernel/$flavor
+ rm -rf kvm/suse-kernel/$flavor
+ cp -r kvm/kernel kvm/suse-kernel/$flavor
+ cd kvm/suse-kernel/$flavor
kernel_source_dir=/usr/src/$(line < /usr/src/linux-obj/%_target_cpu/$flavor/Makefile | cut -f4 -d/)
-%if %work_around_bad_symlink
- mkdir include2
- if [ ! -d /usr/src/linux-obj/%_target_cpu/$flavor/include2/asm/ ]; then
- ln -s $kernel_source_dir/arch/x86/include/asm include2/asm
- else
- ln -s $kernel_source_dir/include/asm-x86 include2/asm
- fi
-%endif
- sed "s|KERNELDIR=.*|KERNELDIR=/usr/src/linux-obj/%_target_cpu/$flavor|
-s|KERNELSOURCEDIR=.*|KERNELSOURCEDIR=$kernel_source_dir|" ../../config.mak >../config.mak
+ sed -i "s|KERNELDIR=.*|KERNELDIR=/usr/src/linux-obj/%_target_cpu/$flavor|
+s|KERNELSOURCEDIR=.*|KERNELSOURCEDIR=$kernel_source_dir|" config.mak
make %{?jobs:-j%jobs}
- cd ../..
+ cd ../../..
done
%endif
+# userspace:
+make KVM_KMOD="no" %{?jobs:-j%jobs}
+%if !%{vanilla}
+make -C kvm/bios
+make -C kvm/vgabios
+%endif
%install
# kernel modules
@@ -273,17 +213,16 @@
export INSTALL_MOD_DIR=updates
for flavor in %flavors_to_build; do
make -C /usr/src/linux-obj/%_target_cpu/$flavor modules_install \
- M=$PWD/suse-kernel/$flavor
+ M=$PWD/kvm/suse-kernel/$flavor
done
%endif
-make DESTDIR=%{buildroot} WANT_MODULE="" install
-mv qemu/qemu-doc.html qemu/qemu-kvm.html
-%if !%{vanilla}
-install -m 644 bios-mac/BIOS-bochs-latest %{buildroot}/%{_datadir}/qemu-kvm/bios-mac.bin
-%endif
-install -m 755 kvm_stat %{buildroot}/%_bindir/kvm_stat
+make DESTDIR=%{buildroot} KVM_KMOD="no" install
+mv qemu-doc.html qemu-kvm.html
+mkdir -p %{buildroot}%{_docdir}/kvm
+install -m 644 qemu-kvm.html %{buildroot}%{_docdir}/kvm/qemu-kvm.html
+install -m 755 kvm/kvm_stat %{buildroot}%_bindir/kvm_stat
cd %{buildroot}
-rm -r .{%_bindir/qemu-img,%_bindir/qemu-nbd,%_datadir/{doc,qemu-kvm/{openbios-sparc32,openbios-sparc64,ppc_rom.bin,bamboo.dtb,video.x,openbios-ppc}}}
+rm -r .{%_bindir/qemu-io,%_bindir/qemu-img,%_bindir/qemu-nbd,%_datadir/{doc/qemu,qemu-kvm/{openbios-sparc32,openbios-sparc64,ppc_rom.bin,openbios-ppc,video.x,bamboo.dtb,petalogix-s3adsp1800.dtb}}}
%ifarch ia64 s390
rm -f .%_datadir/qemu-kvm/bios.bin
%endif
@@ -323,7 +262,7 @@
%files
%defattr(-,root,root)
-%doc qemu/qemu-kvm.html
+%doc qemu-kvm.html
%attr(755,root,kvm) %{_bindir}/qemu-kvm
%attr(755,root,kvm) %{_bindir}/kvm_stat
%{_datadir}/qemu-kvm
++++++ kvm-84.tar.bz2 -> kvm-88.tar.bz2 ++++++
++++ 1169623 lines of diff (skipped)
++++++ kvm-preXX-fix-build-for-ESD-audio.patch ++++++
commit c6a5a71a3a1886afad5eeb214eb6e8785f4e0319
Author: Anthony Liguori
Date: Wed Jul 1 10:07:16 2009 -0500
Fix build for ESD audio
Signed-off-by: Anthony Liguori
Index: kvm-88/Makefile
===================================================================
--- kvm-88.orig/Makefile
+++ kvm-88/Makefile
@@ -139,18 +139,18 @@ obj-y += migration-exec.o
endif
ifdef CONFIG_COREAUDIO
-AUDIO_PT = yes
+AUDIO_PT = y
endif
ifdef CONFIG_FMOD
audio/audio.o audio/fmodaudio.o: CPPFLAGS := -I$(CONFIG_FMOD_INC) $(CPPFLAGS)
endif
ifdef CONFIG_ESD
-AUDIO_PT = yes
-AUDIO_PT_INT = yes
+AUDIO_PT = y
+AUDIO_PT_INT = y
endif
ifdef CONFIG_PA
-AUDIO_PT = yes
-AUDIO_PT_INT = yes
+AUDIO_PT = y
+AUDIO_PT_INT = y
endif
ifdef AUDIO_PT
LDFLAGS += -pthread
++++++ kvm-preXX-fix-serious-regression.patch ++++++
Index: kvm-88/qemu-kvm.c
===================================================================
--- kvm-88.orig/qemu-kvm.c
+++ kvm-88/qemu-kvm.c
@@ -1016,8 +1016,6 @@ int pre_kvm_run(kvm_context_t kvm, CPUSt
{
kvm_arch_pre_kvm_run(kvm->opaque, env);
- if (env->exit_request)
- return 1;
pthread_mutex_unlock(&qemu_mutex);
return 0;
}
++++++ kvm-preXX-fix-virtio-hd.patch ++++++
Index: kvm-88/hw/virtio-blk.c
===================================================================
--- kvm-88.orig/hw/virtio-blk.c
+++ kvm-88/hw/virtio-blk.c
@@ -25,7 +25,6 @@ typedef struct VirtIOBlock
BlockDriverState *bs;
VirtQueue *vq;
void *rq;
- char serial_str[BLOCK_SERIAL_STRLEN + 1];
} VirtIOBlock;
static VirtIOBlock *to_virtio_blk(VirtIODevice *vdev)
@@ -33,47 +32,6 @@ static VirtIOBlock *to_virtio_blk(VirtIO
return (VirtIOBlock *)vdev;
}
-/* store identify data in little endian format
- */
-static inline void put_le16(uint16_t *p, unsigned int v)
-{
- *p = cpu_to_le16(v);
-}
-
-/* copy to *dst from *src, nul pad dst tail as needed to len bytes
- */
-static inline void padstr(char *dst, const char *src, int len)
-{
- while (len--)
- *dst++ = *src ? *src++ : '\0';
-}
-
-/* setup simulated identify data as appropriate for virtio block device
- *
- * ref: AT Attachment 8 - ATA/ATAPI Command Set (ATA8-ACS)
- */
-static inline void virtio_identify_template(struct virtio_blk_config *bc)
-{
- uint16_t *p = &bc->identify[0];
- uint64_t lba_sectors = bc->capacity;
-
- memset(p, 0, sizeof(bc->identify));
- put_le16(p + 0, 0x0); /* ATA device */
- padstr((char *)(p + 23), QEMU_VERSION, 8); /* firmware revision */
- padstr((char *)(p + 27), "QEMU VIRT_BLK", 40); /* model# */
- put_le16(p + 47, 0x80ff); /* max xfer 255 sectors */
- put_le16(p + 49, 0x0b00); /* support IORDY/LBA/DMA */
- put_le16(p + 59, 0x1ff); /* cur xfer 255 sectors */
- put_le16(p + 80, 0x1f0); /* support ATA8/7/6/5/4 */
- put_le16(p + 81, 0x16);
- put_le16(p + 82, 0x400);
- put_le16(p + 83, 0x400);
- put_le16(p + 100, lba_sectors);
- put_le16(p + 101, lba_sectors >> 16);
- put_le16(p + 102, lba_sectors >> 32);
- put_le16(p + 103, lba_sectors >> 48);
-}
-
typedef struct VirtIOBlockReq
{
VirtIOBlock *dev;
@@ -327,8 +285,6 @@ static void virtio_blk_reset(VirtIODevic
qemu_aio_flush();
}
-/* coalesce internal state, copy to pci i/o region 0
- */
static void virtio_blk_update_config(VirtIODevice *vdev, uint8_t *config)
{
VirtIOBlock *s = to_virtio_blk(vdev);
@@ -345,15 +301,11 @@ static void virtio_blk_update_config(Vir
blkcfg.heads = heads;
blkcfg.sectors = secs;
blkcfg.size_max = 0;
- virtio_identify_template(&blkcfg);
- memcpy(&blkcfg.identify[VIRTIO_BLK_ID_SN], s->serial_str,
- VIRTIO_BLK_ID_SN_BYTES);
memcpy(config, &blkcfg, sizeof(blkcfg));
}
static uint32_t virtio_blk_get_features(VirtIODevice *vdev)
{
- VirtIOBlock *s = to_virtio_blk(vdev);
uint32_t features = 0;
features |= (1 << VIRTIO_BLK_F_SEG_MAX);
@@ -361,8 +313,6 @@ static uint32_t virtio_blk_get_features(
#ifdef __linux__
features |= (1 << VIRTIO_BLK_F_SCSI);
#endif
- if (strcmp(s->serial_str, "0"))
- features |= 1 << VIRTIO_BLK_F_IDENTIFY;
return features;
}
@@ -406,7 +356,6 @@ VirtIODevice *virtio_blk_init(DeviceStat
int cylinders, heads, secs;
static int virtio_blk_id;
BlockDriverState *bs;
- char *ps;
s = (VirtIOBlock *)virtio_common_init("virtio-blk", VIRTIO_ID_BLOCK,
sizeof(struct virtio_blk_config),
@@ -418,10 +367,6 @@ VirtIODevice *virtio_blk_init(DeviceStat
s->vdev.reset = virtio_blk_reset;
s->bs = bs;
s->rq = NULL;
- if (strlen(ps = (char *)drive_get_serial(bs)))
- strncpy(s->serial_str, ps, sizeof(s->serial_str));
- else
- snprintf(s->serial_str, sizeof(s->serial_str), "0");
bs->private = dev;
bdrv_guess_geometry(s->bs, &cylinders, &heads, &secs);
bdrv_set_geometry_hint(s->bs, cylinders, heads, secs);
Index: kvm-88/hw/virtio-blk.h
===================================================================
--- kvm-88.orig/hw/virtio-blk.h
+++ kvm-88/hw/virtio-blk.h
@@ -30,11 +30,6 @@
#define VIRTIO_BLK_F_RO 5 /* Disk is read-only */
#define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/
#define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */
-#define VIRTIO_BLK_F_IDENTIFY 8 /* ATA IDENTIFY supported */
-
-#define VIRTIO_BLK_ID_LEN 256 /* length of identify u16 array */
-#define VIRTIO_BLK_ID_SN 10 /* start of char * serial# */
-#define VIRTIO_BLK_ID_SN_BYTES 20 /* length in bytes of serial# */
struct virtio_blk_config
{
@@ -44,8 +39,6 @@ struct virtio_blk_config
uint16_t cylinders;
uint8_t heads;
uint8_t sectors;
- uint32_t _blk_size; /* structure pad, currently unused */
- uint16_t identify[VIRTIO_BLK_ID_LEN];
} __attribute__((packed));
/* These two define direction. */
Index: kvm-88/sysemu.h
===================================================================
--- kvm-88.orig/sysemu.h
+++ kvm-88/sysemu.h
@@ -157,8 +157,6 @@ typedef enum {
BLOCK_ERR_STOP_ANY
} BlockInterfaceErrorAction;
-#define BLOCK_SERIAL_STRLEN 20
-
typedef struct DriveInfo {
BlockDriverState *bdrv;
const char *devaddr;
@@ -168,7 +166,7 @@ typedef struct DriveInfo {
int used;
int drive_opt_idx;
BlockInterfaceErrorAction onerror;
- char serial[BLOCK_SERIAL_STRLEN + 1];
+ char serial[21];
} DriveInfo;
#define MAX_IDE_DEVS 2
++++++ kvm-preXX-init-on-demand.patch ++++++
--- /var/tmp/diff_new_pack.H1P7M7/_old 2009-07-31 21:13:51.000000000 +0200
+++ /var/tmp/diff_new_pack.H1P7M7/_new 2009-07-31 21:13:51.000000000 +0200
@@ -41,11 +41,11 @@
virt/kvm/kvm_main.c | 75 ++++++++++++++++++++++++++++++++++++-------
9 files changed, 90 insertions(+), 27 deletions(-)
-Index: kvm-83/kernel/ia64/kvm-ia64.c
+Index: kvm-88/kvm/kernel/ia64/kvm-ia64.c
===================================================================
---- kvm-83.orig/kernel/ia64/kvm-ia64.c
-+++ kvm-83/kernel/ia64/kvm-ia64.c
-@@ -151,7 +151,7 @@ long ia64_pal_vp_create(u64 *vpd, u64 *h
+--- kvm-88.orig/kvm/kernel/ia64/kvm-ia64.c
++++ kvm-88/kvm/kernel/ia64/kvm-ia64.c
+@@ -164,7 +164,7 @@ long ia64_pal_vp_create(u64 *vpd, u64 *h
static DEFINE_SPINLOCK(vp_lock);
@@ -54,7 +54,7 @@
{
long status;
long tmp_base;
-@@ -165,7 +165,7 @@ void kvm_arch_hardware_enable(void *garb
+@@ -177,7 +177,7 @@ void kvm_arch_hardware_enable(void *garb
slot = ia64_itr_entry(0x3, KVM_VMM_BASE, pte, KVM_VMM_SHIFT);
local_irq_restore(saved_psr);
if (slot < 0)
@@ -63,7 +63,7 @@
spin_lock(&vp_lock);
status = ia64_pal_vp_init_env(kvm_vsa_base ?
-@@ -173,7 +173,7 @@ void kvm_arch_hardware_enable(void *garb
+@@ -185,7 +185,7 @@ void kvm_arch_hardware_enable(void *garb
__pa(kvm_vm_buffer), KVM_VM_BUFFER_BASE, &tmp_base);
if (status != 0) {
printk(KERN_WARNING"kvm: Failed to Enable VT Support!!!!\n");
@@ -72,7 +72,7 @@
}
if (!kvm_vsa_base) {
-@@ -182,6 +182,8 @@ void kvm_arch_hardware_enable(void *garb
+@@ -194,6 +194,8 @@ void kvm_arch_hardware_enable(void *garb
}
spin_unlock(&vp_lock);
ia64_ptr_entry(0x3, slot);
@@ -81,11 +81,11 @@
}
void kvm_arch_hardware_disable(void *garbage)
-Index: kvm-83/kernel/x86/svm.c
+Index: kvm-88/kvm/kernel/x86/svm.c
===================================================================
---- kvm-83.orig/kernel/x86/svm.c
-+++ kvm-83/kernel/x86/svm.c
-@@ -303,7 +303,7 @@ static void svm_hardware_disable(void *g
+--- kvm-88.orig/kvm/kernel/x86/svm.c
++++ kvm-88/kvm/kernel/x86/svm.c
+@@ -327,7 +327,7 @@ static void svm_hardware_disable(void *g
cpu_svm_disable();
}
@@ -94,7 +94,7 @@
{
struct svm_cpu_data *svm_data;
-@@ -312,16 +312,20 @@ static void svm_hardware_enable(void *ga
+@@ -336,16 +336,20 @@ static void svm_hardware_enable(void *ga
struct kvm_desc_struct *gdt;
int me = raw_smp_processor_id();
@@ -117,7 +117,7 @@
}
svm_data->asid_generation = 1;
-@@ -332,11 +336,12 @@ static void svm_hardware_enable(void *ga
+@@ -356,11 +360,12 @@ static void svm_hardware_enable(void *ga
gdt = (struct kvm_desc_struct *)gdt_descr.address;
svm_data->tss_desc = (struct kvm_ldttss_desc *)(gdt + GDT_ENTRY_TSS);
@@ -131,11 +131,11 @@
}
static void svm_cpu_uninit(int cpu)
-Index: kvm-83/kernel/x86/vmx.c
+Index: kvm-88/kvm/kernel/x86/vmx.c
===================================================================
---- kvm-83.orig/kernel/x86/vmx.c
-+++ kvm-83/kernel/x86/vmx.c
-@@ -1099,12 +1099,15 @@ static __init int vmx_disabled_by_bios(v
+--- kvm-88.orig/kvm/kernel/x86/vmx.c
++++ kvm-88/kvm/kernel/x86/vmx.c
+@@ -1170,12 +1170,15 @@ static __init int vmx_disabled_by_bios(v
/* locked but not enabled */
}
@@ -152,7 +152,7 @@
INIT_LIST_HEAD(&per_cpu(vcpus_on_cpu, cpu));
rdmsrl(MSR_IA32_FEATURE_CONTROL, old);
if ((old & (FEATURE_CONTROL_LOCKED |
-@@ -1119,6 +1122,8 @@ static void hardware_enable(void *garbag
+@@ -1190,6 +1193,8 @@ static void hardware_enable(void *garbag
asm volatile (ASM_VMX_VMXON_RAX
: : "a"(&phys_addr), "m"(phys_addr)
: "memory", "cc");
@@ -161,11 +161,11 @@
}
static void vmclear_local_vcpus(void)
-Index: kvm-83/kernel/x86/x86.c
+Index: kvm-88/kvm/kernel/x86/x86.c
===================================================================
---- kvm-83.orig/kernel/x86/x86.c
-+++ kvm-83/kernel/x86/x86.c
-@@ -4158,9 +4158,9 @@ int kvm_arch_vcpu_reset(struct kvm_vcpu
+--- kvm-88.orig/kvm/kernel/x86/x86.c
++++ kvm-88/kvm/kernel/x86/x86.c
+@@ -4659,9 +4659,9 @@ int kvm_arch_vcpu_reset(struct kvm_vcpu
return kvm_x86_ops->vcpu_reset(vcpu);
}
@@ -177,10 +177,10 @@
}
void kvm_arch_hardware_disable(void *garbage)
-Index: kvm-83/kernel/include/asm-x86/kvm_host.h
+Index: kvm-88/kvm/kernel/include/asm-x86/kvm_host.h
===================================================================
---- kvm-83.orig/kernel/include/asm-x86/kvm_host.h
-+++ kvm-83/kernel/include/asm-x86/kvm_host.h
+--- kvm-88.orig/kvm/kernel/include/asm-x86/kvm_host.h
++++ kvm-88/kvm/kernel/include/asm-x86/kvm_host.h
@@ -504,7 +504,7 @@ struct descriptor_table {
struct kvm_x86_ops {
int (*cpu_has_kvm_support)(void); /* __init */
@@ -190,11 +190,11 @@
void (*hardware_disable)(void *dummy);
void (*check_processor_compatibility)(void *rtn);
int (*hardware_setup)(void); /* __init */
-Index: kvm-83/kernel/include/linux/kvm_host.h
+Index: kvm-88/kvm/kernel/include/linux/kvm_host.h
===================================================================
---- kvm-83.orig/kernel/include/linux/kvm_host.h
-+++ kvm-83/kernel/include/linux/kvm_host.h
-@@ -316,7 +316,7 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu
+--- kvm-88.orig/kvm/kernel/include/linux/kvm_host.h
++++ kvm-88/kvm/kernel/include/linux/kvm_host.h
+@@ -360,7 +360,7 @@ int kvm_arch_vcpu_setup(struct kvm_vcpu
void kvm_arch_vcpu_destroy(struct kvm_vcpu *vcpu);
int kvm_arch_vcpu_reset(struct kvm_vcpu *vcpu);
@@ -203,11 +203,11 @@
void kvm_arch_hardware_disable(void *garbage);
int kvm_arch_hardware_setup(void);
void kvm_arch_hardware_unsetup(void);
-Index: kvm-83/kernel/x86/kvm_main.c
+Index: kvm-88/kvm/kernel/x86/kvm_main.c
===================================================================
---- kvm-83.orig/kernel/x86/kvm_main.c
-+++ kvm-83/kernel/x86/kvm_main.c
-@@ -112,6 +112,8 @@ DEFINE_SPINLOCK(kvm_lock);
+--- kvm-88.orig/kvm/kernel/x86/kvm_main.c
++++ kvm-88/kvm/kernel/x86/kvm_main.c
+@@ -116,6 +116,8 @@ DEFINE_SPINLOCK(kvm_lock);
LIST_HEAD(vm_list);
static cpumask_var_t cpus_hardware_enabled;
@@ -216,7 +216,7 @@
struct kmem_cache *kvm_vcpu_cache;
EXPORT_SYMBOL_GPL(kvm_vcpu_cache);
-@@ -122,6 +124,8 @@ struct dentry *kvm_debugfs_dir;
+@@ -126,6 +128,8 @@ struct dentry *kvm_debugfs_dir;
static long kvm_vcpu_ioctl(struct file *file, unsigned int ioctl,
unsigned long arg);
@@ -225,7 +225,7 @@
static bool kvm_rebooting;
-@@ -873,13 +877,19 @@ static const struct mmu_notifier_ops kvm
+@@ -978,13 +982,19 @@ static const struct mmu_notifier_ops kvm
static struct kvm *kvm_create_vm(void)
{
@@ -244,9 +244,9 @@
+ goto out_err;
+ }
#ifdef CONFIG_HAVE_KVM_IRQCHIP
+ INIT_LIST_HEAD(&kvm->irq_routing);
INIT_HLIST_HEAD(&kvm->mask_notifier_list);
- #endif
-@@ -887,8 +897,8 @@ static struct kvm *kvm_create_vm(void)
+@@ -993,8 +1003,8 @@ static struct kvm *kvm_create_vm(void)
#ifdef KVM_COALESCED_MMIO_PAGE_OFFSET
page = alloc_page(GFP_KERNEL | __GFP_ZERO);
if (!page) {
@@ -257,7 +257,7 @@
}
kvm->coalesced_mmio_ring =
(struct kvm_coalesced_mmio_ring *)page_address(page);
-@@ -896,15 +906,13 @@ static struct kvm *kvm_create_vm(void)
+@@ -1002,15 +1012,13 @@ static struct kvm *kvm_create_vm(void)
#if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER)
{
@@ -276,7 +276,7 @@
}
}
#endif
-@@ -923,8 +931,12 @@ mmget(&kvm->mm->mm_count);
+@@ -1032,8 +1040,12 @@ mmget(&kvm->mm->mm_count);
#ifdef KVM_COALESCED_MMIO_PAGE_OFFSET
kvm_coalesced_mmio_init(kvm);
#endif
@@ -290,15 +290,15 @@
}
/*
-@@ -974,6 +986,7 @@ static void kvm_destroy_vm(struct kvm *k
- mmu_notifier_unregister(&kvm->mmu_notifier, kvm->mm);
+@@ -1092,6 +1104,7 @@ static void kvm_destroy_vm(struct kvm *k
+ kvm_arch_flush_shadow(kvm);
#endif
kvm_arch_destroy_vm(kvm);
+ hardware_disable_all();
mmdrop(mm);
}
-@@ -2112,14 +2125,40 @@ static struct miscdevice kvm_dev = {
+@@ -2459,14 +2472,40 @@ static struct miscdevice kvm_dev = {
&kvm_chardev_ops,
};
@@ -341,7 +341,7 @@
}
static void hardware_disable(void *junk)
-@@ -2132,6 +2171,18 @@ static void hardware_disable(void *junk)
+@@ -2479,6 +2518,18 @@ static void hardware_disable(void *junk)
kvm_arch_hardware_disable(NULL);
}
@@ -360,7 +360,7 @@
static int kvm_cpu_hotplug(struct notifier_block *notifier, unsigned long val,
void *v)
{
-@@ -2382,7 +2433,6 @@ int kvm_init(void *opaque, unsigned int
+@@ -2743,7 +2794,6 @@ int kvm_init(void *opaque, unsigned int
goto out_free_1;
}
@@ -368,7 +368,7 @@
r = register_cpu_notifier(&kvm_cpu_notifier);
if (r)
goto out_free_2;
-@@ -2440,7 +2490,6 @@ out_free_3:
+@@ -2799,7 +2849,6 @@ out_free_3:
unregister_reboot_notifier(&kvm_reboot_notifier);
unregister_cpu_notifier(&kvm_cpu_notifier);
out_free_2:
@@ -376,11 +376,11 @@
out_free_1:
kvm_arch_hardware_unsetup();
out_free_0a:
-Index: kvm-83/kernel/ia64/kvm_main.c
+Index: kvm-88/kvm/kernel/ia64/kvm_main.c
===================================================================
---- kvm-83.orig/kernel/ia64/kvm_main.c
-+++ kvm-83/kernel/ia64/kvm_main.c
-@@ -112,6 +112,8 @@ DEFINE_SPINLOCK(kvm_lock);
+--- kvm-88.orig/kvm/kernel/ia64/kvm_main.c
++++ kvm-88/kvm/kernel/ia64/kvm_main.c
+@@ -116,6 +116,8 @@ DEFINE_SPINLOCK(kvm_lock);
LIST_HEAD(vm_list);
static cpumask_var_t cpus_hardware_enabled;
@@ -389,7 +389,7 @@
struct kmem_cache *kvm_vcpu_cache;
EXPORT_SYMBOL_GPL(kvm_vcpu_cache);
-@@ -122,6 +124,8 @@ struct dentry *kvm_debugfs_dir;
+@@ -126,6 +128,8 @@ struct dentry *kvm_debugfs_dir;
static long kvm_vcpu_ioctl(struct file *file, unsigned int ioctl,
unsigned long arg);
@@ -398,7 +398,7 @@
static bool kvm_rebooting;
-@@ -873,13 +877,19 @@ static const struct mmu_notifier_ops kvm
+@@ -978,13 +982,19 @@ static const struct mmu_notifier_ops kvm
static struct kvm *kvm_create_vm(void)
{
@@ -417,9 +417,9 @@
+ goto out_err;
+ }
#ifdef CONFIG_HAVE_KVM_IRQCHIP
+ INIT_LIST_HEAD(&kvm->irq_routing);
INIT_HLIST_HEAD(&kvm->mask_notifier_list);
- #endif
-@@ -887,8 +897,8 @@ static struct kvm *kvm_create_vm(void)
+@@ -993,8 +1003,8 @@ static struct kvm *kvm_create_vm(void)
#ifdef KVM_COALESCED_MMIO_PAGE_OFFSET
page = alloc_page(GFP_KERNEL | __GFP_ZERO);
if (!page) {
@@ -430,7 +430,7 @@
}
kvm->coalesced_mmio_ring =
(struct kvm_coalesced_mmio_ring *)page_address(page);
-@@ -896,15 +906,13 @@ static struct kvm *kvm_create_vm(void)
+@@ -1002,15 +1012,13 @@ static struct kvm *kvm_create_vm(void)
#if defined(CONFIG_MMU_NOTIFIER) && defined(KVM_ARCH_WANT_MMU_NOTIFIER)
{
@@ -449,7 +449,7 @@
}
}
#endif
-@@ -923,8 +931,12 @@ static struct kvm *kvm_create_vm(void)
+@@ -1032,8 +1040,12 @@ mmget(&kvm->mm->mm_count);
#ifdef KVM_COALESCED_MMIO_PAGE_OFFSET
kvm_coalesced_mmio_init(kvm);
#endif
@@ -463,15 +463,15 @@
}
/*
-@@ -974,6 +986,7 @@ static void kvm_destroy_vm(struct kvm *k
- mmu_notifier_unregister(&kvm->mmu_notifier, kvm->mm);
+@@ -1092,6 +1104,7 @@ static void kvm_destroy_vm(struct kvm *k
+ kvm_arch_flush_shadow(kvm);
#endif
kvm_arch_destroy_vm(kvm);
+ hardware_disable_all();
mmdrop(mm);
}
-@@ -2112,14 +2125,40 @@ static struct miscdevice kvm_dev = {
+@@ -2459,14 +2472,40 @@ static struct miscdevice kvm_dev = {
&kvm_chardev_ops,
};
@@ -514,7 +514,7 @@
}
static void hardware_disable(void *junk)
-@@ -2132,6 +2171,18 @@ static void hardware_disable(void *junk)
+@@ -2479,6 +2518,18 @@ static void hardware_disable(void *junk)
kvm_arch_hardware_disable(NULL);
}
@@ -533,7 +533,7 @@
static int kvm_cpu_hotplug(struct notifier_block *notifier, unsigned long val,
void *v)
{
-@@ -2379,7 +2430,6 @@ int kvm_init(void *opaque, unsigned int
+@@ -2743,7 +2794,6 @@ int kvm_init(void *opaque, unsigned int
goto out_free_1;
}
@@ -541,7 +541,7 @@
r = register_cpu_notifier(&kvm_cpu_notifier);
if (r)
goto out_free_2;
-@@ -2430,7 +2480,6 @@ out_free_3:
+@@ -2799,7 +2849,6 @@ out_free_3:
unregister_reboot_notifier(&kvm_reboot_notifier);
unregister_cpu_notifier(&kvm_cpu_notifier);
out_free_2:
++++++ kvm-preXX-tracepoint-for-latest-kernel.patch ++++++
commit 181d9e8ef2bc42530ae227069f63014a287e5a4a
Author: Marcelo Tosatti
Date: Sat Jul 18 19:57:27 2009 -0300
Fix event-trace compat with 2.6.30
Fix undefined tracepoint symbols on 2.6.30 (this kernel version
lacks event trace).
Signed-off-by: Marcelo Tosatti
Index: kvm-88/kvm/kernel/external-module-compat-comm.h
===================================================================
--- kvm-88.orig/kvm/kernel/external-module-compat-comm.h
+++ kvm-88/kvm/kernel/external-module-compat-comm.h
@@ -845,7 +845,7 @@ static inline struct file *eventfd_fget(
#include
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,30)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,31)
struct tracepoint;
++++++ kvm-qemu-default-memsize.patch ++++++
--- /var/tmp/diff_new_pack.H1P7M7/_old 2009-07-31 21:13:51.000000000 +0200
+++ /var/tmp/diff_new_pack.H1P7M7/_new 2009-07-31 21:13:51.000000000 +0200
@@ -1,8 +1,8 @@
-Index: a/qemu/vl.c
+Index: kvm-88/vl.c
===================================================================
---- a/qemu/vl.c
-+++ b/qemu/vl.c
-@@ -165,7 +165,7 @@
+--- kvm-88.orig/vl.c
++++ kvm-88/vl.c
+@@ -181,7 +181,7 @@ int main(int argc, char **argv)
# define LOG_IOPORT(...) do { } while (0)
#endif
++++++ kvm-qemu-no-fallback-if-open-kvm-fails.patch ++++++
--- /var/tmp/diff_new_pack.H1P7M7/_old 2009-07-31 21:13:51.000000000 +0200
+++ /var/tmp/diff_new_pack.H1P7M7/_new 2009-07-31 21:13:51.000000000 +0200
@@ -1,8 +1,8 @@
-Index: a/qemu/vl.c
+Index: kvm-88/vl.c
===================================================================
---- a/qemu/vl.c
-+++ b/qemu/vl.c
-@@ -5658,7 +5658,8 @@ int main(int argc, char **argv, char **e
+--- kvm-88.orig/vl.c
++++ kvm-88/vl.c
+@@ -5951,7 +5951,8 @@ int main(int argc, char **argv, char **e
#ifdef USE_KVM
if (kvm_enabled()) {
if (kvm_qemu_init() < 0) {
++++++ qemu-datadir.diff ++++++
--- /var/tmp/diff_new_pack.H1P7M7/_old 2009-07-31 21:13:51.000000000 +0200
+++ /var/tmp/diff_new_pack.H1P7M7/_new 2009-07-31 21:13:51.000000000 +0200
@@ -1,8 +1,8 @@
-Index: kvm-75/qemu/configure
+Index: kvm-88/configure
===================================================================
---- kvm-75.orig/qemu/configure
-+++ kvm-75/qemu/configure
-@@ -952,7 +952,7 @@ else
+--- kvm-88.orig/configure
++++ kvm-88/configure
+@@ -1508,7 +1508,7 @@ else
prefix="/usr/local"
fi
mansuffix="/share/man"
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org