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 <aliguori@us.ibm.com> Date: Wed Jul 1 10:07:16 2009 -0500 Fix build for ESD audio Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> 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 <mtosatti@redhat.com> 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 <mtosatti@redhat.com> 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 <linux/tracepoint.h> -#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
participants (1)
-
root@Hilbert.suse.de