diff --git a/32on64-extra-mem.patch b/32on64-extra-mem.patch index da8f123..43d6515 100644 --- a/32on64-extra-mem.patch +++ b/32on64-extra-mem.patch @@ -2,7 +2,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py +++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -2863,7 +2863,7 @@ class XendDomainInfo: +@@ -2883,7 +2883,7 @@ class XendDomainInfo: self.guest_bitsize = self.image.getBitSize() # Make sure there's enough RAM available for the domain diff --git a/bdrv_open2_flags_2.patch b/bdrv_open2_flags_2.patch index 9f09ffd..ae9cf67 100644 --- a/bdrv_open2_flags_2.patch +++ b/bdrv_open2_flags_2.patch @@ -1,7 +1,5 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/xen_blktap.c -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c +--- a/tools/ioemu-remote/hw/xen_blktap.c ++++ b/tools/ioemu-remote/hw/xen_blktap.c @@ -225,6 +225,7 @@ static int open_disk(struct td_state *s, BlockDriver* drv; char* devname; @@ -19,11 +17,9 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c fprintf(stderr, "Could not open image file %s\n", path); return -ENOMEM; } -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -@@ -133,7 +133,8 @@ static void insert_media(void *opaque) +--- a/tools/ioemu-remote/xenstore.c ++++ b/tools/ioemu-remote/xenstore.c +@@ -134,7 +134,8 @@ static void insert_media(void *opaque) else format = &bdrv_raw; @@ -33,7 +29,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c #ifdef CONFIG_STUBDOM { char *buf, *backend, *params_path, *params; -@@ -397,9 +398,9 @@ void xenstore_parse_domain_config(int hv +@@ -398,9 +399,9 @@ void xenstore_parse_domain_config(int hv { char **e_danger = NULL; char *buf = NULL; @@ -45,7 +41,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c unsigned int len, num, hd_index, pci_devid = 0; BlockDriverState *bs; BlockDriver *format; -@@ -461,7 +462,8 @@ void xenstore_parse_domain_config(int hv +@@ -462,7 +463,8 @@ void xenstore_parse_domain_config(int hv } for (i = 0; i < num; i++) { @@ -55,8 +51,8 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c /* read the backend path */ xenstore_get_backend_path(&bpath, "vbd", danger_path, hvm_domid, e_danger[i]); if (bpath == NULL) -@@ -560,6 +562,17 @@ void xenstore_parse_domain_config(int hv - } +@@ -548,6 +550,17 @@ void xenstore_parse_domain_config(int hv + format = &bdrv_raw; } + /* read the mode of the device */ @@ -73,7 +69,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c #if 0 /* Phantom VBDs are disabled because the use of paths * from guest-controlled areas in xenstore is unsafe. -@@ -612,7 +625,7 @@ void xenstore_parse_domain_config(int hv +@@ -615,7 +628,7 @@ void xenstore_parse_domain_config(int hv #ifdef CONFIG_STUBDOM if (pasprintf(&danger_buf, "%s/device/vbd/%s", danger_path, e_danger[i]) == -1) continue; @@ -82,7 +78,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c pstrcpy(bs->filename, sizeof(bs->filename), params); } #else -@@ -641,7 +654,7 @@ void xenstore_parse_domain_config(int hv +@@ -644,7 +657,7 @@ void xenstore_parse_domain_config(int hv } } pstrcpy(bs->filename, sizeof(bs->filename), params); diff --git a/blktap.patch b/blktap.patch index 7be792a..d35adf6 100644 --- a/blktap.patch +++ b/blktap.patch @@ -1,11 +1,9 @@ bug #239173 bug #242953 -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py -=================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -3262,7 +3262,7 @@ class XendDomainInfo: +--- a/tools/python/xen/xend/XendDomainInfo.py ++++ b/tools/python/xen/xend/XendDomainInfo.py +@@ -3282,7 +3282,7 @@ class XendDomainInfo: (fn, BOOTLOADER_LOOPBACK_DEVICE)) vbd = { @@ -14,11 +12,9 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py 'device': BOOTLOADER_LOOPBACK_DEVICE, } -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -@@ -396,9 +396,9 @@ void xenstore_parse_domain_config(int hv +--- a/tools/ioemu-remote/xenstore.c ++++ b/tools/ioemu-remote/xenstore.c +@@ -397,9 +397,9 @@ void xenstore_parse_domain_config(int hv { char **e_danger = NULL; char *buf = NULL; @@ -30,7 +26,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c unsigned int len, num, hd_index, pci_devid = 0; BlockDriverState *bs; BlockDriver *format; -@@ -438,6 +438,14 @@ void xenstore_parse_domain_config(int hv +@@ -439,6 +439,14 @@ void xenstore_parse_domain_config(int hv e_danger[i]); if (bpath == NULL) continue; @@ -45,7 +41,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c /* read the name of the device */ if (pasprintf(&buf, "%s/dev", bpath) == -1) continue; -@@ -712,6 +720,7 @@ void xenstore_parse_domain_config(int hv +@@ -715,6 +723,7 @@ void xenstore_parse_domain_config(int hv free(danger_type); free(params); free(dev); diff --git a/cdrom-removable.patch b/cdrom-removable.patch index 422d00e..1175f1c 100644 --- a/cdrom-removable.patch +++ b/cdrom-removable.patch @@ -1,7 +1,5 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py ++++ b/tools/python/xen/xend/server/HalDaemon.py @@ -0,0 +1,243 @@ +#!/usr/bin/env python +# -*- mode: python; -*- @@ -246,10 +244,8 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py + print 'Falling off end' + + -Index: xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py ++++ b/tools/python/xen/xend/server/Hald.py @@ -0,0 +1,125 @@ +#============================================================================ +# This library is free software; you can redistribute it and/or @@ -376,10 +372,8 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py + watcher.run() + time.sleep(10) + watcher.shutdown() -Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py -=================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/SrvServer.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py +--- a/tools/python/xen/xend/server/SrvServer.py ++++ b/tools/python/xen/xend/server/SrvServer.py @@ -56,6 +56,7 @@ from xen.web.SrvDir import SrvDir from SrvRoot import SrvRoot @@ -397,15 +391,22 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py def create(): root = SrvDir() -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -@@ -513,6 +513,19 @@ void xenstore_parse_domain_config(int hv - params = newparams; - format = &bdrv_raw; - } -+ /* if cdrom pyhsical put a watch on media-present */ +--- a/tools/ioemu-remote/xenstore.c ++++ b/tools/ioemu-remote/xenstore.c +@@ -18,6 +18,7 @@ + #include "exec-all.h" + #include "sysemu.h" + ++#include "console.h" + #include "hw.h" + #include "pci.h" + #include "qemu-timer.h" +@@ -548,6 +549,21 @@ void xenstore_parse_domain_config(int hv + #endif + + bs = bdrv_new(dev); ++ ++ /* if cdrom physical put a watch on media-present */ + if (bdrv_get_type_hint(bs) == BDRV_TYPE_CDROM) { + if (drv && !strcmp(drv, "phy")) { + if (pasprintf(&buf, "%s/media-present", bpath) != -1) { @@ -418,14 +419,15 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c + } + } + } - - #if 0 - /* Phantom VBDs are disabled because the use of paths -@@ -938,6 +951,50 @@ void xenstore_record_dm_state(const char ++ + /* check if it is a cdrom */ + if (danger_type && !strcmp(danger_type, "cdrom")) { + bdrv_set_type_hint(bs, BDRV_TYPE_CDROM); +@@ -938,6 +954,50 @@ void xenstore_record_dm_state(const char xenstore_record_dm("state", state); } -+void xenstore_process_media_change_event(char **vec) ++static void xenstore_process_media_change_event(char **vec) +{ + char *media_present = NULL; + unsigned int len; @@ -472,7 +474,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c void xenstore_process_event(void *opaque) { char **vec, *offset, *bpath = NULL, *buf = NULL, *drv = NULL, *image = NULL; -@@ -968,6 +1025,11 @@ void xenstore_process_event(void *opaque +@@ -968,6 +1028,11 @@ void xenstore_process_event(void *opaque xenstore_watch_callbacks[i].cb(vec[XS_WATCH_TOKEN], xenstore_watch_callbacks[i].opaque); diff --git a/disable_emulated_device.diff b/disable_emulated_device.diff index 30ca259..1870b4c 100644 --- a/disable_emulated_device.diff +++ b/disable_emulated_device.diff @@ -2,7 +2,7 @@ Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci. =================================================================== --- xen-4.0.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +++ xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c -@@ -363,6 +363,11 @@ static int __devinit platform_pci_init(s +@@ -401,6 +401,11 @@ static int __devinit platform_pci_init(s platform_mmio = mmio_addr; platform_mmiolen = mmio_len; diff --git a/hv_tools.patch b/hv_tools.patch index dd3d8c9..5ed7de0 100644 --- a/hv_tools.patch +++ b/hv_tools.patch @@ -2,28 +2,29 @@ Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/lowlevel/xc/xc.c +++ xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c -@@ -914,15 +914,15 @@ static PyObject *pyxc_hvm_build(XcObject - int i; +@@ -914,16 +914,16 @@ static PyObject *pyxc_hvm_build(XcObject #endif + int i; char *image; - int memsize, target=-1, vcpus = 1, acpi = 0, apic = 1; + int memsize, target=-1, vcpus = 1, acpi = 0, apic = 1, extid = 0; - uint64_t vcpu_avail = 1; + PyObject *vcpu_avail_handle = NULL; + uint8_t vcpu_avail[HVM_MAX_VCPUS/8]; static char *kwd_list[] = { "domid", - "memsize", "image", "target", "vcpus", - "vcpu_avail", "acpi", "apic", NULL }; -- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iis|iilii", kwd_list, +- if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iis|iiOii", kwd_list, + "memsize", "image", "target", "vcpus", + "vcpu_avail", "extid", "acpi", "apic", NULL }; -+ if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iis|iiliii", kwd_list, ++ if ( !PyArg_ParseTupleAndKeywords(args, kwds, "iis|iiOiii", kwd_list, &dom, &memsize, &image, &target, &vcpus, -- &vcpu_avail, &acpi, &apic) ) -+ &vcpu_avail, &extid, &acpi, &apic) ) +- &vcpu_avail_handle, &acpi, &apic) ) ++ &vcpu_avail_handle, &extid, &acpi, &apic) ) return NULL; - if ( target == -1 ) -@@ -950,6 +950,7 @@ static PyObject *pyxc_hvm_build(XcObject + memset(vcpu_avail, 0, sizeof(vcpu_avail)); +@@ -975,6 +975,7 @@ static PyObject *pyxc_hvm_build(XcObject va_hvm->checksum -= sum; munmap(va_map, XC_PAGE_SIZE); #endif @@ -47,7 +48,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/image.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/image.py +++ xen-4.0.0-testing/tools/python/xen/xend/image.py -@@ -841,6 +841,7 @@ class HVMImageHandler(ImageHandler): +@@ -839,6 +839,7 @@ class HVMImageHandler(ImageHandler): self.apic = int(vmConfig['platform'].get('apic', 0)) self.acpi = int(vmConfig['platform'].get('acpi', 0)) @@ -55,7 +56,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/image.py self.guest_os_type = vmConfig['platform'].get('guest_os_type') self.memory_sharing = int(vmConfig['memory_sharing']) xc.dom_set_memshr(self.vm.getDomid(), self.memory_sharing) -@@ -966,6 +967,7 @@ class HVMImageHandler(ImageHandler): +@@ -964,6 +965,7 @@ class HVMImageHandler(ImageHandler): log.debug("target = %d", mem_mb) log.debug("vcpus = %d", self.vm.getVCpuCount()) log.debug("vcpu_avail = %li", self.vm.getVCpuAvail()) @@ -63,7 +64,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/image.py log.debug("acpi = %d", self.acpi) log.debug("apic = %d", self.apic) -@@ -975,6 +977,7 @@ class HVMImageHandler(ImageHandler): +@@ -973,6 +975,7 @@ class HVMImageHandler(ImageHandler): target = mem_mb, vcpus = self.vm.getVCpuCount(), vcpu_avail = self.vm.getVCpuAvail(), diff --git a/hv_xen_extension.patch b/hv_xen_extension.patch index 248d69d..aae751a 100644 --- a/hv_xen_extension.patch +++ b/hv_xen_extension.patch @@ -1,8 +1,5 @@ -%patch -Index: xen-4.0.0-testing/xen/include/asm-x86/hvm/hvm_extensions.h -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/include/asm-x86/hvm/hvm_extensions.h ++++ b/xen/include/asm-x86/hvm/hvm_extensions.h @@ -0,0 +1,183 @@ +/**************************************************************************** + | @@ -187,17 +184,13 @@ Index: xen-4.0.0-testing/xen/include/asm-x86/hvm/hvm_extensions.h +int hyperx_initialize(struct domain *d); + +#endif -Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/Makefile -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/Makefile ++++ b/xen/arch/x86/hvm/hyperv/Makefile @@ -0,0 +1,2 @@ +obj-y += hv_intercept.o +obj-y += hv_hypercall.o -Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_errno.h -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_errno.h ++++ b/xen/arch/x86/hvm/hyperv/hv_errno.h @@ -0,0 +1,62 @@ +/**************************************************************************** + | @@ -261,10 +254,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_errno.h +#define HV_STATUS_NO_MEMORY_256PAGES 0x0103 +#define HV_STATUS_NO_MEMORY_1024PAGES 0x0104 +#endif -Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.c -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.c ++++ b/xen/arch/x86/hvm/hyperv/hv_hypercall.c @@ -0,0 +1,153 @@ +/**************************************************************************** + | @@ -419,10 +410,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.c + return; + } +} -Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.h -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.h ++++ b/xen/arch/x86/hvm/hyperv/hv_hypercall.h @@ -0,0 +1,46 @@ +/**************************************************************************** + | @@ -470,10 +459,8 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.h +#define HV_NOTIFY_LONG_SPIN_WAIT 0x0008 + +#endif /* HV_HYPERCALL_H */ -Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c ++++ b/xen/arch/x86/hvm/hyperv/hv_intercept.c @@ -0,0 +1,1009 @@ +/**************************************************************************** + | @@ -647,7 +634,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c + printk("Hyperv dom create failed\n"); + return (1); + } -+ for (i=0; i < MAX_VIRT_CPUS; i++) ++ for (i = 0; i < d->max_vcpus; i++) + { + if (d->vcpu[i] != NULL) + { @@ -723,7 +710,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c +static inline u32 +hv_get_max_vcpus_supported(void) +{ -+ return (MAX_VIRT_CPUS); ++ return HVM_MAX_VCPUS; +} + + @@ -929,7 +916,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c + ASSERT(curp != NULL); +#ifdef HV_STATS + printk("DUMP STATS\n"); -+ for (i=0; i < MAX_VIRT_CPUS; i++) ++ for (i = 0; i < d->max_vcpus; i++) + if (d->vcpu[i] != NULL) + hv_print_stats(curp, i); +#endif @@ -1484,11 +1471,9 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c + hvm_inject_exception(TRAP_gp_fault, 0, 0); + return (1); +} -Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_shim.h -=================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_shim.h -@@ -0,0 +1,285 @@ ++++ b/xen/arch/x86/hvm/hyperv/hv_shim.h +@@ -0,0 +1,286 @@ +/**************************************************************************** + | + | Copyright (c) [2007, 2008] Novell, Inc. @@ -1528,6 +1513,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_shim.h +#include +#include +#include ++#include + +#include "hv_hypercall.h" + @@ -1704,7 +1690,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_shim.h + * Each VCPU here corresponds to the vcpu in the underlying hypervisor; + * they share the same ID. + */ -+ hv_vcpu_t vcpu_state[MAX_VIRT_CPUS]; ++ hv_vcpu_t vcpu_state[HVM_MAX_VCPUS]; +} hv_partition_t; + + diff --git a/kmp_filelist b/kmp_filelist index 3ad3337..150d88d 100644 --- a/kmp_filelist +++ b/kmp_filelist @@ -1,3 +1,3 @@ %defattr (-,root,root) /lib/modules/%2-%1 -/etc/modprobe.d/xen_pvdrivers +/etc/modprobe.d/xen_pvdrivers.conf diff --git a/magic_ioport_compat.patch b/magic_ioport_compat.patch index 69ca3be..179c6be 100644 --- a/magic_ioport_compat.patch +++ b/magic_ioport_compat.patch @@ -6,12 +6,12 @@ Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci. =================================================================== --- xen-4.0.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +++ xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c -@@ -289,7 +289,10 @@ static int check_platform_magic(struct d +@@ -320,7 +320,10 @@ static int check_platform_magic(struct d if (magic != XEN_IOPORT_MAGIC_VAL) { - dev_err(dev, "invalid magic %#x", magic); -- return -ENODEV; -+ /* + err = "unrecognised magic value"; +- goto no_dev; ++ /* + * Older backend; just return 0 to be compatible. + */ + return 0; diff --git a/pvdrv-import-shared-info.patch b/pvdrv-import-shared-info.patch index dfded56..b172f2c 100644 --- a/pvdrv-import-shared-info.patch +++ b/pvdrv-import-shared-info.patch @@ -1,5 +1,7 @@ ---- 2009-11-09.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c 2008-10-14 19:44:11.000000000 +0200 -+++ 2009-11-09/unmodified_drivers/linux-2.6/platform-pci/evtchn.c 2009-11-24 17:38:08.000000000 +0100 +Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c +=================================================================== +--- xen-4.0.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c ++++ xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c @@ -40,7 +40,9 @@ #include #endif @@ -10,9 +12,11 @@ #define is_valid_evtchn(x) ((x) != 0) #define evtchn_from_irq(x) (irq_evtchn[irq].evtchn) ---- 2009-11-09.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c 2009-02-24 20:09:53.000000000 +0100 -+++ 2009-11-09/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c 2009-11-24 17:45:02.000000000 +0100 -@@ -70,7 +70,6 @@ static uint64_t callback_via; +Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +=================================================================== +--- xen-4.0.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +@@ -77,7 +77,6 @@ static uint64_t callback_via; static int __devinit init_xen_info(void) { struct xen_add_to_physmap xatp; @@ -20,7 +24,7 @@ #ifdef __ia64__ xencomm_initialize(); -@@ -78,6 +77,7 @@ static int __devinit init_xen_info(void) +@@ -85,6 +84,7 @@ static int __devinit init_xen_info(void) setup_xen_features(); @@ -28,7 +32,7 @@ shared_info_frame = alloc_xen_mmio(PAGE_SIZE) >> PAGE_SHIFT; xatp.domid = DOMID_SELF; xatp.idx = 0; -@@ -90,6 +90,11 @@ static int __devinit init_xen_info(void) +@@ -97,6 +97,11 @@ static int __devinit init_xen_info(void) ioremap(shared_info_frame << PAGE_SHIFT, PAGE_SIZE); if (shared_info_area == NULL) panic("can't map shared info\n"); @@ -40,8 +44,10 @@ return 0; } ---- 2009-11-09.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h 2008-10-14 19:44:11.000000000 +0200 -+++ 2009-11-09/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h 2009-11-24 17:40:08.000000000 +0100 +Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h +=================================================================== +--- xen-4.0.0-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h ++++ xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h @@ -27,6 +27,11 @@ unsigned long alloc_xen_mmio(unsigned long len); void platform_pci_resume(void); diff --git a/qemu-console-retry.patch b/qemu-console-retry.patch new file mode 100644 index 0000000..9f25ae4 --- /dev/null +++ b/qemu-console-retry.patch @@ -0,0 +1,25 @@ +Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_console.c +=================================================================== +--- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/xen_console.c ++++ xen-4.0.0-testing/tools/ioemu-remote/hw/xen_console.c +@@ -182,6 +182,7 @@ static int con_init(struct XenDevice *xe + { + struct XenConsole *con = container_of(xendev, struct XenConsole, xendev); + char *type, *dom; ++ int retries = 0; + + /* setup */ + dom = xs_get_domain_path(xenstore, con->xendev.dom); +@@ -191,7 +192,11 @@ static int con_init(struct XenDevice *xe + snprintf(con->console, sizeof(con->console), "%s/device/console/%d", dom, xendev->dev); + free(dom); + +- type = xenstore_read_str(con->console, "type"); ++ while (!(type = xenstore_read_str(con->console, "type")) && retries < 5) { ++ usleep(250000); ++ retries++; ++ } ++ + if (!type || 0 != strcmp(type, "ioemu")) { + xen_be_printf(xendev, 1, "not for me (type=%s)\n", type); + if (type) diff --git a/snapshot-ioemu-delete.patch b/snapshot-ioemu-delete.patch index 34b8f62..3e3aab6 100644 --- a/snapshot-ioemu-delete.patch +++ b/snapshot-ioemu-delete.patch @@ -1,8 +1,6 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -@@ -865,6 +865,18 @@ static void xenstore_process_dm_command_ +--- a/tools/ioemu-remote/xenstore.c ++++ b/tools/ioemu-remote/xenstore.c +@@ -868,6 +868,18 @@ static void xenstore_process_dm_command_ } snapshot_name = xs_read(xsh, XBT_NULL, path, &len); @@ -21,10 +19,8 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c } else if (!strncmp(command, "continue", len)) { fprintf(logfile, "dm-command: continue after state save\n"); xen_pause_requested = 0; -Index: xen-4.0.0-testing/tools/ioemu-remote/savevm.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/savevm.c -+++ xen-4.0.0-testing/tools/ioemu-remote/savevm.c +--- a/tools/ioemu-remote/savevm.c ++++ b/tools/ioemu-remote/savevm.c @@ -1096,6 +1096,35 @@ the_end: return ret; } @@ -61,10 +57,8 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/savevm.c #ifndef CONFIG_DM void do_savevm(const char *name) -Index: xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/qemu-xen.h -+++ xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h +--- a/tools/ioemu-remote/qemu-xen.h ++++ b/tools/ioemu-remote/qemu-xen.h @@ -42,6 +42,7 @@ enum { /* xen-vl-extra.c */ diff --git a/snapshot-ioemu-save.patch b/snapshot-ioemu-save.patch index 8067a2a..5ed6a47 100644 --- a/snapshot-ioemu-save.patch +++ b/snapshot-ioemu-save.patch @@ -1,7 +1,5 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/savevm.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/savevm.c -+++ xen-4.0.0-testing/tools/ioemu-remote/savevm.c +--- a/tools/ioemu-remote/savevm.c ++++ b/tools/ioemu-remote/savevm.c @@ -28,6 +28,7 @@ #include "sysemu.h" #include "qemu-timer.h" @@ -97,10 +95,8 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/savevm.c #ifndef CONFIG_DM void do_savevm(const char *name) -Index: xen-4.0.0-testing/tools/ioemu-remote/i386-dm/helper2.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/i386-dm/helper2.c -+++ xen-4.0.0-testing/tools/ioemu-remote/i386-dm/helper2.c +--- a/tools/ioemu-remote/i386-dm/helper2.c ++++ b/tools/ioemu-remote/i386-dm/helper2.c @@ -109,6 +109,9 @@ int send_vcpu = 0; //the evtchn port for polling the notification, evtchn_port_t *ioreq_local_port; @@ -167,10 +163,8 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/i386-dm/helper2.c /* Wait to be allowed to continue */ while (xen_pause_requested) { -Index: xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/qemu-xen.h -+++ xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h +--- a/tools/ioemu-remote/qemu-xen.h ++++ b/tools/ioemu-remote/qemu-xen.h @@ -34,6 +34,15 @@ void qemu_invalidate_map_cache(void) #define mapcache_lock() ((void)0) #define mapcache_unlock() ((void)0) @@ -191,23 +185,21 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h void xenstore_process_event(void *opaque); void xenstore_record_dm(const char *subpath, const char *state); void xenstore_record_dm_state(const char *state); -+void xenstore_record_dm_error(char *errmsg); ++void xenstore_record_dm_error(const char *errmsg); void xenstore_check_new_media_present(int timeout); void xenstore_write_vncport(int vnc_display); void xenstore_read_vncpasswd(int domid, char *pwbuf, size_t pwbuflen); -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +--- a/tools/ioemu-remote/xenstore.c ++++ b/tools/ioemu-remote/xenstore.c @@ -17,6 +17,7 @@ #include "exec-all.h" #include "sysemu.h" +#include "qemu-xen.h" + #include "console.h" #include "hw.h" - #include "pci.h" -@@ -836,6 +837,7 @@ static void xenstore_process_dm_command_ +@@ -839,6 +840,7 @@ static void xenstore_process_dm_command_ { char *path = NULL, *command = NULL, *par = NULL; unsigned int len; @@ -215,7 +207,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c if (pasprintf(&path, "/local/domain/0/device-model/%u/command", domid) == -1) { -@@ -851,7 +853,18 @@ static void xenstore_process_dm_command_ +@@ -854,7 +856,18 @@ static void xenstore_process_dm_command_ if (!strncmp(command, "save", len)) { fprintf(logfile, "dm-command: pause and save state\n"); @@ -235,17 +227,17 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c } else if (!strncmp(command, "continue", len)) { fprintf(logfile, "dm-command: continue after state save\n"); xen_pause_requested = 0; -@@ -984,6 +997,13 @@ void xenstore_record_dm_state(const char +@@ -987,6 +1000,13 @@ void xenstore_record_dm_state(const char xenstore_record_dm("state", state); } -+void xenstore_record_dm_error(char *errmsg) ++void xenstore_record_dm_error(const char *errmsg) +{ + fprintf(logfile, "%s\n", errmsg); + xenstore_record_dm("error", errmsg); + xenstore_record_dm_state("error"); +} + - void xenstore_process_media_change_event(char **vec) + static void xenstore_process_media_change_event(char **vec) { char *media_present = NULL; diff --git a/snapshot-xend.patch b/snapshot-xend.patch index 031ea13..9a00f72 100644 --- a/snapshot-xend.patch +++ b/snapshot-xend.patch @@ -2,7 +2,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/image.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/image.py +++ xen-4.0.0-testing/tools/python/xen/xend/image.py -@@ -492,7 +492,7 @@ class ImageHandler: +@@ -490,7 +490,7 @@ class ImageHandler: domains.domains_lock.acquire() @@ -11,7 +11,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/image.py if self.device_model is None: return # Signal the device model to for action -@@ -529,10 +529,17 @@ class ImageHandler: +@@ -527,10 +527,17 @@ class ImageHandler: while state != ret: state = xstransact.Read("/local/domain/0/device-model/%i/state" % self.vm.getDomid()) @@ -32,7 +32,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/image.py #resotre orig state xstransact.Store("/local/domain/0/device-model/%i" -@@ -557,6 +564,10 @@ class ImageHandler: +@@ -555,6 +562,10 @@ class ImageHandler: except: pass @@ -295,7 +295,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py if dominfo: dominfo.resume() else: -@@ -329,26 +403,7 @@ def restore(xd, fd, dominfo = None, paus +@@ -329,24 +403,7 @@ def restore(xd, fd, dominfo = None, paus dominfo.completeRestore(handler.store_mfn, handler.console_mfn) @@ -314,11 +314,9 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py - - try: - dominfo.waitForDevices() # Wait for backends to set up -- except Exception, exn: -- log.exception(exn) -- -- if lock: -- XendDomain.instance().domains_lock.acquire() +- finally: +- if lock: +- XendDomain.instance().domains_lock.acquire() + wait_devs(dominfo) if not paused: diff --git a/svm-lmsl.patch b/svm-lmsl.patch index 7585d56..d0001b0 100644 --- a/svm-lmsl.patch +++ b/svm-lmsl.patch @@ -45,7 +45,7 @@ Index: xen-4.0.0-testing/xen/arch/x86/hvm/svm/svm.c #define set_segment_register(name, value) \ asm volatile ( "movw %%ax ,%%" STR(name) "" : : "a" (value) ) -@@ -840,6 +845,29 @@ static int svm_cpu_up(struct cpuinfo_x86 +@@ -847,6 +852,29 @@ static int svm_cpu_up(struct cpuinfo_x86 /* Initialize core's ASID handling. */ svm_asid_init(c); @@ -79,7 +79,7 @@ Index: xen-4.0.0-testing/xen/include/asm-x86/hvm/hvm.h =================================================================== --- xen-4.0.0-testing.orig/xen/include/asm-x86/hvm/hvm.h +++ xen-4.0.0-testing/xen/include/asm-x86/hvm/hvm.h -@@ -131,6 +131,12 @@ struct hvm_function_table { +@@ -132,6 +132,12 @@ struct hvm_function_table { extern struct hvm_function_table hvm_funcs; extern int hvm_enabled; diff --git a/vif-bridge-no-iptables.patch b/vif-bridge-no-iptables.patch new file mode 100644 index 0000000..d19c5ef --- /dev/null +++ b/vif-bridge-no-iptables.patch @@ -0,0 +1,13 @@ +Index: xen-4.0.0-testing/tools/hotplug/Linux/vif-bridge +=================================================================== +--- xen-4.0.0-testing.orig/tools/hotplug/Linux/vif-bridge ++++ xen-4.0.0-testing/tools/hotplug/Linux/vif-bridge +@@ -91,7 +91,7 @@ case "$command" in + ;; + esac + +-handle_iptable ++#handle_iptable + + log debug "Successful vif-bridge $command for $vif, bridge $bridge." + if [ "$command" == "online" ] diff --git a/xen-4.0.0-testing-src.tar.bz2 b/xen-4.0.0-testing-src.tar.bz2 index 42c0e76..29b6814 100644 --- a/xen-4.0.0-testing-src.tar.bz2 +++ b/xen-4.0.0-testing-src.tar.bz2 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e09d164603872500120d70e947b329525b920f45ce924c3661057cdff3fb97bd -size 23209042 +oid sha256:4947d275a04f0a6ce9b6c027c84281f03611ef2fb6d81f8d0175d2f7c72b7619 +size 23218651 diff --git a/xen-config.diff b/xen-config.diff index 3c187e5..0a9fa5d 100644 --- a/xen-config.diff +++ b/xen-config.diff @@ -9,8 +9,8 @@ Index: xen-4.0.0-testing/Config.mk -CONFIG_QEMU ?= $(QEMU_REMOTE) +CONFIG_QEMU ?= ioemu-remote - QEMU_TAG := xen-4.0.0-rc1 - #QEMU_TAG ?= 2621a102cd74cd6691bed30f638581639fcb141d + QEMU_TAG := xen-4.0.0-rc2 + #QEMU_TAG ?= a0066d08514ecfec34c717c7184250e95519f39c @@ -164,9 +164,9 @@ CONFIG_OCAML_XENSTORED ?= n # Optional components XENSTAT_XENTOP ?= y diff --git a/xen-domUloader.diff b/xen-domUloader.diff index c5fb14c..cd914bb 100644 --- a/xen-domUloader.diff +++ b/xen-domUloader.diff @@ -123,7 +123,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py import xen.util.xsm.xsm as security from xen.util import xsconstants from xen.util import mkdir -@@ -2320,6 +2320,10 @@ class XendDomainInfo: +@@ -2337,6 +2337,10 @@ class XendDomainInfo: deviceClass, config = self.info['devices'].get(dev_uuid) self._waitForDevice(deviceClass, config['devid']) @@ -134,7 +134,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py def _waitForDevice_destroy(self, deviceClass, devid, backpath): return self.getDeviceController(deviceClass).waitForDevice_destroy( devid, backpath) -@@ -3206,7 +3210,7 @@ class XendDomainInfo: +@@ -3226,7 +3230,7 @@ class XendDomainInfo: devtype = devinfo[0] disk = devinfo[1]['uname'] @@ -143,7 +143,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py # If this is a drbd volume, check if we need to activate it if disk.find(":") != -1: -@@ -3217,8 +3221,17 @@ class XendDomainInfo: +@@ -3237,8 +3241,17 @@ class XendDomainInfo: if state == 'Secondary': os.system('/sbin/drbdadm primary ' + diskname) @@ -163,7 +163,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py if mounted: # This is a file, not a device. pygrub can cope with a # file if it's raw, but if it's QCOW or other such formats -@@ -3234,7 +3247,8 @@ class XendDomainInfo: +@@ -3254,7 +3267,8 @@ class XendDomainInfo: from xen.xend import XendDomain dom0 = XendDomain.instance().privilegedDomain() @@ -173,7 +173,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py fn = BOOTLOADER_LOOPBACK_DEVICE try: -@@ -3244,8 +3258,10 @@ class XendDomainInfo: +@@ -3264,8 +3278,10 @@ class XendDomainInfo: if mounted: log.info("Unmounting %s from %s." % (fn, BOOTLOADER_LOOPBACK_DEVICE)) diff --git a/xen-hvm-default-bridge.diff b/xen-hvm-default-bridge.diff index bcb0660..e659238 100644 --- a/xen-hvm-default-bridge.diff +++ b/xen-hvm-default-bridge.diff @@ -17,7 +17,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/net.c =================================================================== --- xen-4.0.0-testing.orig/tools/ioemu-remote/net.c +++ xen-4.0.0-testing/tools/ioemu-remote/net.c -@@ -1759,9 +1759,10 @@ int net_client_init(const char *device, +@@ -1759,9 +1759,10 @@ int net_client_init(const char *device, } if (get_param_value(script_arg, sizeof(script_arg), "scriptarg", p) == 0 && get_param_value(script_arg, sizeof(script_arg), "bridge", p) == 0) { /* deprecated; for xend compatibility */ @@ -34,7 +34,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/image.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/image.py +++ xen-4.0.0-testing/tools/python/xen/xend/image.py -@@ -912,11 +912,13 @@ class HVMImageHandler(ImageHandler): +@@ -910,11 +910,13 @@ class HVMImageHandler(ImageHandler): mac = devinfo.get('mac') if mac is None: raise VmError("MAC address not specified or generated.") diff --git a/xen-hvm-default-pae.diff b/xen-hvm-default-pae.diff index 804e407..5512009 100644 --- a/xen-hvm-default-pae.diff +++ b/xen-hvm-default-pae.diff @@ -4,7 +4,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/image.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/image.py +++ xen-4.0.0-testing/tools/python/xen/xend/image.py -@@ -1030,7 +1030,7 @@ class X86_HVM_ImageHandler(HVMImageHandl +@@ -1028,7 +1028,7 @@ class X86_HVM_ImageHandler(HVMImageHandl def configure(self, vmConfig): HVMImageHandler.configure(self, vmConfig) diff --git a/xen-max-free-mem.diff b/xen-max-free-mem.diff index b5ca22a..9ff41a4 100644 --- a/xen-max-free-mem.diff +++ b/xen-max-free-mem.diff @@ -56,7 +56,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py + 'max_hvm_memory', 'node_to_cpu', 'node_to_memory', - 'node_to_dma32_mem' + 'node_to_dma32_mem', Index: xen-4.0.0-testing/tools/python/xen/xend/balloon.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/balloon.py @@ -98,7 +98,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py +++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -1452,6 +1452,27 @@ class XendDomainInfo: +@@ -1469,6 +1469,27 @@ class XendDomainInfo: pci_conf = self.info['devices'][dev_uuid][1] return map(pci_dict_to_bdf_str, pci_conf['devs']) diff --git a/xen-qemu-iscsi-fix.patch b/xen-qemu-iscsi-fix.patch index 256c02a..d8e41ff 100644 --- a/xen-qemu-iscsi-fix.patch +++ b/xen-qemu-iscsi-fix.patch @@ -1,8 +1,6 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -=================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -@@ -398,7 +398,7 @@ void xenstore_parse_domain_config(int hv +--- a/tools/ioemu-remote/xenstore.c ++++ b/tools/ioemu-remote/xenstore.c +@@ -399,7 +399,7 @@ void xenstore_parse_domain_config(int hv char *buf = NULL; char *fpath = NULL, *bpath = NULL, *btype = NULL, *dev = NULL, *params = NULL, *drv = NULL; @@ -11,7 +9,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c unsigned int len, num, hd_index, pci_devid = 0; BlockDriverState *bs; BlockDriver *format; -@@ -485,12 +485,7 @@ void xenstore_parse_domain_config(int hv +@@ -486,12 +486,7 @@ void xenstore_parse_domain_config(int hv continue; free(danger_type); danger_type = xs_read(xsh, XBT_NULL, danger_buf, &len); @@ -25,7 +23,7 @@ Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c /* read the name of the device */ if (pasprintf(&buf, "%s/type", bpath) == -1) continue; -@@ -498,6 +493,35 @@ void xenstore_parse_domain_config(int hv +@@ -499,6 +494,35 @@ void xenstore_parse_domain_config(int hv drv = xs_read(xsh, XBT_NULL, buf, &len); if (drv == NULL) continue; diff --git a/xen-warnings.diff b/xen-warnings.diff index cd136c8..fd779f0 100644 --- a/xen-warnings.diff +++ b/xen-warnings.diff @@ -104,7 +104,7 @@ Index: xen-4.0.0-testing/tools/xenstore/xenstored_domain.c barf_perror("Failed to read from event fd"); if (port == virq_port) -@@ -561,7 +561,7 @@ static int dom0_init(void) +@@ -561,7 +561,7 @@ static int dom0_init(void) struct domain *dom0; port = xenbus_evtchn(); @@ -178,7 +178,7 @@ Index: xen-4.0.0-testing/tools/libxl/Makefile =================================================================== --- xen-4.0.0-testing.orig/tools/libxl/Makefile +++ xen-4.0.0-testing/tools/libxl/Makefile -@@ -49,7 +49,7 @@ xl.o: $(LIBCONFIG_OUTPUT)/libconfig.so x +@@ -50,7 +50,7 @@ xl.o: $(LIBCONFIG_OUTPUT)/libconfig.so x $(CC) $(CFLAGS) -I$(LIBCONFIG_SOURCE) -c xl.c $(CLIENTS): xl.o libxenlight.so $(LIBCONFIG_OUTPUT)/libconfig.so diff --git a/xen.changes b/xen.changes index aa2f0dd..1ab1b65 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Fri Jan 29 09:22:46 MST 2010 - carnold@novell.com + +- bnc#573376 - OS reboot while create DomU with Windows CD + +------------------------------------------------------------------- +Wed Jan 27 11:45:27 MST 2010 - carnold@novell.com + +- bnc#573881 - /usr/lib64/xen/bin/qemu-dm is a broken link + +------------------------------------------------------------------- +Thu Jan 21 18:50:36 MST 2010 - carnold@novell.com + +- Update to changeset 20840 RC1+ for sle11-sp1 beta3. + +------------------------------------------------------------------- +Thu Jan 21 10:41:59 MST 2010 - jfehlig@novell.com + +- bnc#569581 - SuSEfirewall2 should handle rules. Disable + handle_iptable in vif-bridge script + vif-bridge-no-iptables.patch + +------------------------------------------------------------------- +Wed Jan 20 09:12:00 MST 2010 - carnold@novell.com + +- bnc#569577 - /etc/modprove.d/xen_pvdrivers, installed by + xen-kmp-default, to ../xen_pvdrivers.conf + ------------------------------------------------------------------- Wed Jan 6 16:50:16 EST 2010 - ksrinivasan@novell.com @@ -128,19 +156,10 @@ Thu Oct 8 22:44:04 MDT 2009 - jfehlig@novell.com ------------------------------------------------------------------- Mon Sep 28 16:34:19 CST 2009 - wkong@novell.com + - Add patch ioemu-bdrv-open-CACHE_WB.patch for install guest on tapdisk very very slow. -------------------------------------------------------------------- -Mon Sep 28 08:28:24 MDT 2009 - carnold@novell.com - -- bnc#542525 - VUL-1: xen pygrub vulnerability - 20099-pygrub-security.patch - 20107-pygrub-security.patch - 20146-pygrub-security.patch - 20174-pygrub-security.patch - 20201-pygrub-security.patch - ------------------------------------------------------------------- Fri Sep 25 15:08:12 MDT 2009 - jfehlig@novell.com @@ -165,25 +184,36 @@ Tue Sep 15 09:32:59 MDT 2009 - jfehlig@novell.com 20125-xc-parse-tuple-fix.patch ------------------------------------------------------------------- -Mon Aug 24 10:31:36 MDT 2009 - carnold@novell.com +Wed Sep 2 10:12:18 MDT 2009 - carnold@novell.com -- bnc#491081 - Xen time goes backwards x3950M2 - Patch for this bug plus additional upstream patches from Jan. - 19614-x86-emul-lldt-ltr.patch - 20026-ept-rwx-default.patch - 20031-x86-pmode-load-seg-retry.patch - 20035-x86-load-sreg-adjust.patch - 20059-vmx-nmi-handling.patch - 20077-x86-runstate-cswitch-out.patch - 20078-x86_64-branch-emulation.patch - 20101-hvm-no-compat-virt-start.patch +- bnc#536176 - Xen panic when using iommu after updating hypervisor + 19380-vtd-feature-check.patch + +------------------------------------------------------------------- +Fri Aug 28 09:54:08 MDT 2009 - jfehlig@novell.com + +- bnc#530959 - virsh autostart doesn't work + Fixing this libvirt bug also required fixing xend's op_pincpu + method with upstream c/s 19580 + 19580-xend-pincpu.patch + +------------------------------------------------------------------- +Fri Aug 28 08:05:17 MDT 2009 - jbeulich@novell.com + +- bnc#534146 - Xen: Fix SRAT check for discontig memory + 20120-x86-srat-check-discontig.patch + +------------------------------------------------------------------- +Mon Aug 24 07:59:14 MDT 2009 - carnold@novell.com + +- bnc#491081 - Xen time goes backwards x3950M2 20112-x86-dom0-boot-run-timers.patch ------------------------------------------------------------------- -Fri Aug 14 13:00:48 MDT 2009 - carnold@novell.com +Tue Aug 11 01:08:51 CEST 2009 - ro@suse.de -- Modify the mkbuildtree script so the KMPs will build. - mkbuildtree.patch +- disable module build for ec2 correctly to fix build + (at the suse_kernel_module_package macro) ------------------------------------------------------------------- Mon Aug 10 16:21:00 EDT 2009 - ksrinivasan@novell.com @@ -192,112 +222,298 @@ Mon Aug 10 16:21:00 EDT 2009 - ksrinivasan@novell.com hv_win7_eoi_bug.patch ------------------------------------------------------------------- -Fri Aug 7 10:43:32 MDT 2009 - jfehlig@novell.com +Mon Aug 3 11:53:37 MDT 2009 - jfehlig@novell.com - bnc#524180 - xend memory leak resulting in long garbage collector - runs. Bug applies to xen 3.4.1 as well. + runs 20013-xend-memleak.patch ------------------------------------------------------------------- -Thu Aug 6 10:10:43 MDT 2009 - carnold@novell.com +Fri Jul 31 13:22:09 MDT 2009 - carnold@novell.com -- Update to Xen 3.4.1 FCS c/s 19718. +- Upstream bugfixes from Jan. + 19896-32on64-arg-xlat.patch + 19960-show-page-walk.patch + 19945-pae-xen-l2-entries.patch + 19953-x86-fsgs-base.patch + 19931-gnttblop-preempt.patch + 19885-kexec-gdt-switch.patch + 19894-shadow-resync-fastpath-race.patch +- hvperv shim patches no longer require being applied conditionally ------------------------------------------------------------------- -Tue Aug 4 15:48:59 MDT 2009 - carnold@novell.com +Wed Jul 29 08:47:50 MDT 2009 - jfehlig@novell.com -- Rename xen_loop to xen_loop.conf to conform with naming rules. +- bnc#520234 - npiv does not work with XEN in SLE11 + Update block-npiv +- bnc#496033 - Support for creating NPIV ports without starting vm + block-npiv-common.sh + block-npiv-vport + Update block-npiv +- bnc#500043 - Fix access to NPIV disk from HVM vm + Update xen-qemu-iscsi-fix.patch ------------------------------------------------------------------- -Tue Jul 28 14:07:42 MDT 2009 - carnold@novell.com +Wed Jul 15 11:52:31 MDT 2009 - carnold@novell.com -- Update to Xen 3.4.1 RC10 c/s 19711. +- Don't build the KMPs for the ec2 kernel. ------------------------------------------------------------------- -Tue Jun 23 11:09:29 MDT 2009 - carnold@novell.com +Thu Jul 2 12:45:32 MDT 2009 - jfehlig@novell.com -- Update to Xen 3.4.1 RC4 c/s 19664. +- Upstream fixes from Jan Beulich + 19606-hvm-x2apic-cpuid.patch + 19734-vtd-gcmd-submit.patch + 19752-vtd-srtp-sirtp-flush.patch + 19753-vtd-reg-write-lock.patch + 19764-hvm-domain-lock-leak.patch + 19765-hvm-post-restore-vcpu-state.patch + 19767-hvm-port80-inhibit.patch + 19768-x86-dom0-stack-dump.patch + 19770-x86-amd-s3-resume.patch + 19801-x86-p2m-2mb-hap-only.patch + 19815-vtd-kill-correct-timer.patch +- Patch from Jan Beulich to aid in debugging bnc#509911 + gnttblop-preempt.patch ------------------------------------------------------------------- -Tue Jun 16 09:28:51 MDT 2009 - carnold@novell.com +Tue Jun 23 15:32:14 CST 2009 - wkong@novell.com -- Update to Xen 3.4.1 RC3 c/s 19657. - -------------------------------------------------------------------- -Thu Jun 11 14:17:22 MDT 2009 - carnold@novell.com - -- Update to Xen 3.4.1 RC2 c/s 19648. +- bnc#515220 - qemu-img-xen snapshot Segmentation fault + qemu-img-snapshot.patch update ------------------------------------------------------------------- Tue Jun 9 13:52:07 CST 2009 - wkong@novell.com + - bnc#504491 - drop write data when set read only disk in xen config bdrv_open2_fix_flags.patch bdrv_open2_flags_2.patch ------------------------------------------------------------------- -Mon May 18 15:03:29 MDT 2009 - carnold@novell.com +Fri Jun 5 13:19:04 MDT 2009 - carnold@novell.com -- Update to Xen 3.4.0 FCS c/s 19607 +- Upstream fixes from Jan Beulich. + 19474-32on64-S3.patch + 19490-log-dirty.patch + 19492-sched-timer-non-idle.patch + 19493-hvm-io-intercept-count.patch + 19505-x86_64-clear-cr1.patch + 19519-domctl-deadlock.patch + 19523-32on64-restore-p2m.patch + 19555-ept-live-migration.patch + 19557-amd-iommu-ioapic-remap.patch + 19560-x86-flush-tlb-empty-mask.patch + 19571-x86-numa-shift.patch + 19578-hvm-load-ldt-first.patch + 19592-vmx-exit-reason-perfc-size.patch + 19595-hvm-set-callback-irq-level.patch + 19597-x86-ioport-quirks-BL2xx.patch + 19602-vtd-multi-ioapic-remap.patch + 19631-x86-frametable-map.patch + 19653-hvm-vcpuid-range-checks.patch ------------------------------------------------------------------- -Mon May 17 17:15:57 CST 2009 - wkong@novell.com +Wed Jun 05 10:35:18 MDT 2009 - jsong@novell.com + +- bnc#382112 - Caps lock not being passed to vm correctly. + capslock_enable.patch + +------------------------------------------------------------------- +Wed May 27 10:35:18 MDT 2009 - jfehlig@novell.com + +- bnc#506833 - Use pidof in xend and xendomains init scripts + +------------------------------------------------------------------- +Wed May 27 09:39:25 MDT 2009 - jsong@novell.com +- bnc#484778 - XEN: PXE boot of FV domU using non-Realtek NIC fails + enable_more_nic_pxe.patch + +------------------------------------------------------------------- +Wed May 27 09:38:40 MDT 2009 - jsong@novell.com +cross-migrate.patch +- bnc#390961 - cross-migration of a VM causes it to become + unresponsive (remains paused after migration) + +------------------------------------------------------------------- +Tue May 19 10:58:40 MDT 2009 - carnold@novell.com + +- Patches taken to fix the xenctx tool. The fixed version of this + tool is needed to debug bnc#502735. + 18962-xc_translate_foreign_address.patch + 18963-xenctx.patch + 19168-hvm-domctl.patch + 19169-remove-declare-bitmap.patch + 19170-libxc.patch + 19171-xenctx.patch + 19450-xc_translate_foreign_address.patch + +------------------------------------------------------------------- +Mon May 18 16:15:57 CST 2009 - wkong@novell.com -bnc#485770 - check exsit file for save and snapshot-create xm-save-check-file.patch snapshot-xend.patch + +------------------------------------------------------------------- +Mon May 18 15:06:41 CST 2009 - wkong@novell.com +-bnc#503782 - Using converted vmdk image does not work + ioemu-tapdisk-compat-QEMU_IMG.patch ------------------------------------------------------------------- -Thu May 14 12:00:09 MDT 2009 - jfehlig@novell.com +Thu May 14 10:54:03 MDT 2009 - jfehlig@novell.com - bnc#503332 - Remove useless qcow tools /usr/sbin/{qcow-create,img2qcow,qcow2raw} from xen-tools package. +------------------------------------------------------------------- +Wed May 13 09:59:50 CST 2009 - jsong@novell.com +- bnc#474738 - adding CD drive to VM guest makes it unbootable. + parse_boot_disk.patch + ------------------------------------------------------------------- Mon May 11 18:49:50 CST 2009 - wkong@novell.com - bnc#477892 - snapshot windows can't accomplish. snapshot-xend.patch ------------------------------------------------------------------- -Fri Apr 22 17:30:02 CST 2009 - wkong@novell.com +Tue Apr 28 11:57:00 MDT 2009 - carnold@novell.com -- Backport two qcow2 patches from qemu org - ioemu-6816-qcow2-revert-6404-6405-6407.patch - ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch +- bnc#495300 - L3: Xen unable to PXE boot Windows based DomU's + 18545-hvm-gpxe-rom.patch, 18548-hvm-gpxe-rom.patch ------------------------------------------------------------------- -Fri Apr 17 16:21:36 CST 2009 - wkong@novell.com -- bnc#477890 - Patch: ioemu-qcow2-enhance-snapshot-create.patch +Mon Apr 27 10:42:17 MDT 2009 - jfehlig@novell.com + +- bnc#459836 - Fix rtc_timeoffset when localtime=0 + xend-timeoffset.patch ------------------------------------------------------------------- -Thu Apr 16 12:13:10 MDT 2009 - jfehlig@novell.com +Wed Apr 22 14:50:35 MDT 2009 - carnold@novell.com -- Updated xend-domain-lock.patch - fate#303525, bnc#494892 +- bnc#497440 - xmclone.sh script incorrectly handles networking for + SLE11. ------------------------------------------------------------------- -Thu Apr 9 18:36:23 CST 2009 - wkong@novell.com - -- Remove Patch155: xend-core-dump-loc.diff -- Modify Patch110: xen-domUloader.diff, - remove symbol "bootfilter" +Fri Apr 17 16:21:36 MDT 2009 - wkong@novell.com +- bnc#477890 - VM becomes unresponsive after applying snapshot ------------------------------------------------------------------- -Wed Apr 8 17:38:12 CST 2009 - wkong@novell.com +Wed Apr 15 16:34:08 MDT 2009 - jfehlig@novell.com -- PATCH: network-nat-open-SuSEfirewall2-FORWARD.patch - fate#305354, bnc#472107 - Open SuSEfirewall2 FORWARD rule when use xen nat -- PATCH: network-nat-dhcpd-domain-info.patch - Add domain info for nat-dhcpd +- bnc#494892 - Update xend-domain-lock.patch to flock the lock + file. ------------------------------------------------------------------- -Thu Apr 2 16:52:04 MDT 2009 - jfehlig@novell.com +Wed Apr 8 16:30:14 EDT 2009 - ksrinivasan@novell.com -- Fix domUloader to handle block device names with ':' +- bnc#439639 - SVVP Test 273 System - Sleep Stress With IO" fails + +Turned off s3/s4 sleep states for HVM guests. ------------------------------------------------------------------- -Wed Mar 11 16:28:59 MDT 2009 - jfehlig@novell.com +Tue Apr 7 21:55:14 MDT 2009 - jsong@novell.com -- Use pidofproc/checkproc in xend init script +- bnc#468169 - fix domUloader to umount the mounted device mapper target in dom0 + when install a sles10 guest with disk = /dev/disk/by_path + +------------------------------------------------------------------- +Thu Apr 2 16:03:25 MDT 2009 - jfehlig@novell.com + +- bnc#488490 - domUloader can't handle block device names with ':' +- bnc#486244 - vms fail to start after reboot when using qcow2 + +------------------------------------------------------------------- +Tue Mar 31 15:00:50 MDT 2009 - carnold@novell.com + +- bnc#490835 - VTd errata on Cantiga chipset + 19230-vtd-mobile-series4-chipset.patch + +------------------------------------------------------------------- +Mon Mar 30 15:03:16 MDT 2009 - carnold@novell.com + +- bnc#482515 - Missing dependency in xen.spec + +------------------------------------------------------------------- +Thu Mar 26 09:17:00 MDT 2009 - carnold@novell.com + +- Additional upstream bug fix patches from Jan Beulich. + 19132-page-list-mfn-links.patch + 19134-fold-shadow-page-info.patch + 19135-next-shadow-mfn.patch + 19136-page-info-rearrange.patch + 19156-page-list-simplify.patch + 19161-pv-ldt-handling.patch + 19162-page-info-no-cpumask.patch + 19216-msix-fixmap.patch + 19268-page-get-owner.patch + 19293-vcpu-migration-delay.patch + 19391-vpmu-double-free.patch + 19415-vtd-dom0-s3.patch + +------------------------------------------------------------------- +Wed Mar 25 13:55:25 MDT 2009 - carnold@novell.com + +- Imported numerous upstream bug fix patches. + 19083-memory-is-conventional-fix.patch + 19097-M2P-table-1G-page-mappings.patch + 19137-lock-domain-page-list.patch + 19140-init-heap-pages-max-order.patch + 19167-recover-pat-value-s3-resume.patch + 19172-irq-to-vector.patch + 19173-pci-passthrough-fix.patch + 19176-free-irq-shutdown-fix.patch + 19190-pciif-typo-fix.patch + 19204-allow-old-images-restore.patch + 19232-xend-exception-fix.patch + 19239-ioapic-s3-suspend-fix.patch + 19240-ioapic-s3-suspend-fix.patch + 19242-xenstored-use-after-free-fix.patch + 19259-ignore-shutdown-deferrals.patch + 19266-19365-event-channel-access-fix.patch + 19275-19296-schedular-deadlock-fixes.patch + 19276-cpu-selection-allocation-fix.patch + 19302-passthrough-pt-irq-time-out.patch + 19313-hvmemul-read-msr-fix.patch + 19317-vram-tracking-fix.patch + 19335-apic-s3-resume-error-fix.patch + 19353-amd-migration-fix.patch + 19354-amd-migration-fix.patch + 19371-in-sync-L1s-writable.patch + 19372-2-on-3-shadow-mode-fix.patch + 19377-xend-vnclisten.patch + 19400-ensure-ltr-execute.patch + 19410-virt-to-maddr-fix.patch + +------------------------------------------------------------------- +Mon Mar 9 16:28:27 MDT 2009 - jfehlig@novell.com + +- bnc#483565 - Fix block-iscsi script. + Updated block-iscsi and xen-domUloader.diff + +------------------------------------------------------------------- +Mon Mar 9 16:06:03 MDT 2009 - carnold@novell.com + +- bnc#465814 - Mouse stops responding when wheel is used in Windows + VM. + mouse-wheel-roll.patch (James Song) +- bnc#470704 - save/restore of windows VM throws off the mouse + tracking. + usb-save-restore.patch (James Song) + +------------------------------------------------------------------- +Thu Mar 5 15:35:30 MST 2009 - jfehlig@novell.com + +- bnc#436629 - Use global vnc-listen setting specified in xend + configuration file. + xend-vnclisten.patch +- bnc#482623 - Fix pygrub to append user-supplied 'extra' args + to kernel args. + 19234_pygrub.patch + +------------------------------------------------------------------- +Thu Mar 5 13:52:48 MST 2009 - carnold@novell.com + +- bnc#481161 upgrade - sles10sp2 to sles11 upgrade keeps + xen-tools-ioemu ------------------------------------------------------------------- Tue Mar 3 16:11:39 CET 2009 - kukuk@suse.de diff --git a/xen.spec b/xen.spec index fc8764a..c2b322a 100644 --- a/xen.spec +++ b/xen.spec @@ -1,7 +1,7 @@ # -# spec file for package xen (Version 4.0.0_20809_01) +# spec file for package xen (Version 4.0.0_20873_01) # -# Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2009 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -22,7 +22,7 @@ Name: xen ExclusiveArch: %ix86 x86_64 %define xvers 4.0 %define xvermaj 4 -%define changeset 20809 +%define changeset 20873 %define xen_build_dir xen-4.0.0-testing %define with_kmp 1 BuildRequires: LibVNCServer-devel SDL-devel automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel ncurses-devel openssl openssl-devel pciutils-devel python-devel texinfo transfig @@ -37,9 +37,9 @@ BuildRequires: glibc-32bit glibc-devel-32bit %if %{?with_kmp}0 BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11 %endif -Version: 4.0.0_20809_01 +Version: 4.0.0_20873_01 Release: 1 -License: GPLv2 +License: GPL v2 only Group: System/Kernel AutoReqProv: on PreReq: %insserv_prereq %fillup_prereq @@ -63,7 +63,7 @@ Source16: xmclone.sh Source17: xend-relocation.sh Source18: init.xen_loop %if %{?with_kmp}0 -Source19: xen_pvdrivers +Source19: xen_pvdrivers.conf Source20: kmp_filelist %endif Source21: block-dmmd @@ -119,6 +119,8 @@ Patch354: xen-api-auth.patch Patch355: tools-gdbserver-build.diff Patch356: ioemu-vnc-resize.patch Patch357: ioemu-debuginfo.patch +Patch358: vif-bridge-no-iptables.patch +Patch359: qemu-console-retry.patch # Needs to go upstream Patch360: checkpoint-rename.patch Patch361: xm-save-check-file.patch @@ -232,7 +234,7 @@ Authors: ... %package libs -License: GPLv2+ +License: GPL v2 or later Summary: Xen Virtualization: Libraries Group: System/Kernel #Requires: xen = %{version} @@ -282,7 +284,7 @@ Authors: Ian Pratt %package tools -License: GPLv2+ +License: GPL v2 or later Summary: Xen Virtualization: Control tools for domain 0 Group: System/Kernel Requires: xen-libs = %{version} @@ -340,7 +342,7 @@ Authors: Ian Pratt %package tools-domU -License: GPLv2+ +License: GPL v2 or later Summary: Xen Virtualization: Control tools for domain U Group: System/Kernel Conflicts: xen-tools @@ -361,7 +363,7 @@ Authors: Ian Pratt %package devel -License: GPLv2+ +License: GPL v2 or later Summary: Xen Virtualization: Headers and libraries for development Group: System/Kernel Requires: xen-libs = %{version} @@ -412,7 +414,7 @@ Authors: %if %{?with_kmp}0 %package KMP -License: GPLv2+ +License: GPL v2 or later Group: System/Kernel Summary: Xen para-virtual device drivers for fully virtualized guests Conflicts: xen @@ -461,7 +463,7 @@ Xen, but is not available for release due to license restrictions. %endif %package doc-html -License: GPLv2+ +License: GPL v2 or later Summary: Xen Virtualization: HTML documentation Group: Documentation/HTML @@ -480,7 +482,7 @@ Authors: Ian Pratt %package doc-pdf -License: GPLv2+ +License: GPL v2 or later Summary: Xen Virtualization: PDF documentation Group: Documentation/Other @@ -546,6 +548,8 @@ Authors: %patch355 -p1 %patch356 -p1 %patch357 -p1 +%patch358 -p1 +%patch359 -p1 %patch360 -p1 %patch361 -p1 %patch362 -p1 @@ -669,8 +673,8 @@ rm -f $RPM_BUILD_ROOT/usr/sbin/{qcow-create,img2qcow,qcow2raw} make -C tools/misc/serial-split install \ DESTDIR=$RPM_BUILD_ROOT MANDIR=%{_mandir} %ifarch x86_64 -mkdir -p $RPM_BUILD_ROOT/usr/lib64/xen/bin/ -ln -s %{_libdir}/xen/bin/qemu-dm $RPM_BUILD_ROOT/usr/lib64/xen/bin/qemu-dm +mkdir -p $RPM_BUILD_ROOT/${_libdir}/xen/bin/ +ln -s /usr/lib/xen/bin/qemu-dm $RPM_BUILD_ROOT/%{_libdir}/xen/bin/qemu-dm %endif %if %{?with_kmp}0 # pv driver modules @@ -681,7 +685,7 @@ for flavor in %flavors_to_build; do M=$PWD/obj/$flavor done mkdir -p $RPM_BUILD_ROOT/etc/modprobe.d -install -m644 %SOURCE19 $RPM_BUILD_ROOT/etc/modprobe.d/xen_pvdrivers +install -m644 %SOURCE19 $RPM_BUILD_ROOT/etc/modprobe.d/xen_pvdrivers.conf %endif # docs make -C docs install \ @@ -927,7 +931,6 @@ rm -f $RPM_BUILD_ROOT/%{_libdir}/xen/bin/qemu-dm.debug %{_libdir}/libvhd.so /usr/bin/serial-split /usr/include/blktaplib.h -/usr/include/flask.h /usr/include/fsimage* /usr/include/xen*.h /usr/include/xen/ diff --git a/xen_pvdrivers.conf b/xen_pvdrivers.conf new file mode 100644 index 0000000..7dd8c0f --- /dev/null +++ b/xen_pvdrivers.conf @@ -0,0 +1,7 @@ +# Install the paravirtualized drivers +install libata /sbin/modprobe xen-vbd 2>&1 |:; /sbin/modprobe --ignore-install libata + +install 8139cp /sbin/modprobe xen-vnif 2>&1 |:; /sbin/modprobe --ignore-install 8139cp + +install 8139too /sbin/modprobe xen-vnif 2>&1 |:; /sbin/modprobe --ignore-install 8139too + diff --git a/xenapi-console-protocol.patch b/xenapi-console-protocol.patch index 64fa2ea..723f3f5 100644 --- a/xenapi-console-protocol.patch +++ b/xenapi-console-protocol.patch @@ -2,7 +2,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py +++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -3896,6 +3896,14 @@ class XendDomainInfo: +@@ -3916,6 +3916,14 @@ class XendDomainInfo: if not config.has_key('backend'): config['backend'] = "00000000-0000-0000-0000-000000000000" diff --git a/xend-core-dump-loc.diff b/xend-core-dump-loc.diff index 2addd92..9efbb77 100644 --- a/xend-core-dump-loc.diff +++ b/xend-core-dump-loc.diff @@ -2,7 +2,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== --- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomainInfo.py +++ xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -2291,7 +2291,7 @@ class XendDomainInfo: +@@ -2308,7 +2308,7 @@ class XendDomainInfo: # To prohibit directory traversal based_name = os.path.basename(self.info['name_label']) diff --git a/xend-domain-lock.patch b/xend-domain-lock.patch index 77c6654..93b48b8 100644 --- a/xend-domain-lock.patch +++ b/xend-domain-lock.patch @@ -83,7 +83,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py from xen.util.blkif import parse_uname import xen.util.xsm.xsm as security from xen.util import xsconstants -@@ -457,6 +458,7 @@ class XendDomainInfo: +@@ -465,6 +466,7 @@ class XendDomainInfo: if self._stateGet() in (XEN_API_VM_POWER_STATE_HALTED, XEN_API_VM_POWER_STATE_SUSPENDED, XEN_API_VM_POWER_STATE_CRASHED): try: @@ -91,7 +91,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py XendTask.log_progress(0, 30, self._constructDomain) XendTask.log_progress(31, 60, self._initDomain) -@@ -2933,6 +2935,11 @@ class XendDomainInfo: +@@ -2953,6 +2955,11 @@ class XendDomainInfo: self._stateSet(DOM_STATE_HALTED) self.domid = None # Do not push into _stateSet()! @@ -103,7 +103,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py finally: self.refresh_shutdown_lock.release() -@@ -4434,6 +4441,74 @@ class XendDomainInfo: +@@ -4454,6 +4461,74 @@ class XendDomainInfo: def has_device(self, dev_class, dev_uuid): return (dev_uuid in self.info['%s_refs' % dev_class.lower()]) @@ -243,7 +243,7 @@ Index: xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py + dominfo.acquire_running_lock() return dominfo - except: + except Exception, exn: dominfo.destroy() Index: xen-4.0.0-testing/tools/hotplug/Linux/Makefile ===================================================================