commit xen for openSUSE:Factory
Hello community, here is the log from the commit of package xen for openSUSE:Factory checked in at Tue Sep 28 00:07:08 CEST 2010. -------- --- xen/xen.changes 2010-07-31 00:30:18.000000000 +0200 +++ /mounts/work_src_done/STABLE/xen/xen.changes 2010-09-27 23:07:46.000000000 +0200 @@ -2 +2,88 @@ -Tue Jul 27 16:32:57 MDT 2010 - jfehlig@novell.com +Mon Sep 27 09:59:37 MDT 2010 - carnold@novell.com + +- bnc#640773 - Xen kernel crashing right after grub + 21894-intel-unmask-cpuid.patch +- Upstream patch from Jan + 22148-serial-irq-dest.patch + +------------------------------------------------------------------- +Tue Sep 23 16:45:11 CST 2010 - cyliu@novell.com + +- bnc#628719 - improve check_device_status to handle HA cases + check_device_status.patch + +------------------------------------------------------------------- +Tue Sep 23 16:43:11 CST 2010 - cyliu@novell.com + +- bnc#628719 - multi-xvdp + mutli-xvdp.patch + +------------------------------------------------------------------- +Tue Sep 20 14:11:31 CST 2010 - cyliu@novell.com + +- bnc#632956 - fix VNC altgr-insert behavior + +------------------------------------------------------------------- +Mon Sep 13 16:24:31 MDT 2010 - carnold@novell.com + +- bnc#636231 - XEN: Unable to disconnect/remove CDROM drive from VM + xend-devid-or-name.patch + +------------------------------------------------------------------- +Mon Sep 13 10:50:56 MDT 2010 - carnold@novell.com + +- Upstream patches from Jan + 22019-x86-cpuidle-online-check.patch + 22051-x86-forced-EOI.patch + 22067-x86-irq-domain.patch + 22068-vtd-irte-RH-bit.patch + 22071-ept-get-entry-lock.patch + 22084-x86-xsave-off.patch + +------------------------------------------------------------------- +Mon Sep 13 10:47:09 MDT 2010 - carnold@novell.com + +- bnc#638465 - hypervisor panic in memory handling + 22135-heap-lock.patch + +------------------------------------------------------------------- +Thu Sep 9 11:29:45 MDT 2010 - carnold@novell.com + +- Update to Xen 4.0.1. This is a bug fix release. + +------------------------------------------------------------------- +Mon Aug 16 18:35:11 MDT 2010 - carnold@novell.com + +- bnc#626262 - Populate-on-demand memory problem on xen with hvm + guest + 21971-pod-accounting.patch + +------------------------------------------------------------------- +Mon Aug 16 17:03:58 CST 2010 - cyliu@novell.com + +- bnc#584204 - xm usb-list broken + usb-list.patch + +------------------------------------------------------------------- +Thu Aug 12 06:13:44 MDT 2010 - carnold@novell.com + +- bnc#625520 - TP-L3: NMI cannot be triggered for xen kernel + 21926-x86-pv-NMI-inject.patch + +------------------------------------------------------------------- +Mon Aug 9 09:47:09 MDT 2010 - carnold@novell.com + +- bnc#613529 - TP-L3: kdump kernel hangs when crash was initiated + from xen kernel + 21886-kexec-shutdown.patch + +------------------------------------------------------------------- +Mon Aug 2 16:42:41 MDT 2010 - carnold@novell.com + +- Upstream Intel patches to improve X2APIC handling. + 21716-iommu-alloc.patch + 21717-ir-qi.patch + 21718-x2apic-logic.patch + +------------------------------------------------------------------- +Tue Jul 27 16:23:09 MDT 2010 - jfehlig@novell.com @@ -8 +95 @@ -Tue Jul 27 15:39:17 MDT 2010 - jfehlig@novell.com +Tue Jul 27 15:37:51 MDT 2010 - jfehlig@novell.com @@ -14 +101 @@ -Mon Jul 26 16:49:39 MDT 2010 - jfehlig@novell.com +Mon Jul 26 16:53:02 MDT 2010 - jfehlig@novell.com @@ -19 +106 @@ -Mon Jul 26 16:45:21 MDT 2010 - jfehlig@novell.com +Mon Jul 26 16:22:56 MDT 2010 - jfehlig@novell.com @@ -69,0 +157,2 @@ + 21933-vtd-ioapic-write.patch + 21953-msi-enable.patch calling whatdependson for head-i586 Old: ---- 21109-x86-cpu-hotplug.patch 21128-domain-save-flush.patch 21129-xen-hotplug-cleanup.patch 21150-shadow-race.patch 21151-trace-bounds-check.patch 21160-sysctl-debug-keys.patch 21189-x86-emulate-clflush.patch 21193-blktap-script.patch 21194-ioemu-subtype.patch 21223-xend-preserve-devs.patch 21225-conring-iommu.patch 21234-x86-bad-srat-clear-pxm2node.patch 21266-vmx-disabled-check.patch 21272-x86-dom0-alloc-performance.patch 21273-linux-autconf.patch 21317-xend-blkif-util-tap2.patch 21331-svm-vintr-during-nmi.patch 21333-xentrace-t_info-size.patch 21340-vtd-dom0-mapping-latency.patch 21346-x86-platform-timer-wrap.patch 21349-x86-memcpy.patch 21360-x86-mce-polling-disabled-init.patch 21372-x86-cross-cpu-wait.patch 21373-dummy-domain-io-caps.patch 21408-amd-erratum-383.patch 21435-vmx-retain-global-controls.patch 21445-x86-tsc-handling-cleanups-v2.patch 21446-iommu-graceful-generic-fail.patch 21453-shadow-avoid-remove-all-after-teardown.patch 21456-compat-hvm-addr-check.patch 21459-block-script.patch 21460-xend-timeoffset.patch 21492-x86-pirq-unbind.patch 21620-x86-signed-domain-irq.patch 21643-vmx-vpmu-pmc-offset.patch 21682-trace-buffer-range.patch 21693-memevent-64bit-only.patch 21695-trace-t_info-readonly.patch 21698-x86-pirq-range-check.patch 21699-p2m-query-for-type-change.patch 21700-32on64-vm86-gpf.patch 21705-trace-printk.patch 21706-trace-security.patch 21712-amd-osvw.patch 21744-x86-cpufreq-range-check.patch block-flags.diff block-losetup-retry.diff passthrough-hotplug-segfault.patch suse-disable-tap2-default.patch xen-4.0.0-testing-src.tar.bz2 New: ---- 21894-intel-unmask-cpuid.patch 22019-x86-cpuidle-online-check.patch 22051-x86-forced-EOI.patch 22067-x86-irq-domain.patch 22068-vtd-irte-RH-bit.patch 22071-ept-get-entry-lock.patch 22084-x86-xsave-off.patch 22135-heap-lock.patch 22148-serial-irq-dest.patch 7410-qemu-alt-gr.patch check_device_status.patch multi-xvdp.patch usb-list.patch xen-4.0.1-testing-src.tar.bz2 xend-devid-or-name.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xen.spec ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package xen (Version 4.0.0_21091_05) +# spec file for package xen (Version 4.0.1_21326_01) # # Copyright (c) 2010 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -22,8 +22,8 @@ ExclusiveArch: %ix86 x86_64 %define xvers 4.0 %define xvermaj 4 -%define changeset 21091 -%define xen_build_dir xen-4.0.0-testing +%define changeset 21326 +%define xen_build_dir xen-4.0.1-testing %define with_kmp 1 BuildRequires: LibVNCServer-devel SDL-devel acpica automake bin86 curl-devel dev86 graphviz latex2html libjpeg-devel libxml2-devel ncurses-devel openssl openssl-devel pciutils-devel python-devel texinfo transfig BuildRequires: texlive texlive-latex @@ -38,14 +38,14 @@ %if %{?with_kmp}0 BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11 %endif -Version: 4.0.0_21091_05 -Release: 9 +Version: 4.0.1_21326_01 +Release: 1 License: GPLv2+ Group: System/Kernel AutoReqProv: on PreReq: %insserv_prereq %fillup_prereq Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel) -Source0: xen-4.0.0-testing-src.tar.bz2 +Source0: xen-4.0.1-testing-src.tar.bz2 Source2: README.SuSE Source3: boot.xen Source4: boot.local.xenU @@ -75,68 +75,32 @@ Source25: xen-updown.sh # Upstream patches Patch0: 21089-x86-startup-irq-from-setup-gsi.patch -Patch1: 21109-x86-cpu-hotplug.patch -Patch2: 21128-domain-save-flush.patch -Patch3: 21129-xen-hotplug-cleanup.patch -Patch4: 21150-shadow-race.patch -Patch5: 21151-trace-bounds-check.patch -Patch6: 21160-sysctl-debug-keys.patch -Patch7: 21189-x86-emulate-clflush.patch -Patch8: 21193-blktap-script.patch -Patch9: 21194-ioemu-subtype.patch -Patch10: 21223-xend-preserve-devs.patch -Patch11: 21225-conring-iommu.patch -Patch12: 21234-x86-bad-srat-clear-pxm2node.patch -Patch13: 21235-crashkernel-advanced.patch -Patch14: 21266-vmx-disabled-check.patch -Patch15: 21271-x86-cache-flush-global.patch -Patch16: 21272-x86-dom0-alloc-performance.patch -Patch17: 21273-linux-autconf.patch -Patch18: 21301-svm-lmsl.patch -Patch19: 21304-keyhandler-alternative.patch -Patch20: 21317-xend-blkif-util-tap2.patch -Patch21: passthrough-hotplug-segfault.patch -Patch22: 21331-svm-vintr-during-nmi.patch -Patch23: 21333-xentrace-t_info-size.patch -Patch24: 21340-vtd-dom0-mapping-latency.patch -Patch25: 21346-x86-platform-timer-wrap.patch -Patch26: 21349-x86-memcpy.patch -Patch27: 21360-x86-mce-polling-disabled-init.patch -Patch28: 21372-x86-cross-cpu-wait.patch -Patch29: 21373-dummy-domain-io-caps.patch -Patch30: 21406-x86-microcode-quiet.patch -Patch31: 21408-amd-erratum-383.patch -Patch32: 21421-vts-ats-enabling.patch -Patch33: 21435-vmx-retain-global-controls.patch -Patch34: 21445-x86-tsc-handling-cleanups-v2.patch -Patch35: 21446-iommu-graceful-generic-fail.patch -Patch36: 21453-shadow-avoid-remove-all-after-teardown.patch -Patch37: 21456-compat-hvm-addr-check.patch -Patch38: 21459-block-script.patch -Patch39: 21460-xend-timeoffset.patch -Patch40: 21492-x86-pirq-unbind.patch -Patch41: 21526-x86-nehalem-cpuid-mask.patch -Patch42: 21542-amd-erratum-411.patch -Patch43: 21615-dont-save-xen-heap-pages.patch -Patch44: 21620-x86-signed-domain-irq.patch -Patch45: 21627-cpuidle-wrap.patch -Patch46: 21643-vmx-vpmu-pmc-offset.patch -Patch47: 21653-xend-mac-addr.patch -Patch48: 21678-xend-mac-fix.patch -Patch49: 21682-trace-buffer-range.patch -Patch50: 21683-vtd-kill-timer-conditional.patch -Patch51: 21693-memevent-64bit-only.patch -Patch52: 21695-trace-t_info-readonly.patch -Patch53: 21698-x86-pirq-range-check.patch -Patch54: 21699-p2m-query-for-type-change.patch -Patch55: 21700-32on64-vm86-gpf.patch -Patch56: 21705-trace-printk.patch -Patch57: 21706-trace-security.patch -Patch58: 21712-amd-osvw.patch -Patch59: 21723-get-domu-state.patch -Patch60: 21744-x86-cpufreq-range-check.patch -Patch61: 21847-pscsi.patch -Patch62: 21866-xenapi.patch +Patch1: 21235-crashkernel-advanced.patch +Patch2: 21271-x86-cache-flush-global.patch +Patch3: 21301-svm-lmsl.patch +Patch4: 21304-keyhandler-alternative.patch +Patch5: 21406-x86-microcode-quiet.patch +Patch6: 21421-vts-ats-enabling.patch +Patch7: 21526-x86-nehalem-cpuid-mask.patch +Patch8: 21542-amd-erratum-411.patch +Patch9: 21615-dont-save-xen-heap-pages.patch +Patch10: 21627-cpuidle-wrap.patch +Patch11: 21653-xend-mac-addr.patch +Patch12: 21678-xend-mac-fix.patch +Patch13: 21683-vtd-kill-timer-conditional.patch +Patch14: 21723-get-domu-state.patch +Patch15: 21847-pscsi.patch +Patch16: 21866-xenapi.patch +Patch17: 21894-intel-unmask-cpuid.patch +Patch18: 22019-x86-cpuidle-online-check.patch +Patch19: 22051-x86-forced-EOI.patch +Patch20: 22067-x86-irq-domain.patch +Patch21: 22068-vtd-irte-RH-bit.patch +Patch22: 22071-ept-get-entry-lock.patch +Patch23: 22084-x86-xsave-off.patch +Patch24: 7410-qemu-alt-gr.patch +Patch25: 22135-heap-lock.patch +Patch26: 22148-serial-irq-dest.patch # Our patches Patch300: xen-config.diff Patch301: xend-config.diff @@ -156,8 +120,6 @@ Patch315: xen-disable-libxl.diff Patch316: xen-disable-xenpaging.diff Patch317: xen-extra-fixes.patch -Patch320: block-losetup-retry.diff -Patch321: block-flags.diff Patch322: bridge-opensuse.patch Patch323: bridge-vlan.diff Patch324: bridge-bonding.diff @@ -185,7 +147,6 @@ Patch356: ioemu-vnc-resize.patch Patch357: ioemu-debuginfo.patch Patch358: vif-bridge-no-iptables.patch -Patch359: suse-disable-tap2-default.patch # Needs to go upstream Patch360: checkpoint-rename.patch Patch361: xm-save-check-file.patch @@ -200,6 +161,8 @@ Patch370: xend-sysconfig.patch Patch371: domu-usb-controller.patch Patch372: popen2-argument-fix.patch +Patch373: usb-list.patch +Patch374: xend-devid-or-name.patch # Patches for snapshot support Patch400: snapshot-ioemu-save.patch Patch401: snapshot-ioemu-restore.patch @@ -217,14 +180,16 @@ # Other bug fixes or features Patch423: bdrv_open2_fix_flags.patch Patch424: bdrv_open2_flags_2.patch -Patch425: ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch -Patch426: ioemu-bdrv-open-CACHE_WB.patch +Patch425: ioemu-bdrv-open-CACHE_WB.patch +Patch426: ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch Patch427: xen-ioemu-hvm-pv-support.diff Patch428: qemu-dm-segfault.patch Patch429: hibernate.patch Patch430: del_usb_xend_entry.patch Patch431: capslock_enable.patch Patch432: enable_more_nic_pxe.patch +Patch433: multi-xvdp.patch +Patch434: check_device_status.patch # Jim's domain lock patch Patch450: xend-domain-lock.patch # Hypervisor and PV driver Patches @@ -609,42 +574,6 @@ %patch24 -p1 %patch25 -p1 %patch26 -p1 -%patch27 -p1 -%patch28 -p1 -%patch29 -p1 -%patch30 -p1 -%patch31 -p1 -%patch32 -p1 -%patch33 -p1 -%patch34 -p1 -%patch35 -p1 -%patch36 -p1 -%patch37 -p1 -%patch38 -p1 -%patch39 -p1 -%patch40 -p1 -%patch41 -p1 -%patch42 -p1 -%patch43 -p1 -%patch44 -p1 -%patch45 -p1 -%patch46 -p1 -%patch47 -p1 -%patch48 -p1 -%patch49 -p1 -%patch50 -p1 -%patch51 -p1 -%patch52 -p1 -%patch53 -p1 -%patch54 -p1 -%patch55 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 -%patch59 -p1 -%patch60 -p1 -%patch61 -p1 -%patch62 -p1 %patch300 -p1 %patch301 -p1 %patch302 -p1 @@ -663,8 +592,6 @@ %patch315 -p1 %patch316 -p1 %patch317 -p1 -#%patch320 -p1 -#%patch321 -p1 %patch322 -p1 %patch323 -p1 %patch324 -p1 @@ -692,7 +619,6 @@ %patch356 -p1 %patch357 -p1 %patch358 -p1 -%patch359 -p1 %patch360 -p1 %patch361 -p1 %patch362 -p1 @@ -706,6 +632,8 @@ %patch370 -p1 %patch371 -p1 %patch372 -p1 +%patch373 -p1 +%patch374 -p1 %patch400 -p1 %patch401 -p1 %patch402 -p1 @@ -728,6 +656,8 @@ %patch430 -p1 %patch431 -p1 %patch432 -p1 +%patch433 -p1 +%patch434 -p1 %patch450 -p1 %patch500 -p1 %patch501 -p1 @@ -916,6 +846,7 @@ rm -rf $RPM_BUILD_ROOT/%{_libdir}/python%{pyver}/site-packages/xen/remus # This is necessary because of the build of libconfig for libxl #rm -rf $RPM_BUILD_ROOT/$RPM_BUILD_ROOT +rm -rf $RPM_BUILD_ROOT/%{_libdir}/debug %files %defattr(-,root,root) @@ -974,6 +905,7 @@ /usr/sbin/td-util /usr/sbin/vhd-update /usr/sbin/vhd-util +/usr/sbin/gdbsx %dir %{_libdir}/xen %dir %{_libdir}/xen/bin %ifarch x86_64 ++++++ 21089-x86-startup-irq-from-setup-gsi.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -54,9 +54,11 @@ Signed-off-by: Jan Beulich <jbeulich@novell.com> ---- a/xen/arch/x86/io_apic.c -+++ b/xen/arch/x86/io_apic.c -@@ -2111,6 +2111,7 @@ int __init io_apic_get_redir_entries (in +Index: xen-4.0.1-testing/xen/arch/x86/io_apic.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/io_apic.c ++++ xen-4.0.1-testing/xen/arch/x86/io_apic.c +@@ -2231,6 +2231,7 @@ int __init io_apic_get_redir_entries (in int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int active_high_low) { @@ -64,7 +66,7 @@ struct IO_APIC_route_entry entry; unsigned long flags; int vector; -@@ -2162,7 +2163,12 @@ int io_apic_set_pci_routing (int ioapic, +@@ -2282,7 +2283,12 @@ int io_apic_set_pci_routing (int ioapic, io_apic_write(ioapic, 0x11+2*pin, *(((int *)&entry)+1)); io_apic_write(ioapic, 0x10+2*pin, *(((int *)&entry)+0)); set_native_irq_info(irq, TARGET_CPUS); @@ -78,9 +80,11 @@ return 0; } ---- a/xen/arch/x86/mpparse.c -+++ b/xen/arch/x86/mpparse.c -@@ -1103,6 +1103,8 @@ int mp_register_gsi (u32 gsi, int trigge +Index: xen-4.0.1-testing/xen/arch/x86/mpparse.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/mpparse.c ++++ xen-4.0.1-testing/xen/arch/x86/mpparse.c +@@ -1102,6 +1102,8 @@ int mp_register_gsi (u32 gsi, int trigge int ioapic = -1; int ioapic_pin = 0; int idx, bit = 0; @@ -89,7 +93,7 @@ /* * Mapping between Global System Interrups, which -@@ -1127,8 +1129,13 @@ int mp_register_gsi (u32 gsi, int trigge +@@ -1126,8 +1128,13 @@ int mp_register_gsi (u32 gsi, int trigge if (ioapic_renumber_irq) gsi = ioapic_renumber_irq(ioapic, gsi); ++++++ 21235-crashkernel-advanced.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -33,9 +33,11 @@ Signed-off-by: Jan Beulich <jbeulich@novell.com> ---- a/xen/arch/x86/setup.c -+++ b/xen/arch/x86/setup.c -@@ -642,6 +642,11 @@ void __init __start_xen(unsigned long mb +Index: xen-4.0.1-testing/xen/arch/x86/setup.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/setup.c ++++ xen-4.0.1-testing/xen/arch/x86/setup.c +@@ -664,6 +664,11 @@ void __init __start_xen(unsigned long mb memcpy(&boot_e820, &e820, sizeof(e820)); /* Early kexec reservation (explicit static start address). */ @@ -47,9 +49,11 @@ kexec_reserve_area(&boot_e820); /* ---- a/xen/common/kexec.c -+++ b/xen/common/kexec.c -@@ -47,15 +47,109 @@ static unsigned char vmcoreinfo_data[VMC +Index: xen-4.0.1-testing/xen/common/kexec.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/common/kexec.c ++++ xen-4.0.1-testing/xen/common/kexec.c +@@ -49,15 +49,109 @@ static unsigned char vmcoreinfo_data[VMC static size_t vmcoreinfo_size = 0; xen_kexec_reserve_t kexec_crash_area; @@ -162,8 +166,10 @@ static void one_cpu_only(void) { /* Only allow the first cpu to continue - force other cpus to spin */ ---- a/xen/include/xen/kexec.h -+++ b/xen/include/xen/kexec.h +Index: xen-4.0.1-testing/xen/include/xen/kexec.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/xen/kexec.h ++++ xen-4.0.1-testing/xen/include/xen/kexec.h @@ -12,6 +12,8 @@ typedef struct xen_kexec_reserve { extern xen_kexec_reserve_t kexec_crash_area; ++++++ 21271-x86-cache-flush-global.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -12,9 +12,11 @@ Signed-off-by: Jan Beulich <jbeulich@novell.com> ---- a/xen/arch/x86/mm.c -+++ b/xen/arch/x86/mm.c -@@ -2887,6 +2887,27 @@ int do_mmuext_op( +Index: xen-4.0.1-testing/xen/arch/x86/mm.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/mm.c ++++ xen-4.0.1-testing/xen/arch/x86/mm.c +@@ -2889,6 +2889,27 @@ int do_mmuext_op( } break; @@ -42,8 +44,10 @@ case MMUEXT_SET_LDT: { unsigned long ptr = op.arg1.linear_addr; ---- a/xen/include/public/xen.h -+++ b/xen/include/public/xen.h +Index: xen-4.0.1-testing/xen/include/public/xen.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/public/xen.h ++++ xen-4.0.1-testing/xen/include/public/xen.h @@ -239,6 +239,10 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t); * * cmd: MMUEXT_FLUSH_CACHE ++++++ 21301-svm-lmsl.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -11,9 +11,11 @@ Signed-off-by: Jan Beulich <jbeulich@novell.com> ---- a/xen/arch/x86/hvm/hvm.c -+++ b/xen/arch/x86/hvm/hvm.c -@@ -629,11 +629,12 @@ static int hvm_load_cpu_ctxt(struct doma +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hvm.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/hvm/hvm.c ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hvm.c +@@ -603,11 +603,12 @@ static int hvm_load_cpu_ctxt(struct doma return -EINVAL; } @@ -27,7 +29,7 @@ (!cpu_has_ffxsr && (ctxt.msr_efer & EFER_FFXSE)) || ((ctxt.msr_efer & (EFER_LME|EFER_LMA)) == EFER_LMA) ) { -@@ -984,10 +985,11 @@ int hvm_set_efer(uint64_t value) +@@ -960,10 +961,11 @@ int hvm_set_efer(uint64_t value) value &= ~EFER_LMA; @@ -40,9 +42,11 @@ (!cpu_has_ffxsr && (value & EFER_FFXSE)) ) { gdprintk(XENLOG_WARNING, "Trying to set reserved bit in " ---- a/xen/arch/x86/hvm/svm/svm.c -+++ b/xen/arch/x86/hvm/svm/svm.c -@@ -56,6 +56,9 @@ +Index: xen-4.0.1-testing/xen/arch/x86/hvm/svm/svm.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/hvm/svm/svm.c ++++ xen-4.0.1-testing/xen/arch/x86/hvm/svm/svm.c +@@ -57,6 +57,9 @@ u32 svm_feature_flags; @@ -52,7 +56,7 @@ #define set_segment_register(name, value) \ asm volatile ( "movw %%ax ,%%" STR(name) "" : : "a" (value) ) -@@ -847,6 +850,29 @@ static int svm_cpu_up(struct cpuinfo_x86 +@@ -871,6 +874,29 @@ static int svm_cpu_up(struct cpuinfo_x86 /* Initialize core's ASID handling. */ svm_asid_init(c); @@ -82,9 +86,11 @@ return 1; } ---- a/xen/include/asm-x86/hvm/hvm.h -+++ b/xen/include/asm-x86/hvm/hvm.h -@@ -131,6 +131,7 @@ struct hvm_function_table { +Index: xen-4.0.1-testing/xen/include/asm-x86/hvm/hvm.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/asm-x86/hvm/hvm.h ++++ xen-4.0.1-testing/xen/include/asm-x86/hvm/hvm.h +@@ -143,6 +143,7 @@ struct hvm_function_table { extern struct hvm_function_table hvm_funcs; extern int hvm_enabled; ++++++ 21304-keyhandler-alternative.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -11,8 +11,10 @@ Signed-off-by: Jan Beulich <jbeulich@novell.com> ---- a/xen/common/keyhandler.c -+++ b/xen/common/keyhandler.c +Index: xen-4.0.1-testing/xen/common/keyhandler.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/common/keyhandler.c ++++ xen-4.0.1-testing/xen/common/keyhandler.c @@ -19,6 +19,7 @@ static struct keyhandler *key_table[256]; @@ -66,7 +68,7 @@ } static struct keyhandler dump_dom0_registers_keyhandler = { -@@ -425,8 +456,28 @@ static struct keyhandler do_debug_key_ke +@@ -434,8 +465,28 @@ static struct keyhandler do_debug_key_ke .desc = "trap to xendbg" }; ++++++ 21421-vts-ats-enabling.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -18,9 +18,11 @@ Signed-off-by: Weidong Han <weidong.han@intel.com> ---- a/xen/drivers/passthrough/vtd/ia64/ats.c -+++ b/xen/drivers/passthrough/vtd/ia64/ats.c -@@ -47,6 +47,11 @@ int enable_ats_device(int seg, int bus, +Index: xen-4.0.1-testing/xen/drivers/passthrough/vtd/ia64/ats.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/drivers/passthrough/vtd/ia64/ats.c ++++ xen-4.0.1-testing/xen/drivers/passthrough/vtd/ia64/ats.c +@@ -47,6 +47,11 @@ int enable_ats_device(int seg, int bus, return 0; } @@ -32,9 +34,11 @@ int dev_invalidate_iotlb(struct iommu *iommu, u16 did, u64 addr, unsigned int size_order, u64 type) { ---- a/xen/drivers/passthrough/vtd/iommu.c -+++ b/xen/drivers/passthrough/vtd/iommu.c -@@ -1324,6 +1324,9 @@ static int domain_context_mapping(struct +Index: xen-4.0.1-testing/xen/drivers/passthrough/vtd/iommu.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/drivers/passthrough/vtd/iommu.c ++++ xen-4.0.1-testing/xen/drivers/passthrough/vtd/iommu.c +@@ -1331,6 +1331,9 @@ static int domain_context_mapping(struct dprintk(VTDPREFIX, "d%d:PCIe: map bdf = %x:%x.%x\n", domain->domain_id, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); ret = domain_context_mapping_one(domain, drhd->iommu, bus, devfn); @@ -44,7 +48,7 @@ break; case DEV_TYPE_PCI: -@@ -1453,6 +1456,9 @@ static int domain_context_unmap(struct d +@@ -1460,6 +1463,9 @@ static int domain_context_unmap(struct d dprintk(VTDPREFIX, "d%d:PCIe: unmap bdf = %x:%x.%x\n", domain->domain_id, bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); ret = domain_context_unmap_one(domain, iommu, bus, devfn); @@ -54,7 +58,7 @@ break; case DEV_TYPE_PCI: -@@ -1771,8 +1777,6 @@ static void setup_dom0_devices(struct do +@@ -1788,8 +1794,6 @@ static void setup_dom0_devices(struct do list_add(&pdev->domain_list, &d->arch.pdev_list); domain_context_mapping(d, pdev->bus, pdev->devfn); pci_enable_acs(pdev); @@ -63,8 +67,10 @@ } } spin_unlock(&pcidevs_lock); ---- a/xen/drivers/passthrough/vtd/x86/ats.c -+++ b/xen/drivers/passthrough/vtd/x86/ats.c +Index: xen-4.0.1-testing/xen/drivers/passthrough/vtd/x86/ats.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/drivers/passthrough/vtd/x86/ats.c ++++ xen-4.0.1-testing/xen/drivers/passthrough/vtd/x86/ats.c @@ -92,6 +92,9 @@ int ats_device(int seg, int bus, int dev pdev = pci_get_pdev(bus, devfn); @@ -75,7 +81,7 @@ if ( !ecap_queued_inval(drhd->iommu->ecap) || !ecap_dev_iotlb(drhd->iommu->ecap) ) return 0; -@@ -144,6 +147,9 @@ int enable_ats_device(int seg, int bus, +@@ -144,6 +147,9 @@ int enable_ats_device(int seg, int bus, value = pci_conf_read16(bus, PCI_SLOT(devfn), PCI_FUNC(devfn), pos + ATS_REG_CTL); @@ -85,7 +91,7 @@ value |= ATS_ENABLE; pci_conf_write16(bus, PCI_SLOT(devfn), PCI_FUNC(devfn), pos + ATS_REG_CTL, value); -@@ -153,10 +159,50 @@ int enable_ats_device(int seg, int bus, +@@ -153,10 +159,50 @@ int enable_ats_device(int seg, int bus, pdev->devfn = devfn; pdev->ats_queue_depth = queue_depth; list_add(&(pdev->list), &ats_devices); ++++++ 21526-x86-nehalem-cpuid-mask.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -8,76 +8,201 @@ Signed-off-by: Jun Nakajima <jun.nakajima@intel.com> Signed-off-by: Liping Ke <liping.ke@intel.com> ---- a/xen/arch/x86/cpu/intel.c -+++ b/xen/arch/x86/cpu/intel.c -@@ -29,6 +29,9 @@ extern int trap_init_f00f_bug(void); - static unsigned int opt_cpuid_mask_ecx, opt_cpuid_mask_edx; - integer_param("cpuid_mask_ecx", opt_cpuid_mask_ecx); - integer_param("cpuid_mask_edx", opt_cpuid_mask_edx); -+static unsigned int opt_cpuid_mask_ext_ecx, opt_cpuid_mask_ext_edx; +# HG changeset patch +# User Keir Fraser <keir.fraser@citrix.com> +# Date 1276604335 -3600 +# Node ID 2501732e291b001711a0dc1c474bb89ce77f3110 +# Parent a2cc1db1af9c8f9b148c80f8b2c3f64bde7542f9 +x86: fix pv cpuid masking + +Invert initial values of the variables parsed into from the command +line, so that completely clearing out one or more of the four bit +fields is possible. + +Further, consolidate the command line parameter specifications into +a single place. + +Finally, as per "Intel Virtualization Technology FlexMigration +Application Note" (http://www.intel.com/Assets/PDF/manual/323850.pdf), +also handle family 6 model 0x1f. + +What remains open is the question whether pv_cpuid() shouldn't also +consume these masks. + +Signed-off-by: Jan Beulich <jbeulich@novell.com> + +Index: xen-4.0.1-testing/xen/arch/x86/cpu/amd.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/cpu/amd.c ++++ xen-4.0.1-testing/xen/arch/x86/cpu/amd.c +@@ -33,14 +33,6 @@ void start_svm(struct cpuinfo_x86 *c); + static char opt_famrev[14]; + string_param("cpuid_mask_cpu", opt_famrev); + +-/* Finer-grained CPUID feature control. */ +-static unsigned int opt_cpuid_mask_ecx, opt_cpuid_mask_edx; +-integer_param("cpuid_mask_ecx", opt_cpuid_mask_ecx); +-integer_param("cpuid_mask_edx", opt_cpuid_mask_edx); +-static unsigned int opt_cpuid_mask_ext_ecx, opt_cpuid_mask_ext_edx; +-integer_param("cpuid_mask_ext_ecx", opt_cpuid_mask_ext_ecx); +-integer_param("cpuid_mask_ext_edx", opt_cpuid_mask_ext_edx); +- + static inline void wrmsr_amd(unsigned int index, unsigned int lo, + unsigned int hi) + { +@@ -61,7 +53,7 @@ static inline void wrmsr_amd(unsigned in + * + * The processor revision string parameter has precedene. + */ +-static void __devinit set_cpuidmask(struct cpuinfo_x86 *c) ++static void __devinit set_cpuidmask(const struct cpuinfo_x86 *c) + { + static unsigned int feat_ecx, feat_edx; + static unsigned int extfeat_ecx, extfeat_edx; +@@ -76,12 +68,12 @@ static void __devinit set_cpuidmask(stru + ASSERT((status == not_parsed) && (smp_processor_id() == 0)); + status = no_mask; + +- if (opt_cpuid_mask_ecx | opt_cpuid_mask_edx | +- opt_cpuid_mask_ext_ecx | opt_cpuid_mask_ext_edx) { +- feat_ecx = opt_cpuid_mask_ecx ? : ~0U; +- feat_edx = opt_cpuid_mask_edx ? : ~0U; +- extfeat_ecx = opt_cpuid_mask_ext_ecx ? : ~0U; +- extfeat_edx = opt_cpuid_mask_ext_edx ? : ~0U; ++ if (~(opt_cpuid_mask_ecx & opt_cpuid_mask_edx & ++ opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) { ++ feat_ecx = opt_cpuid_mask_ecx; ++ feat_edx = opt_cpuid_mask_edx; ++ extfeat_ecx = opt_cpuid_mask_ext_ecx; ++ extfeat_edx = opt_cpuid_mask_ext_edx; + } else if (*opt_famrev == '\0') { + return; + } else if (!strcmp(opt_famrev, "fam_0f_rev_c")) { +Index: xen-4.0.1-testing/xen/arch/x86/cpu/common.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/cpu/common.c ++++ xen-4.0.1-testing/xen/arch/x86/cpu/common.c +@@ -22,6 +22,15 @@ static int cachesize_override __cpuinitd + static int disable_x86_fxsr __cpuinitdata; + static int disable_x86_serial_nr __cpuinitdata; + ++unsigned int __devinitdata opt_cpuid_mask_ecx = ~0u; ++integer_param("cpuid_mask_ecx", opt_cpuid_mask_ecx); ++unsigned int __devinitdata opt_cpuid_mask_edx = ~0u; ++integer_param("cpuid_mask_edx", opt_cpuid_mask_edx); ++unsigned int __devinitdata opt_cpuid_mask_ext_ecx = ~0u; +integer_param("cpuid_mask_ext_ecx", opt_cpuid_mask_ext_ecx); ++unsigned int __devinitdata opt_cpuid_mask_ext_edx = ~0u; +integer_param("cpuid_mask_ext_edx", opt_cpuid_mask_ext_edx); ++ + struct cpu_dev * cpu_devs[X86_VENDOR_NUM] = {}; + /* +Index: xen-4.0.1-testing/xen/arch/x86/cpu/cpu.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/cpu/cpu.h ++++ xen-4.0.1-testing/xen/arch/x86/cpu/cpu.h +@@ -21,6 +21,9 @@ struct cpu_dev { + + extern struct cpu_dev * cpu_devs [X86_VENDOR_NUM]; + ++extern unsigned int opt_cpuid_mask_ecx, opt_cpuid_mask_edx; ++extern unsigned int opt_cpuid_mask_ext_ecx, opt_cpuid_mask_ext_edx; ++ + extern int get_model_name(struct cpuinfo_x86 *c); + extern void display_cacheinfo(struct cpuinfo_x86 *c); + +Index: xen-4.0.1-testing/xen/arch/x86/cpu/intel.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/cpu/intel.c ++++ xen-4.0.1-testing/xen/arch/x86/cpu/intel.c +@@ -20,16 +20,6 @@ + + extern int trap_init_f00f_bug(void); + +-/* +- * opt_cpuid_mask_ecx/edx: cpuid.1[ecx, edx] feature mask. +- * For example, E8400[Intel Core 2 Duo Processor series] ecx = 0x0008E3FD, +- * edx = 0xBFEBFBFF when executing CPUID.EAX = 1 normally. If you want to +- * 'rev down' to E8400, you can set these values in these Xen boot parameters. +- */ +-static unsigned int opt_cpuid_mask_ecx, opt_cpuid_mask_edx; +-integer_param("cpuid_mask_ecx", opt_cpuid_mask_ecx); +-integer_param("cpuid_mask_edx", opt_cpuid_mask_edx); +- static int use_xsave = 1; boolean_param("xsave", use_xsave); -@@ -40,24 +43,46 @@ boolean_param("xsave", use_xsave); + +@@ -40,24 +30,57 @@ boolean_param("xsave", use_xsave); struct movsl_mask movsl_mask __read_mostly; #endif -static void __devinit set_cpuidmask(void) -+static void __devinit set_cpuidmask(struct cpuinfo_x86 *c) ++/* ++ * opt_cpuid_mask_ecx/edx: cpuid.1[ecx, edx] feature mask. ++ * For example, E8400[Intel Core 2 Duo Processor series] ecx = 0x0008E3FD, ++ * edx = 0xBFEBFBFF when executing CPUID.EAX = 1 normally. If you want to ++ * 'rev down' to E8400, you can set these values in these Xen boot parameters. ++ */ ++static void __devinit set_cpuidmask(const struct cpuinfo_x86 *c) { - unsigned int eax, ebx, ecx, edx, model; -+ unsigned int model = c->x86_model; ++ const char *extra = ""; - if (!(opt_cpuid_mask_ecx | opt_cpuid_mask_edx)) -+ if (!(opt_cpuid_mask_ecx | opt_cpuid_mask_edx | -+ opt_cpuid_mask_ext_ecx | opt_cpuid_mask_ext_edx)) ++ if (!~(opt_cpuid_mask_ecx & opt_cpuid_mask_edx & ++ opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) return; - cpuid(0x00000001, &eax, &ebx, &ecx, &edx); - model = ((eax & 0xf0000) >> 12) | ((eax & 0xf0) >> 4); - if (!((model == 0x1d) || ((model == 0x17) && ((eax & 0xf) >= 4)))) { -+ if (c->x86 != 0x6) /* Only family 6 supports this feature */ -+ return; -+ -+ if ((model == 0x1d) || ((model == 0x17) && (c->x86_mask >= 4))) { -+ wrmsr(MSR_IA32_CPUID_FEATURE_MASK1, -+ opt_cpuid_mask_ecx ? : ~0u, -+ opt_cpuid_mask_edx ? : ~0u); -+ } -+/* +- printk(XENLOG_ERR "Cannot set CPU feature mask on CPU#%d\n", +- smp_processor_id()); ++ /* Only family 6 supports this feature */ ++ switch ((c->x86 == 6) * c->x86_model) { ++ case 0x17: ++ if ((c->x86_mask & 0x0f) < 4) ++ break; ++ /* fall through */ ++ case 0x1d: ++ wrmsr(MSR_INTEL_CPUID_FEATURE_MASK, ++ opt_cpuid_mask_ecx, ++ opt_cpuid_mask_edx); ++ if (!~(opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) ++ return; ++ extra = "extended "; ++ break; ++/* + * CPU supports this feature if the processor signature meets the following: + * (CPUID.(EAX=01h):EAX) > 000106A2h, or + * (CPUID.(EAX=01h):EAX) == 000106Exh, 0002065xh, 000206Cxh, 000206Exh, or 000206Fxh + * + */ -+ else if (((model == 0x1a) && (c->x86_mask > 2)) -+ || model == 0x1e -+ || model == 0x25 -+ || model == 0x2c -+ || model == 0x2e -+ || model == 0x2f) { -+ wrmsr(MSR_IA32_CPUID1_FEATURE_MASK, -+ opt_cpuid_mask_ecx ? : ~0u, -+ opt_cpuid_mask_edx ? : ~0u); -+ wrmsr(MSR_IA32_CPUID80000001_FEATURE_MASK, -+ opt_cpuid_mask_ext_ecx ? : ~0u, -+ opt_cpuid_mask_ext_edx ? : ~0u); -+ } -+ else { - printk(XENLOG_ERR "Cannot set CPU feature mask on CPU#%d\n", - smp_processor_id()); ++ case 0x1a: ++ if ((c->x86_mask & 0x0f) <= 2) ++ break; ++ /* fall through */ ++ case 0x1e: case 0x1f: ++ case 0x25: case 0x2c: case 0x2e: case 0x2f: ++ wrmsr(MSR_INTEL_CPUID1_FEATURE_MASK, ++ opt_cpuid_mask_ecx, ++ opt_cpuid_mask_edx); ++ wrmsr(MSR_INTEL_CPUID80000001_FEATURE_MASK, ++ opt_cpuid_mask_ext_ecx, ++ opt_cpuid_mask_ext_edx); return; } -- + - wrmsr(MSR_IA32_CPUID_FEATURE_MASK1, - opt_cpuid_mask_ecx ? : ~0u, - opt_cpuid_mask_edx ? : ~0u); ++ printk(XENLOG_ERR "Cannot set CPU feature mask on CPU#%d\n", ++ smp_processor_id()); } void __devinit early_intel_workaround(struct cpuinfo_x86 *c) -@@ -179,7 +204,7 @@ static void __devinit init_intel(struct +@@ -179,7 +202,7 @@ static void __devinit init_intel(struct detect_ht(c); @@ -86,14 +211,20 @@ /* Work around errata */ Intel_errata_workarounds(c); ---- a/xen/include/asm-x86/msr-index.h -+++ b/xen/include/asm-x86/msr-index.h -@@ -158,6 +158,8 @@ - - /* MSR for cpuid feature mask */ - #define MSR_IA32_CPUID_FEATURE_MASK1 0x00000478 -+#define MSR_IA32_CPUID1_FEATURE_MASK 0x00000130 -+#define MSR_IA32_CPUID80000001_FEATURE_MASK 0x00000131 +Index: xen-4.0.1-testing/xen/include/asm-x86/msr-index.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/asm-x86/msr-index.h ++++ xen-4.0.1-testing/xen/include/asm-x86/msr-index.h +@@ -156,8 +156,10 @@ + #define MSR_P6_EVNTSEL0 0x00000186 + #define MSR_P6_EVNTSEL1 0x00000187 + +-/* MSR for cpuid feature mask */ +-#define MSR_IA32_CPUID_FEATURE_MASK1 0x00000478 ++/* MSRs for Intel cpuid feature mask */ ++#define MSR_INTEL_CPUID_FEATURE_MASK 0x00000478 ++#define MSR_INTEL_CPUID1_FEATURE_MASK 0x00000130 ++#define MSR_INTEL_CPUID80000001_FEATURE_MASK 0x00000131 /* MSRs & bits used for VMX enabling */ #define MSR_IA32_VMX_BASIC 0x480 ++++++ 21542-amd-erratum-411.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -9,11 +9,11 @@ Signed-off-by: Wei Wang <wei.wang2@amd.com> -Index: xen-4.0.0-testing/xen/arch/x86/apic.c +Index: xen-4.0.1-testing/xen/arch/x86/apic.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/apic.c -+++ xen-4.0.0-testing/xen/arch/x86/apic.c -@@ -195,6 +195,9 @@ void clear_local_APIC(void) +--- xen-4.0.1-testing.orig/xen/arch/x86/apic.c ++++ xen-4.0.1-testing/xen/arch/x86/apic.c +@@ -198,6 +198,9 @@ void clear_local_APIC(void) maxlvt = get_maxlvt(); @@ -23,7 +23,7 @@ /* * Masking an LVT entry on a P6 can trigger a local APIC error * if the vector is zero. Mask LVTERR first to prevent this. -@@ -1184,7 +1187,10 @@ void disable_APIC_timer(void) +@@ -1335,7 +1338,10 @@ void disable_APIC_timer(void) { if (using_apic_timer) { unsigned long v; @@ -35,10 +35,10 @@ v = apic_read(APIC_LVTT); apic_write_around(APIC_LVTT, v | APIC_LVT_MASKED); } -Index: xen-4.0.0-testing/xen/arch/x86/hpet.c +Index: xen-4.0.1-testing/xen/arch/x86/hpet.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/hpet.c -+++ xen-4.0.0-testing/xen/arch/x86/hpet.c +--- xen-4.0.1-testing.orig/xen/arch/x86/hpet.c ++++ xen-4.0.1-testing/xen/arch/x86/hpet.c @@ -659,8 +659,7 @@ void hpet_broadcast_enter(void) if ( hpet_attach_channel ) hpet_attach_channel(cpu, ch); ++++++ 21615-dont-save-xen-heap-pages.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -17,8 +17,10 @@ Signed-off-by: Jan Beulich <jbeulich@novell.com> ---- a/tools/libxc/xc_domain_save.c -+++ b/tools/libxc/xc_domain_save.c +Index: xen-4.0.1-testing/tools/libxc/xc_domain_save.c +=================================================================== +--- xen-4.0.1-testing.orig/tools/libxc/xc_domain_save.c ++++ xen-4.0.1-testing/tools/libxc/xc_domain_save.c @@ -1282,58 +1282,64 @@ int xc_domain_save(int xc_handle, int io goto out; } @@ -56,11 +58,11 @@ - goto out; - } + unsigned long gmfn = pfn_batch[j]; - -- for ( j = 0; j < batch; j++ ) ++ + if ( !hvm ) + gmfn = pfn_to_mfn(gmfn); -+ + +- for ( j = 0; j < batch; j++ ) + if ( pfn_err[j] ) { - unsigned long mfn = pfn_to_mfn(pfn_batch[j]); @@ -122,9 +124,11 @@ if ( write_exact(io_fd, &batch, sizeof(unsigned int)) ) { PERROR("Error when writing to state file (2)"); ---- a/xen/arch/x86/domctl.c -+++ b/xen/arch/x86/domctl.c -@@ -207,11 +207,12 @@ long arch_do_domctl( +Index: xen-4.0.1-testing/xen/arch/x86/domctl.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/domctl.c ++++ xen-4.0.1-testing/xen/arch/x86/domctl.c +@@ -206,11 +206,12 @@ long arch_do_domctl( for ( j = 0; j < k; j++ ) { @@ -139,7 +143,7 @@ type = XEN_DOMCTL_PFINFO_XTAB; else if ( xsm_getpageframeinfo(page) != 0 ) ; -@@ -306,14 +307,15 @@ long arch_do_domctl( +@@ -305,14 +306,15 @@ long arch_do_domctl( for ( j = 0; j < k; j++ ) { struct page_info *page; ++++++ 21627-cpuidle-wrap.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -7,9 +7,11 @@ Signed-off-by: Wei Gang <gang.wei@intel.com> ---- a/xen/arch/x86/acpi/cpu_idle.c -+++ b/xen/arch/x86/acpi/cpu_idle.c -@@ -127,9 +127,9 @@ static inline u32 ticks_elapsed(u32 t1, +Index: xen-4.0.1-testing/xen/arch/x86/acpi/cpu_idle.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/acpi/cpu_idle.c ++++ xen-4.0.1-testing/xen/arch/x86/acpi/cpu_idle.c +@@ -127,9 +127,9 @@ static inline u32 ticks_elapsed(u32 t1, if ( t2 >= t1 ) return (t2 - t1); else if ( !(acpi_gbl_FADT.flags & ACPI_FADT_32BIT_TIMER) ) ++++++ 21653-xend-mac-addr.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -16,10 +16,10 @@ Signed-off-by Chunyan Liu <CYLiu@novell.com> -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -847,11 +847,6 @@ class XendDomainInfo: @type dev_config: SXP object (parsed config) """ ++++++ 21678-xend-mac-fix.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -16,10 +16,10 @@ Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com> Signed-off-by Chunyan Liu <CYLiu@novell.com> -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -847,6 +847,8 @@ class XendDomainInfo: @type dev_config: SXP object (parsed config) """ ++++++ 21683-vtd-kill-timer-conditional.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -7,8 +7,10 @@ Signed-off-by: Keir Fraser <keir.fraser@citrix.com> ---- a/xen/drivers/passthrough/io.c -+++ b/xen/drivers/passthrough/io.c +Index: xen-4.0.1-testing/xen/drivers/passthrough/io.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/drivers/passthrough/io.c ++++ xen-4.0.1-testing/xen/drivers/passthrough/io.c @@ -27,7 +27,7 @@ static void hvm_dirq_assist(unsigned long _d); @@ -18,8 +20,10 @@ { return !(flags & (HVM_IRQ_DPCI_GUEST_MSI | HVM_IRQ_DPCI_TRANSLATE)); } ---- a/xen/drivers/passthrough/pci.c -+++ b/xen/drivers/passthrough/pci.c +Index: xen-4.0.1-testing/xen/drivers/passthrough/pci.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/drivers/passthrough/pci.c ++++ xen-4.0.1-testing/xen/drivers/passthrough/pci.c @@ -257,7 +257,9 @@ static void pci_clean_dpci_irqs(struct d i = find_next_bit(hvm_irq_dpci->mapping, d->nr_pirqs, i + 1) ) { @@ -31,9 +35,11 @@ list_for_each_safe ( digl_list, tmp, &hvm_irq_dpci->mirq[i].digl_list ) ---- a/xen/include/xen/iommu.h -+++ b/xen/include/xen/iommu.h -@@ -92,6 +92,7 @@ void hvm_dpci_isairq_eoi(struct domain * +Index: xen-4.0.1-testing/xen/include/xen/iommu.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/xen/iommu.h ++++ xen-4.0.1-testing/xen/include/xen/iommu.h +@@ -103,6 +103,7 @@ void hvm_dpci_isairq_eoi(struct domain * struct hvm_irq_dpci *domain_get_irq_dpci(struct domain *domain); int domain_set_irq_dpci(struct domain *domain, struct hvm_irq_dpci *dpci); void free_hvm_irq_dpci(struct hvm_irq_dpci *dpci); ++++++ 21723-get-domu-state.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -16,10 +16,10 @@ Signed-off-by James (Song Wei) <jsong@novell.com> -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomain.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendDomain.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomain.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomain.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomain.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomain.py @@ -250,6 +250,18 @@ class XendDomain: @return: path to config file. """ @@ -39,10 +39,10 @@ def _managed_check_point_path(self, domuuid): """Returns absolute path to check point file for managed domain. -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -327,6 +327,8 @@ class XendDomainInfo: @type info: dictionary @ivar domid: Domain ID (if VM has started) @@ -60,10 +60,10 @@ maxmem = self.info.get('memory_static_max', 0) memory = self.info.get('memory_dynamic_max', 0) -Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvDomain.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/SrvDomain.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/SrvDomain.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/SrvDomain.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/SrvDomain.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/SrvDomain.py @@ -225,6 +225,20 @@ class SrvDomain(SrvDir): self.acceptCommand(req) return self.xd.domain_reset(self.dom.getName()) @@ -85,10 +85,10 @@ def op_usb_add(self, op, req): self.acceptCommand(req) return req.threadRequest(self.do_usb_add, op, req) -Index: xen-4.0.0-testing/tools/python/xen/xm/main.py +Index: xen-4.0.1-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.0.0-testing/tools/python/xen/xm/main.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.0.1-testing/tools/python/xen/xm/main.py @@ -165,6 +165,8 @@ SUBCOMMAND_HELP = { #usb 'usb-add' : ('<domain> <[host:bus.addr] [host:vendor_id:product_id]>','Add the usb device to FV VM.'), @@ -144,7 +144,7 @@ def xm_dump_core(args): live = False -@@ -1515,6 +1522,32 @@ def xm_usb_add(args): +@@ -1517,6 +1524,32 @@ def xm_usb_add(args): arg_check(args, "usb-add", 2) server.xend.domain.usb_add(args[0],args[1]) @@ -177,7 +177,7 @@ def xm_usb_del(args): arg_check(args, "usb-del", 2) server.xend.domain.usb_del(args[0],args[1]) -@@ -3538,6 +3571,8 @@ commands = { +@@ -3542,6 +3575,8 @@ commands = { #usb "usb-add": xm_usb_add, "usb-del": xm_usb_del, ++++++ 21847-pscsi.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -37,10 +37,10 @@ Comment from Masaki Kanno <kanno.masaki@jp.fujitsu.com>: "Well done" Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> -Index: xen-4.0.0-testing/tools/examples/xend-config.sxp +Index: xen-4.0.1-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.0.0-testing/tools/examples/xend-config.sxp +--- xen-4.0.1-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.0.1-testing/tools/examples/xend-config.sxp @@ -277,3 +277,11 @@ # we have to realize this may incur security issue and we can't make sure the # device assignment could really work properly even after we do this. @@ -50,13 +50,13 @@ +# because xend scans all the device paths to build its internal PSCSI device +# list. If we need only a few devices for assigning to a guest, we can reduce +# the scan to this device. Set list list of device paths in same syntax like in -+# command lsscsi, e.g. ('16:0:0:0' '15:0') ++# command lsscsi, e.g. ('16:0:0:0' '15:0') +# (pscsi-device-mask ('*')) + -Index: xen-4.0.0-testing/tools/python/xen/util/vscsi_util.py +Index: xen-4.0.1-testing/tools/python/xen/util/vscsi_util.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/util/vscsi_util.py -+++ xen-4.0.0-testing/tools/python/xen/util/vscsi_util.py +--- xen-4.0.1-testing.orig/tools/python/xen/util/vscsi_util.py ++++ xen-4.0.1-testing/tools/python/xen/util/vscsi_util.py @@ -148,11 +148,12 @@ def _vscsi_get_scsidevices_by_sysfs(): return devices @@ -85,10 +85,10 @@ scsi_record = _make_scsi_record(scsi_info) scsi_records.append(scsi_record) return scsi_records -Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendNode.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendNode.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendNode.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendNode.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendNode.py @@ -323,7 +323,12 @@ class XendNode: pscsi_table = {} pscsi_HBA_table = {} @@ -103,10 +103,10 @@ scsi_id = pscsi_record['scsi_id'] if scsi_id: saved_HBA_uuid = None -Index: xen-4.0.0-testing/tools/python/xen/xend/XendOptions.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendOptions.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendOptions.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendOptions.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendOptions.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendOptions.py @@ -164,6 +164,9 @@ class XendOptions: """ print >>sys.stderr, "xend [ERROR]", fmt % args ++++++ 21866-xenapi.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -18,10 +18,10 @@ Acked-by: Jim Fehlig <jfehlig@novell.com> Committed-by: Ian Jackson <ian.jackson@eu.citrix.com> -Index: xen-4.0.0-testing/tools/python/xen/xend/XendAPI.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendAPI.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendAPI.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendAPI.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendAPI.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendAPI.py @@ -1667,7 +1667,8 @@ class XendAPI(object): def VM_set_actions_after_crash(self, session, vm_ref, action): if action not in XEN_API_ON_CRASH_BEHAVIOUR: @@ -32,10 +32,10 @@ def VM_set_HVM_boot_policy(self, session, vm_ref, value): if value != "" and value != "BIOS order": -Index: xen-4.0.0-testing/tools/python/xen/xend/XendAPIConstants.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendAPIConstants.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendAPIConstants.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendAPIConstants.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendAPIConstants.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendAPIConstants.py @@ -63,6 +63,18 @@ XEN_API_ON_CRASH_BEHAVIOUR_FILTER = { 'rename_restart' : 'rename_restart', } @@ -55,10 +55,10 @@ XEN_API_VBD_MODE = ['RO', 'RW'] XEN_API_VDI_TYPE = ['system', 'user', 'ephemeral'] XEN_API_VBD_TYPE = ['CD', 'Disk'] -Index: xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py @@ -41,6 +41,7 @@ from xen.util.pci import pci_opts_list_f from xen.xend.XendSXPDev import dev_dict_to_sxp from xen.util import xsconstants ++++++ 21894-intel-unmask-cpuid.patch ++++++ # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1280486194 -3600 # Node ID c9e7850ec9a18d7085c7468407e175bb64513846 # Parent 754877be695ba3050f140002dbd185a27a437fcc x86: unmask CPUID levels on Intel CPUs References: bnc#640773 If the CPUID limit bit in MSR_IA32_MISC_ENABLE is set, clear it to make all CPUID information available. This is required for some features to work, such as MWAIT in cpuidle, get cpu topology, XSAVE, etc. Signed-off-by: Wei Gang <gang.wei@intel.com> --- a/xen/arch/x86/cpu/intel.c +++ b/xen/arch/x86/cpu/intel.c @@ -90,6 +90,20 @@ void __devinit early_intel_workaround(st /* Netburst reports 64 bytes clflush size, but does IO in 128 bytes */ if (c->x86 == 15 && c->x86_cache_alignment == 64) c->x86_cache_alignment = 128; + + /* Unmask CPUID levels if masked: */ + if (c->x86 > 6 || (c->x86 == 6 && c->x86_model >= 0xd)) { + u64 misc_enable; + + rdmsrl(MSR_IA32_MISC_ENABLE, misc_enable); + + if (misc_enable & MSR_IA32_MISC_ENABLE_LIMIT_CPUID) { + misc_enable &= ~MSR_IA32_MISC_ENABLE_LIMIT_CPUID; + wrmsrl(MSR_IA32_MISC_ENABLE, misc_enable); + c->cpuid_level = cpuid_eax(0); + printk("revised cpuid_level = %d\n", c->cpuid_level); + } + } } /* --- a/xen/include/asm-x86/msr-index.h +++ b/xen/include/asm-x86/msr-index.h @@ -324,6 +324,7 @@ #define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL (1<<11) #define MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL (1<<12) #define MSR_IA32_MISC_ENABLE_MONITOR_ENABLE (1<<18) +#define MSR_IA32_MISC_ENABLE_LIMIT_CPUID (1<<22) #define MSR_IA32_MISC_ENABLE_XTPR_DISABLE (1<<23) /* Intel Model 6 */ ++++++ 22019-x86-cpuidle-online-check.patch ++++++ # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1282069957 -3600 # Node ID 5218db847b58a151d8f320b7141efc984f759b35 # Parent 542e8cd16a6cf036e89b597ba6343245fcaafa25 x86 cpuidle: check whether cpu is online in cpu idle control We observed a 2.6.18.8 dom0 kernel crash when Xen has maxcpus < num of physical cores (maxcpus=3D4 for a 12-core system). It appeared that hypervisor doesn't check whether CPU is online or not. This small patch fixed the issue. Signed-off-by: Uwe Dannowski <uwe.dannowski@amd.com> Acked-by: Wei Huang <wei.huang2@amd.com> --- a/xen/arch/x86/acpi/cpuidle_menu.c +++ b/xen/arch/x86/acpi/cpuidle_menu.c @@ -270,9 +270,10 @@ static void menu_reflect(struct acpi_pro static int menu_enable_device(struct acpi_processor_power *power) { - struct menu_device *data = &per_cpu(menu_devices, power->cpu); + if (!cpu_online(power->cpu)) + return -1; - memset(data, 0, sizeof(struct menu_device)); + memset(&per_cpu(menu_devices, power->cpu), 0, sizeof(struct menu_device)); return 0; } ++++++ 22051-x86-forced-EOI.patch ++++++ # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1282466228 -3600 # Node ID 59ff5820534f4c5ec006d1ddca0f4356634c3b22 # Parent f77261710856aad506dda92cfa3b92b923be4e15 x86: Automatically EOI guest-bound interrupts if guest takes too long. Signed-off-by: Keir Fraser <keir.fraser@citrix.com> Includes the x86 IRQ specific parts of c/s 21508: # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1275480791 -3600 # Node ID 5aabc6f94df5f275647d55caa24780eff0c81355 # Parent a3bdee5a20daf590ae7a440dad4e3b104b99c620 timers: Track inactive timers and migrate them on cpu offline. Signed-off-by: Keir Fraser <keir.fraser@citrix.com> --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -46,8 +46,6 @@ static DECLARE_BITMAP(used_vectors, NR_V struct irq_cfg __read_mostly *irq_cfg = NULL; -static struct timer *__read_mostly irq_guest_eoi_timer; - static DEFINE_SPINLOCK(vector_lock); DEFINE_PER_CPU(vector_irq_t, vector_irq) = { @@ -274,18 +272,15 @@ int init_irq_data(void) irq_desc = xmalloc_array(struct irq_desc, nr_irqs); irq_cfg = xmalloc_array(struct irq_cfg, nr_irqs); irq_status = xmalloc_array(int, nr_irqs); - irq_guest_eoi_timer = xmalloc_array(struct timer, nr_irqs); irq_vector = xmalloc_array(u8, nr_irqs_gsi); - if (!irq_desc || !irq_cfg || !irq_status ||! irq_vector || - !irq_guest_eoi_timer) + if ( !irq_desc || !irq_cfg || !irq_status ||! irq_vector ) return -ENOMEM; memset(irq_desc, 0, nr_irqs * sizeof(*irq_desc)); memset(irq_cfg, 0, nr_irqs * sizeof(*irq_cfg)); memset(irq_status, 0, nr_irqs * sizeof(*irq_status)); memset(irq_vector, 0, nr_irqs_gsi * sizeof(*irq_vector)); - memset(irq_guest_eoi_timer, 0, nr_irqs * sizeof(*irq_guest_eoi_timer)); for (irq = 0; irq < nr_irqs; irq++) { desc = irq_to_desc(irq); @@ -740,6 +735,7 @@ typedef struct { #define ACKTYPE_UNMASK 1 /* Unmask PIC hardware (from any CPU) */ #define ACKTYPE_EOI 2 /* EOI on the CPU that was interrupted */ cpumask_t cpu_eoi_map; /* CPUs that need to EOI this interrupt */ + struct timer eoi_timer; struct domain *guest[IRQ_MAX_GUESTS]; } irq_guest_action_t; @@ -784,13 +780,55 @@ static void _irq_guest_eoi(struct irq_de desc->handler->enable(irq); } +static void set_eoi_ready(void *data); + static void irq_guest_eoi_timer_fn(void *data) { struct irq_desc *desc = data; + unsigned int irq = desc - irq_desc; + irq_guest_action_t *action; + cpumask_t cpu_eoi_map; unsigned long flags; spin_lock_irqsave(&desc->lock, flags); - _irq_guest_eoi(desc); + + if ( !(desc->status & IRQ_GUEST) ) + goto out; + + action = (irq_guest_action_t *)desc->action; + + if ( action->ack_type != ACKTYPE_NONE ) + { + unsigned int i; + for ( i = 0; i < action->nr_guests; i++ ) + { + struct domain *d = action->guest[i]; + unsigned int pirq = domain_irq_to_pirq(d, irq); + if ( test_and_clear_bit(pirq, d->pirq_mask) ) + action->in_flight--; + } + } + + if ( action->in_flight != 0 ) + goto out; + + switch ( action->ack_type ) + { + case ACKTYPE_UNMASK: + desc->handler->end(irq); + break; + case ACKTYPE_EOI: + cpu_eoi_map = action->cpu_eoi_map; + spin_unlock_irq(&desc->lock); + on_selected_cpus(&cpu_eoi_map, set_eoi_ready, desc, 0); + spin_lock_irq(&desc->lock); + break; + case ACKTYPE_NONE: + _irq_guest_eoi(desc); + break; + } + + out: spin_unlock_irqrestore(&desc->lock, flags); } @@ -847,9 +885,11 @@ static void __do_IRQ_guest(int irq) } } - if ( already_pending == action->nr_guests ) + stop_timer(&action->eoi_timer); + + if ( (action->ack_type == ACKTYPE_NONE) && + (already_pending == action->nr_guests) ) { - stop_timer(&irq_guest_eoi_timer[irq]); desc->handler->disable(irq); desc->status |= IRQ_GUEST_EOI_PENDING; for ( i = 0; i < already_pending; ++i ) @@ -865,10 +905,10 @@ static void __do_IRQ_guest(int irq) * - skip the timer setup below. */ } - init_timer(&irq_guest_eoi_timer[irq], - irq_guest_eoi_timer_fn, desc, smp_processor_id()); - set_timer(&irq_guest_eoi_timer[irq], NOW() + MILLISECS(1)); } + + migrate_timer(&action->eoi_timer, smp_processor_id()); + set_timer(&action->eoi_timer, NOW() + MILLISECS(1)); } /* @@ -978,7 +1018,7 @@ static void __pirq_guest_eoi(struct doma if ( action->ack_type == ACKTYPE_NONE ) { ASSERT(!test_bit(pirq, d->pirq_mask)); - stop_timer(&irq_guest_eoi_timer[irq]); + stop_timer(&action->eoi_timer); _irq_guest_eoi(desc); } @@ -1162,6 +1202,7 @@ int pirq_guest_bind(struct vcpu *v, int action->shareable = will_share; action->ack_type = pirq_acktype(v->domain, pirq); cpus_clear(action->cpu_eoi_map); + init_timer(&action->eoi_timer, irq_guest_eoi_timer_fn, desc, 0); desc->depth = 0; desc->status |= IRQ_GUEST; @@ -1266,7 +1307,7 @@ static irq_guest_action_t *__pirq_guest_ } break; case ACKTYPE_NONE: - stop_timer(&irq_guest_eoi_timer[irq]); + stop_timer(&action->eoi_timer); _irq_guest_eoi(desc); break; } @@ -1306,9 +1347,7 @@ static irq_guest_action_t *__pirq_guest_ BUG_ON(!cpus_empty(action->cpu_eoi_map)); desc->action = NULL; - desc->status &= ~IRQ_GUEST; - desc->status &= ~IRQ_INPROGRESS; - kill_timer(&irq_guest_eoi_timer[irq]); + desc->status &= ~(IRQ_GUEST|IRQ_GUEST_EOI_PENDING|IRQ_INPROGRESS); desc->handler->shutdown(irq); /* Caller frees the old guest descriptor block. */ @@ -1342,7 +1381,10 @@ void pirq_guest_unbind(struct domain *d, spin_unlock_irq(&desc->lock); if ( oldaction != NULL ) + { + kill_timer(&oldaction->eoi_timer); xfree(oldaction); + } } static int pirq_guest_force_unbind(struct domain *d, int irq) @@ -1380,7 +1422,10 @@ static int pirq_guest_force_unbind(struc spin_unlock_irq(&desc->lock); if ( oldaction != NULL ) + { + kill_timer(&oldaction->eoi_timer); xfree(oldaction); + } return bound; } ++++++ 22067-x86-irq-domain.patch ++++++ # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1282817774 -3600 # Node ID 3eb5127e46365242401e37df292fbe290fa0a974 # Parent eccfdeb41b803d07bcb4f7fa912a8341fdb19162 Fix bind_irq_vector() destination The "mask" covered all online cpus in the "domain". It should be used as destination later, instead of using "domain" directly. Signed-off-by: Sheng Yang <sheng@linux.intel.com> --- a/xen/arch/x86/irq.c +++ b/xen/arch/x86/irq.c @@ -88,14 +88,14 @@ static int __bind_irq_vector(int irq, in cpus_and(mask, domain, cpu_online_map); if (cpus_empty(mask)) return -EINVAL; - if ((cfg->vector == vector) && cpus_equal(cfg->domain, domain)) + if ((cfg->vector == vector) && cpus_equal(cfg->domain, mask)) return 0; if (cfg->vector != IRQ_VECTOR_UNASSIGNED) return -EBUSY; for_each_cpu_mask(cpu, mask) per_cpu(vector_irq, cpu)[vector] = irq; cfg->vector = vector; - cfg->domain = domain; + cfg->domain = mask; irq_status[irq] = IRQ_USED; if (IO_APIC_IRQ(irq)) irq_vector[irq] = vector; ++++++ 22068-vtd-irte-RH-bit.patch ++++++ # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1282817816 -3600 # Node ID 3c4c3d48a8350994f4450314c6b759771c7ad4ef # Parent 3eb5127e46365242401e37df292fbe290fa0a974 VT-d: Hardware require RH bit to be set in IRTE when delivery mode is LPR Signed-off-by: Sheng Yang <sheng@linux.intel.com> --- a/xen/drivers/passthrough/vtd/intremap.c +++ b/xen/drivers/passthrough/vtd/intremap.c @@ -318,9 +318,10 @@ static int ioapic_rte_to_remap_entry(str *(((u32 *)&new_rte) + 0) = value; new_ire.lo.fpd = 0; new_ire.lo.dm = new_rte.dest_mode; - new_ire.lo.rh = 0; new_ire.lo.tm = new_rte.trigger; new_ire.lo.dlm = new_rte.delivery_mode; + /* Hardware require RH = 1 for LPR delivery mode */ + new_ire.lo.rh = (new_ire.lo.dlm == dest_LowestPrio); new_ire.lo.avail = 0; new_ire.lo.res_1 = 0; new_ire.lo.vector = new_rte.vector; @@ -630,9 +631,10 @@ static int msi_msg_to_remap_entry( /* Set interrupt remapping table entry */ new_ire.lo.fpd = 0; new_ire.lo.dm = (msg->address_lo >> MSI_ADDR_DESTMODE_SHIFT) & 0x1; - new_ire.lo.rh = 0; new_ire.lo.tm = (msg->data >> MSI_DATA_TRIGGER_SHIFT) & 0x1; new_ire.lo.dlm = (msg->data >> MSI_DATA_DELIVERY_MODE_SHIFT) & 0x1; + /* Hardware require RH = 1 for LPR delivery mode */ + new_ire.lo.rh = (new_ire.lo.dlm == dest_LowestPrio); new_ire.lo.avail = 0; new_ire.lo.res_1 = 0; new_ire.lo.vector = (msg->data >> MSI_DATA_VECTOR_SHIFT) & ++++++ 22071-ept-get-entry-lock.patch ++++++ # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1283153992 -3600 # Node ID c5aed2e049bce2724b035dd6aa09c4c4e609c27c # Parent 20920c12bc4815b1f755786c0924393809664807 ept: Put locks around ept_get_entry There's a subtle race in ept_get_entry, such that if tries to read an entry that ept_set_entry is modifying, it gets neither the old entry nor the new entry, but empty. In the case of multi-cpu populate-on-demand guests, this manifests as a guest crash when one vcpu tries to read a page which another page is trying to populate, and ept_get_entry returns p2m_mmio_dm. This bug can also be fixed by making both ept_set_entry and ept_next_level access-once (i.e., ept_next_level reads full ept_entry and then works with local value; ept_set_entry construct the entry locally and then sets it in one write). But there doesn't seem to be any major performance implications of just making ept_get_entry use locks; so the simpler, the better. Signed-off-by: George Dunlap <george.dunlap@eu.citrix.com> --- a/xen/arch/x86/mm/hap/p2m-ept.c +++ b/xen/arch/x86/mm/hap/p2m-ept.c @@ -387,6 +387,10 @@ static mfn_t ept_get_entry(struct domain int i; int ret = 0; mfn_t mfn = _mfn(INVALID_MFN); + int do_locking = !p2m_locked_by_me(d->arch.p2m); + + if ( do_locking ) + p2m_lock(d->arch.p2m); *t = p2m_mmio_dm; @@ -464,6 +468,8 @@ static mfn_t ept_get_entry(struct domain } out: + if ( do_locking ) + p2m_unlock(d->arch.p2m); unmap_domain_page(table); return mfn; } ++++++ 22084-x86-xsave-off.patch ++++++ # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1283332754 -3600 # Node ID ae0cd4e5cc0149ceb5d3dd61a003aadc008f036e # Parent 972d90ff31349816cc8c785a8b2defb2f70ed441 x86 intel: Disable XSAVE support. It breaks HVM save/restore. Signed-off-by: Keir Fraser <keir.fraser@citrix.com> --- a/xen/arch/x86/cpu/intel.c +++ b/xen/arch/x86/cpu/intel.c @@ -20,7 +20,7 @@ extern int trap_init_f00f_bug(void); -static int use_xsave = 1; +static int use_xsave; boolean_param("xsave", use_xsave); #ifdef CONFIG_X86_INTEL_USERCOPY ++++++ 22135-heap-lock.patch ++++++ References: bnc#638465 # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1284394111 -3600 # Node ID 69e8bb164683c76e0cd787df21b98c73905a61e6 # Parent e300bfa3c0323ac08e7b8cd9fb40f9f1ab548543 page_alloc: Hold heap_lock while adjusting page states to/from PGC_state_free. This avoids races with buddy-merging logic in free_heap_pages(). Signed-off-by: Keir Fraser <keir.fraser@citrix.com> --- a/xen/common/page_alloc.c +++ b/xen/common/page_alloc.c @@ -378,8 +378,6 @@ static struct page_info *alloc_heap_page total_avail_pages -= request; ASSERT(total_avail_pages >= 0); - spin_unlock(&heap_lock); - cpus_clear(mask); for ( i = 0; i < (1 << order); i++ ) @@ -401,6 +399,8 @@ static struct page_info *alloc_heap_page page_set_owner(&pg[i], NULL); } + spin_unlock(&heap_lock); + if ( unlikely(!cpus_empty(mask)) ) { perfc_incr(need_flush_tlb_flush); @@ -496,6 +496,8 @@ static void free_heap_pages( ASSERT(order <= MAX_ORDER); ASSERT(node >= 0); + spin_lock(&heap_lock); + for ( i = 0; i < (1 << order); i++ ) { /* @@ -523,8 +525,6 @@ static void free_heap_pages( pg[i].tlbflush_timestamp = tlbflush_current_time(); } - spin_lock(&heap_lock); - avail[node][zone] += 1 << order; total_avail_pages += 1 << order; ++++++ 22148-serial-irq-dest.patch ++++++ # HG changeset patch # User Keir Fraser <keir.fraser@citrix.com> # Date 1284395845 -3600 # Node ID a254d1236c1a52264beb0253352ef64d65a98eb3 # Parent f0a1229cb0a6505f3240ac59a3bb6ade2acfa1a2 Fix serial interrupt's destination Lowest Priority can't use with invalid cpu_mask, and the default value of CPU_MASK_ALL may cover CPU which wasn't online. From: "Yang, Sheng" <sheng.yang@intel.com> Signed-off-by: Keir Fraser <keir.fraser@citrix.com> --- a/xen/arch/x86/smpboot.c +++ b/xen/arch/x86/smpboot.c @@ -1602,7 +1602,7 @@ void __init smp_intr_init(void) irq_vector[irq] = FIRST_HIPRIORITY_VECTOR + seridx + 1; per_cpu(vector_irq, cpu)[FIRST_HIPRIORITY_VECTOR + seridx + 1] = irq; irq_cfg[irq].vector = FIRST_HIPRIORITY_VECTOR + seridx + 1; - irq_cfg[irq].domain = (cpumask_t)CPU_MASK_ALL; + irq_cfg[irq].domain = cpu_online_map; } /* IPI for cleanuping vectors after irq move */ ++++++ 32on64-extra-mem.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -1,8 +1,8 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 -@@ -2917,7 +2917,7 @@ class XendDomainInfo: +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -2920,7 +2920,7 @@ class XendDomainInfo: self.guest_bitsize = self.image.getBitSize() # Make sure there's enough RAM available for the domain ++++++ 7410-qemu-alt-gr.patch ++++++ # HG changeset patch # User Ian Jackson <ian.jackson@eu.citrix.com> # Date 1284481903 -3600 # Node ID f71a4c18e34e86e1011662fa42c10ec54bff0688 # Parent 080b5a094d4e0acab6646125f91f988911409016 ioemu: fix VNC altgr-insert behavior When access to a Xen DomU (Linux) from a VNC client in Windows, alt-gr key is not working properly with Spanish keyboard. When Alt + another key pressed, vncserver receives Altgr down, Altgr up and key down messages in order, that causes incorrect output. With following patch, when vncerver receives key down message, it first check if the keysym needs altgr modifer, if it needs altgr modifier but altgr is not 'down', sending altgr keycode before sending key keycode. Signed-off-by: Chunyan Liu <cyliu@novell.com> committer: Ian Jackson <Ian.Jackson@eu.citrix.com> git-commit-id: f95d202ed6444dacb15fbea4dee185eb0e048d9a diff -r 080b5a094d4e -r f71a4c18e34e keymaps.c --- a/tools/ioemu-qemu-xen/keymaps.c Wed Sep 08 16:38:09 2010 +0100 +++ b//tools/ioemu-qemu-xen/keymaps.c Tue Sep 14 17:31:43 2010 +0100 @@ -51,6 +51,7 @@ struct key_range *numlock_range; struct key_range *shift_range; struct key_range *localstate_range; + struct key_range *altgr_range; } kbd_layout_t; static void add_to_key_range(struct key_range **krp, int code) { @@ -133,7 +134,11 @@ add_to_key_range(&k->localstate_range, keycode); //fprintf(stderr, "localstate keysym %04x keycode %d\n", keysym, keycode); } - + if (rest && strstr(rest, "altgr")) { + add_to_key_range(&k->altgr_range, keysym); + //fprintf(stderr, "altgr keysym %04x keycode %d\n", keysym, keycode); + } + /* if(keycode&0x80) keycode=(keycode<<8)^0x80e0; */ if (keysym < MAX_NORMAL_KEYCODE) { @@ -233,3 +238,16 @@ return 0; return 1; } + +static inline int keysym_is_altgr(void *kbd_layout, int keysym) +{ + kbd_layout_t *k = kbd_layout; + struct key_range *kr; + + for (kr = k->altgr_range; kr; kr = kr->next) + if (keysym >= kr->start && keysym <= kr->end){ + return 1; + } + return 0; +} + diff -r 080b5a094d4e -r f71a4c18e34e vnc.c --- a/tools/ioemu-qemu-xen/vnc.c Wed Sep 08 16:38:09 2010 +0100 +++ b/tools/ioemu-qemu-xen/vnc.c Tue Sep 14 17:31:43 2010 +0100 @@ -1274,12 +1274,27 @@ } } +static void press_key_altgr_down(VncState *vs, int down) +{ + kbd_put_keycode(0xe0); + if (down){ + kbd_put_keycode(0xb8 & 0x7f); + vs->modifiers_state[0xb8] = 1; + } + else { + kbd_put_keycode(0xb8 | 0x80); + vs->modifiers_state[0xb8] = 0; + } +} + static void do_key_event(VncState *vs, int down, uint32_t sym) { int keycode; int shift_keys = 0; int shift = 0; int keypad = 0; + int altgr = 0; + int altgr_keys = 0; if (is_graphic_console()) { if (sym >= 'A' && sym <= 'Z') { @@ -1289,8 +1304,11 @@ else { shift = keysym_is_shift(vs->kbd_layout, sym & 0xFFFF); } + + altgr = keysym_is_altgr(vs->kbd_layout, sym & 0xFFFF); } shift_keys = vs->modifiers_state[0x2a] | vs->modifiers_state[0x36]; + altgr_keys = vs->modifiers_state[0xb8]; keycode = keysym2scancode(vs->kbd_layout, sym & 0xFFFF); if (keycode == 0) { @@ -1357,6 +1375,11 @@ } if (is_graphic_console()) { + + if (altgr && !altgr_keys) { + press_key_altgr_down(vs, down); + } + /* If the shift state needs to change then simulate an additional keypress before sending this one. Ignore for non shiftable keys. */ ++++++ README.SuSE ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -464,9 +464,6 @@ upgraded together. Consult the online documentation for a matrix of supported 32- and 64-bit combinations -A 64-bit paravirtualized VM will not run on 32-bit host but a 32-bit -paravirtualized VM will run on a 64-bit host. - On certain machines with 2GB or less of RAM, domain 0 Linux may fail to boot, printing the following messages: PCI-DMA: Using software bounce buffering for IO (SWIOTLB) @@ -498,8 +495,8 @@ If problems persist, check if a newer version is available. Well-tested versions will be shipped with SUSE and via YaST Online Update. More frequent -(but less supported) updates are available on the Xen Technical Preview site: - ftp://ftp.novell.com/forge/XenTechnicalPreview/ +(but less supported) updates are available on Novell's Forge site: + http://forge.novell.com/modules/xfmod/project/?xenpreview Known Issues ++++++ bdrv_open2_fix_flags.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/block.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/block.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/block.c -+++ xen-4.0.0-testing/tools/ioemu-remote/block.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/block.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/block.c @@ -350,7 +350,7 @@ int bdrv_file_open(BlockDriverState **pb int bdrv_open(BlockDriverState *bs, const char *filename, int flags) @@ -18,7 +18,7 @@ - /* Note: for compatibility, we open disk image files as RDWR, and - RDONLY as fallback */ if (!(flags & BDRV_O_FILE)) -- open_flags = BDRV_O_RDWR | (flags & BDRV_O_CACHE_MASK); +- open_flags = (flags & BDRV_O_ACCESS) | (flags & BDRV_O_CACHE_MASK); + open_flags = flags; else open_flags = flags & ~(BDRV_O_FILE | BDRV_O_SNAPSHOT); @@ -28,10 +28,10 @@ ret = drv->bdrv_open(bs, filename, open_flags); if ((ret == -EACCES || ret == -EPERM) && !(flags & BDRV_O_FILE)) { ret = drv->bdrv_open(bs, filename, open_flags & ~BDRV_O_RDWR); -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/usb-msd.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/usb-msd.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/usb-msd.c -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/usb-msd.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/usb-msd.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/usb-msd.c @@ -551,7 +551,7 @@ USBDevice *usb_msd_init(const char *file s = qemu_mallocz(sizeof(MSDState)); @@ -41,10 +41,10 @@ goto fail; s->bs = bdrv; *pbs = bdrv; -Index: xen-4.0.0-testing/tools/ioemu-remote/qemu-img.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/qemu-img.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/qemu-img.c -+++ xen-4.0.0-testing/tools/ioemu-remote/qemu-img.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/qemu-img.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/qemu-img.c @@ -32,7 +32,7 @@ #endif @@ -54,7 +54,7 @@ static void QEMU_NORETURN error(const char *fmt, ...) { -@@ -185,7 +185,7 @@ static int read_password(char *buf, int +@@ -185,7 +185,7 @@ static int read_password(char *buf, int #endif static BlockDriverState *bdrv_new_open(const char *filename, @@ -118,7 +118,7 @@ error("Could not open '%s'", filename); } bdrv_get_format(bs, fmt_name, sizeof(fmt_name)); -@@ -810,7 +811,7 @@ static void img_snapshot(int argc, char +@@ -810,7 +811,7 @@ static void img_snapshot(int argc, char if (!bs) error("Not enough memory"); ++++++ bdrv_open2_flags_2.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -227,6 +227,7 @@ static int open_disk(struct td_state *s, BlockDriver* drv; char* devname; @@ -19,10 +19,10 @@ fprintf(stderr, "Could not open image file %s\n", path); return -ENOMEM; } -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c @@ -136,7 +136,8 @@ static void insert_media(void *opaque) else format = &bdrv_raw; @@ -33,19 +33,7 @@ #ifdef CONFIG_STUBDOM { char *buf, *backend, *params_path, *params; -@@ -400,9 +401,9 @@ void xenstore_parse_domain_config(int hv - { - char **e_danger = NULL; - char *buf = NULL; -- char *fpath = NULL, *bpath = NULL, *btype = NULL, -+ char *fpath = NULL, *bpath = NULL, *btype = NULL, *mode = NULL, - *dev = NULL, *params = NULL, *drv = NULL; -- int i, j, ret, is_tap; -+ int i, j, ret, is_tap, flags; - unsigned int len, num, hd_index, pci_devid = 0; - BlockDriverState *bs; - BlockDriver *format; -@@ -464,7 +465,8 @@ void xenstore_parse_domain_config(int hv +@@ -469,7 +470,8 @@ void xenstore_parse_domain_config(int hv } for (i = 0; i < num; i++) { @@ -55,7 +43,7 @@ /* read the backend path */ xenstore_get_backend_path(&bpath, "vbd", danger_path, hvm_domid, e_danger[i]); if (bpath == NULL) -@@ -550,6 +552,17 @@ void xenstore_parse_domain_config(int hv +@@ -555,6 +557,17 @@ void xenstore_parse_domain_config(int hv format = &bdrv_raw; } @@ -73,7 +61,7 @@ #if 0 /* Phantom VBDs are disabled because the use of paths * from guest-controlled areas in xenstore is unsafe. -@@ -617,7 +630,7 @@ void xenstore_parse_domain_config(int hv +@@ -622,7 +635,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,10 +70,10 @@ pstrcpy(bs->filename, sizeof(bs->filename), params); } #else -@@ -646,7 +659,7 @@ void xenstore_parse_domain_config(int hv - } - } - pstrcpy(bs->filename, sizeof(bs->filename), params); +@@ -668,7 +681,7 @@ void xenstore_parse_domain_config(int hv + + fprintf(stderr, "Using file %s in read-%s mode\n", bs->filename, is_readonly ? "only" : "write"); + - if (bdrv_open2(bs, params, BDRV_O_CACHE_WB /* snapshot and write-back */, format) < 0) { + if (bdrv_open2(bs, params, flags|BDRV_O_CACHE_WB /* snapshot and write-back */, format) < 0) { fprintf(stderr, "qemu: could not open vbd '%s' or hard disk image '%s' (drv '%s' format '%s')\n", buf, params, drv ? drv : "?", format ? format->format_name : "0"); ++++++ blktap-pv-cdrom.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/blktap/drivers/block-cdrom.c +Index: xen-4.0.1-testing/tools/blktap/drivers/block-cdrom.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/blktap/drivers/block-cdrom.c ++++ xen-4.0.1-testing/tools/blktap/drivers/block-cdrom.c @@ -0,0 +1,535 @@ +/* block-cdrom.c + * @@ -538,10 +538,10 @@ + .td_get_parent_id = tdcdrom_get_parent_id, + .td_validate_parent = tdcdrom_validate_parent +}; -Index: xen-4.0.0-testing/xen/include/public/io/cdromif.h +Index: xen-4.0.1-testing/xen/include/public/io/cdromif.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/xen/include/public/io/cdromif.h ++++ xen-4.0.1-testing/xen/include/public/io/cdromif.h @@ -0,0 +1,122 @@ +/****************************************************************************** + * cdromif.h @@ -665,10 +665,10 @@ + sizeof(struct vcd_generic_command) - sizeof(struct request_sense)) + +#endif -Index: xen-4.0.0-testing/tools/blktap/drivers/Makefile +Index: xen-4.0.1-testing/tools/blktap/drivers/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap/drivers/Makefile -+++ xen-4.0.0-testing/tools/blktap/drivers/Makefile +--- xen-4.0.1-testing.orig/tools/blktap/drivers/Makefile ++++ xen-4.0.1-testing/tools/blktap/drivers/Makefile @@ -28,8 +28,9 @@ CFLAGS += -DMEMSHR MEMSHRLIBS += $(MEMSHR_DIR)/libmemshr.a endif @@ -676,7 +676,7 @@ -LDFLAGS_blktapctrl := $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenstore) $(MEMSHRLIBS) -L../lib -lblktap -lrt -lm -lpthread -LDFLAGS_img := $(LIBAIO_DIR)/libaio.a $(CRYPT_LIB) -lpthread -lz +LDFLAGS_xen := $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenstore) -+LDFLAGS_blktapctrl := $(LDFLAGS_xen) $(MEMSHRLIBS) -L../lib -lblktap -lrt -lm -lpthread ++LDFLAGS_blktapctrl := $(LDFLAGS_xen) $(MEMSHRLIBS) -L../lib -lblktap -lrt -lm -lpthread $(LDFLAGS_xen) +LDFLAGS_img := $(LIBAIO_DIR)/libaio.a $(CRYPT_LIB) -lpthread -lz $(LDFLAGS_xen) BLK-OBJS-y := block-aio.o @@ -689,10 +689,10 @@ BLK-OBJS-y += aes.o BLK-OBJS-y += tapaio.o BLK-OBJS-$(CONFIG_Linux) += blk_linux.o -Index: xen-4.0.0-testing/tools/blktap/drivers/tapdisk.h +Index: xen-4.0.1-testing/tools/blktap/drivers/tapdisk.h =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap/drivers/tapdisk.h -+++ xen-4.0.0-testing/tools/blktap/drivers/tapdisk.h +--- xen-4.0.1-testing.orig/tools/blktap/drivers/tapdisk.h ++++ xen-4.0.1-testing/tools/blktap/drivers/tapdisk.h @@ -137,6 +137,9 @@ struct tap_disk { int (*td_get_parent_id) (struct disk_driver *dd, struct disk_id *id); int (*td_validate_parent)(struct disk_driver *dd, @@ -737,10 +737,10 @@ }; typedef struct driver_list_entry { -Index: xen-4.0.0-testing/tools/blktap/lib/blktaplib.h +Index: xen-4.0.1-testing/tools/blktap/lib/blktaplib.h =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap/lib/blktaplib.h -+++ xen-4.0.0-testing/tools/blktap/lib/blktaplib.h +--- xen-4.0.1-testing.orig/tools/blktap/lib/blktaplib.h ++++ xen-4.0.1-testing/tools/blktap/lib/blktaplib.h @@ -220,6 +220,7 @@ typedef struct msg_pid { #define DISK_TYPE_RAM 3 #define DISK_TYPE_QCOW 4 @@ -749,10 +749,10 @@ /* xenstore/xenbus: */ #define DOMNAME "Domain-0" -Index: xen-4.0.0-testing/xen/include/public/io/blkif.h +Index: xen-4.0.1-testing/xen/include/public/io/blkif.h =================================================================== ---- xen-4.0.0-testing.orig/xen/include/public/io/blkif.h -+++ xen-4.0.0-testing/xen/include/public/io/blkif.h +--- xen-4.0.1-testing.orig/xen/include/public/io/blkif.h ++++ xen-4.0.1-testing/xen/include/public/io/blkif.h @@ -76,6 +76,10 @@ * "feature-flush-cache" node! */ @@ -764,10 +764,10 @@ /* * Maximum scatter/gather segments per request. -Index: xen-4.0.0-testing/tools/blktap/drivers/tapdisk.c +Index: xen-4.0.1-testing/tools/blktap/drivers/tapdisk.c =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap/drivers/tapdisk.c -+++ xen-4.0.0-testing/tools/blktap/drivers/tapdisk.c +--- xen-4.0.1-testing.orig/tools/blktap/drivers/tapdisk.c ++++ xen-4.0.1-testing/tools/blktap/drivers/tapdisk.c @@ -735,6 +735,22 @@ static void get_io_request(struct td_sta goto out; } @@ -791,10 +791,10 @@ default: DPRINTF("Unknown block operation\n"); break; -Index: xen-4.0.0-testing/tools/python/xen/xend/server/BlktapController.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/BlktapController.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/BlktapController.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/BlktapController.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/BlktapController.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/BlktapController.py @@ -20,6 +20,7 @@ blktap1_disk_types = [ 'ram', 'qcow', ++++++ blktap.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -1,10 +1,10 @@ bug #239173 bug #242953 -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -3290,7 +3290,7 @@ class XendDomainInfo: (fn, BOOTLOADER_LOOPBACK_DEVICE)) @@ -14,10 +14,10 @@ 'device': BOOTLOADER_LOOPBACK_DEVICE, } -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c @@ -397,9 +397,9 @@ void xenstore_parse_domain_config(int hv { char **e_danger = NULL; @@ -30,7 +30,7 @@ unsigned int len, num, hd_index, pci_devid = 0; BlockDriverState *bs; BlockDriver *format; -@@ -439,6 +439,14 @@ void xenstore_parse_domain_config(int hv +@@ -444,6 +444,14 @@ void xenstore_parse_domain_config(int hv e_danger[i]); if (bpath == NULL) continue; @@ -45,8 +45,8 @@ /* read the name of the device */ if (pasprintf(&buf, "%s/dev", bpath) == -1) continue; -@@ -715,6 +723,7 @@ void xenstore_parse_domain_config(int hv - free(danger_type); +@@ -738,6 +746,7 @@ void xenstore_parse_domain_config(int hv + free(mode); free(params); free(dev); + free(btype); ++++++ blktapctrl-default-to-ioemu.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/blktap/drivers/tapdisk.h +Index: xen-4.0.1-testing/tools/blktap/drivers/tapdisk.h =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap/drivers/tapdisk.h -+++ xen-4.0.0-testing/tools/blktap/drivers/tapdisk.h +--- xen-4.0.1-testing.orig/tools/blktap/drivers/tapdisk.h ++++ xen-4.0.1-testing/tools/blktap/drivers/tapdisk.h @@ -168,7 +168,7 @@ static disk_info_t aio_disk = { "raw image (aio)", "aio", ++++++ block-dmmd ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:24.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:24.000000000 +0200 @@ -98,9 +98,9 @@ { # First scan for PVs and VGs; we may then have to activate the VG # first, but can ignore errors: - /sbin/pvscan || : - /sbin/vgscan --mknodes || : - /sbin/vgchange -ay ${1%/*} || : +# /sbin/pvscan || : +# /sbin/vgscan --mknodes || : +# /sbin/vgchange -ay ${1%/*} || : /sbin/lvchange -ay $1 return $? } @@ -110,9 +110,9 @@ /sbin/lvchange -an $1 if [ $? -eq 0 ]; then # We may have to deactivate the VG now, but can ignore errors: - /sbin/vgchange -an ${1%/*} || : +# /sbin/vgchange -an ${1%/*} || : # Maybe we need to cleanup the LVM cache: - /sbin/vgscan --mknodes || : +# /sbin/vgscan --mknodes || : return 0 fi return 1 ++++++ bridge-bonding.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/network-bridge +Index: xen-4.0.1-testing/tools/hotplug/Linux/network-bridge =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/network-bridge -+++ xen-4.0.0-testing/tools/hotplug/Linux/network-bridge +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/network-bridge ++++ xen-4.0.1-testing/tools/hotplug/Linux/network-bridge @@ -245,6 +245,9 @@ op_start () { claim_lock "network-bridge" ++++++ bridge-opensuse.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/network-bridge +Index: xen-4.0.1-testing/tools/hotplug/Linux/network-bridge =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/network-bridge -+++ xen-4.0.0-testing/tools/hotplug/Linux/network-bridge +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/network-bridge ++++ xen-4.0.1-testing/tools/hotplug/Linux/network-bridge @@ -270,19 +270,19 @@ op_stop () { transfer_addrs ${bridge} ${pdev} if ! ifdown ${bridge}; then ++++++ bridge-record-creation.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/network-bridge +Index: xen-4.0.1-testing/tools/hotplug/Linux/network-bridge =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/network-bridge -+++ xen-4.0.0-testing/tools/hotplug/Linux/network-bridge +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/network-bridge ++++ xen-4.0.1-testing/tools/hotplug/Linux/network-bridge @@ -253,6 +253,11 @@ op_start () { create_bridge ${tdev} ++++++ bridge-vlan.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/network-bridge +Index: xen-4.0.1-testing/tools/hotplug/Linux/network-bridge =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/network-bridge -+++ xen-4.0.0-testing/tools/hotplug/Linux/network-bridge +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/network-bridge ++++ xen-4.0.1-testing/tools/hotplug/Linux/network-bridge @@ -193,6 +193,28 @@ antispoofing () { iptables -A FORWARD -m physdev --physdev-in ${pdev} -j ACCEPT } ++++++ build-tapdisk-ioemu.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -15,10 +15,10 @@ tapdisk-ioemu.c | 17 ----------------- 4 files changed, 17 insertions(+), 26 deletions(-) -Index: xen-4.0.0-testing/tools/ioemu-remote/Makefile +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/Makefile -+++ xen-4.0.0-testing/tools/ioemu-remote/Makefile +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/Makefile ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/Makefile @@ -46,14 +46,6 @@ $(filter %-user,$(SUBDIR_RULES)): libqem recurse-all: $(SUBDIR_RULES) @@ -56,10 +56,10 @@ ###################################################################### # libqemu_common.a: Target independent part of system emulation. The # long term path is to suppress *all* target specific code in case of -Index: xen-4.0.0-testing/tools/ioemu-remote/configure +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/configure =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/configure -+++ xen-4.0.0-testing/tools/ioemu-remote/configure +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/configure ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/configure @@ -1511,7 +1511,7 @@ bsd) ;; esac @@ -69,10 +69,10 @@ if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then tools="qemu-img\$(EXESUF) $tools" if [ "$linux" = "yes" ] ; then -Index: xen-4.0.0-testing/tools/ioemu-remote/qemu-tool.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/qemu-tool.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/qemu-tool.c -+++ xen-4.0.0-testing/tools/ioemu-remote/qemu-tool.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/qemu-tool.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/qemu-tool.c @@ -68,7 +68,7 @@ void qemu_bh_delete(QEMUBH *bh) qemu_free(bh); } @@ -82,10 +82,10 @@ IOCanRWHandler *fd_read_poll, IOHandler *fd_read, IOHandler *fd_write, -Index: xen-4.0.0-testing/tools/ioemu-remote/tapdisk-ioemu.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/tapdisk-ioemu.c -+++ xen-4.0.0-testing/tools/ioemu-remote/tapdisk-ioemu.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c @@ -12,34 +12,12 @@ extern void qemu_aio_init(void); ++++++ capslock_enable.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,8 @@ -diff -r c2f19aa8a584 tools/ioemu-remote/vnc.c ---- a/tools/ioemu-remote/vnc.c Wed Apr 07 11:13:49 2010 +0800 -+++ b/tools/ioemu-remote/vnc.c Mon May 24 13:56:22 2010 +0800 -@@ -1326,6 +1326,11 @@ +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/vnc.c +=================================================================== +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/vnc.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/vnc.c +@@ -1344,6 +1344,11 @@ static void do_key_event(VncState *vs, i } break; case 0x3a: /* CapsLock */ ++++++ cdrom-removable.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/HalDaemon.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xend/server/HalDaemon.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/HalDaemon.py @@ -0,0 +1,243 @@ +#!/usr/bin/env python +# -*- mode: python; -*- @@ -246,10 +246,10 @@ + print 'Falling off end' + + -Index: xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/Hald.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xend/server/Hald.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/Hald.py @@ -0,0 +1,125 @@ +#============================================================================ +# This library is free software; you can redistribute it and/or @@ -376,10 +376,10 @@ + watcher.run() + time.sleep(10) + watcher.shutdown() -Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/SrvServer.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/SrvServer.py @@ -56,6 +56,7 @@ from xen.web.SrvDir import SrvDir from SrvRoot import SrvRoot @@ -397,10 +397,10 @@ def create(): root = SrvDir() -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c @@ -18,6 +18,7 @@ #include "exec-all.h" #include "sysemu.h" @@ -409,7 +409,7 @@ #include "hw.h" #include "pci.h" #include "qemu-timer.h" -@@ -548,6 +549,21 @@ void xenstore_parse_domain_config(int hv +@@ -553,6 +554,21 @@ void xenstore_parse_domain_config(int hv #endif bs = bdrv_new(dev); @@ -431,7 +431,7 @@ /* 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 +@@ -961,6 +977,50 @@ void xenstore_record_dm_state(const char xenstore_record_dm("state", state); } @@ -482,7 +482,7 @@ void xenstore_process_event(void *opaque) { char **vec, *offset, *bpath = NULL, *buf = NULL, *drv = NULL, *image = NULL; -@@ -968,6 +1028,11 @@ void xenstore_process_event(void *opaque +@@ -991,6 +1051,11 @@ void xenstore_process_event(void *opaque xenstore_watch_callbacks[i].cb(vec[XS_WATCH_TOKEN], xenstore_watch_callbacks[i].opaque); ++++++ check_device_status.patch ++++++ diff -r ce65e0e03a57 tools/python/xen/xend/server/DevController.py --- a/tools/python/xen/xend/server/DevController.py Fri Aug 27 16:53:00 2010 +0800 +++ b/tools/python/xen/xend/server/DevController.py Fri Aug 27 17:13:32 2010 +0800 @@ -149,7 +149,10 @@ (status, err) = self.waitForBackend(devid) if status == Timeout: - self.destroyDevice(devid, False) + #Clean timeout backend resource + dev = self.convertToDeviceNumber(devid) + self.writeBackend(dev, HOTPLUG_STATUS_NODE, HOTPLUG_STATUS_ERROR) + self.destroyDevice(devid, True) raise VmError("Device %s (%s) could not be connected. " "Hotplug scripts not working." % (devid, self.deviceClass)) @@ -554,7 +557,17 @@ xswatch(statusPath, hotplugStatusCallback, ev, result) - ev.wait(DEVICE_CREATE_TIMEOUT) + for i in range(1, 50): + ev.wait(DEVICE_CREATE_TIMEOUT/50) + status = xstransact.Read(statusPath) + if status is not None: + if status == HOTPLUG_STATUS_ERROR: + result['status'] = Error + elif status == HOTPLUG_STATUS_BUSY: + result['status'] = Busy + else: + result['status'] = Connected + break err = xstransact.Read(backpath, HOTPLUG_ERROR_NODE) @@ -571,7 +584,12 @@ xswatch(statusPath, deviceDestroyCallback, ev, result) - ev.wait(DEVICE_DESTROY_TIMEOUT) + for i in range(1, 50): + ev.wait(DEVICE_DESTROY_TIMEOUT/50) + status = xstransact.Read(statusPath) + if status is None: + result['status'] = Disconnected + break return result['status'] ++++++ checkpoint-rename.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendCheckpoint.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendCheckpoint.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendCheckpoint.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendCheckpoint.py @@ -165,7 +165,7 @@ def save(fd, dominfo, network, live, dst dominfo.destroy() dominfo.testDeviceComplete() ++++++ cpu-pools-docs.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,5 +1,7 @@ ---- a/docs/xen-api/coversheet.tex -+++ b/docs/xen-api/coversheet.tex +Index: xen-4.0.1-testing/docs/xen-api/coversheet.tex +=================================================================== +--- xen-4.0.1-testing.orig/docs/xen-api/coversheet.tex ++++ xen-4.0.1-testing/docs/xen-api/coversheet.tex @@ -52,6 +52,7 @@ Mike Day, IBM & Daniel Veillard, Red Hat Jim Fehlig, Novell & Tom Wilkie, University of Cambridge \\ Jon Harrop, XenSource & Yosuke Iwamatsu, NEC \\ @@ -8,8 +10,10 @@ \end{tabular} \end{large} ---- a/docs/xen-api/revision-history.tex -+++ b/docs/xen-api/revision-history.tex +Index: xen-4.0.1-testing/docs/xen-api/revision-history.tex +=================================================================== +--- xen-4.0.1-testing.orig/docs/xen-api/revision-history.tex ++++ xen-4.0.1-testing/docs/xen-api/revision-history.tex @@ -50,6 +50,12 @@ between classes. Added host.PSCSI\_HBAs and VM.DSCSI\_HBAs fields.\tabularnewline @@ -23,8 +27,10 @@ \end{tabular} \end{center} \end{flushleft} ---- a/docs/xen-api/xenapi-coversheet.tex -+++ b/docs/xen-api/xenapi-coversheet.tex +Index: xen-4.0.1-testing/docs/xen-api/xenapi-coversheet.tex +=================================================================== +--- xen-4.0.1-testing.orig/docs/xen-api/xenapi-coversheet.tex ++++ xen-4.0.1-testing/docs/xen-api/xenapi-coversheet.tex @@ -17,12 +17,12 @@ \newcommand{\coversheetlogo}{xen.eps} @@ -40,8 +46,10 @@ %% Document authors \newcommand{\docauthors}{ ---- a/docs/xen-api/xenapi-datamodel-graph.dot -+++ b/docs/xen-api/xenapi-datamodel-graph.dot +Index: xen-4.0.1-testing/docs/xen-api/xenapi-datamodel-graph.dot +=================================================================== +--- xen-4.0.1-testing.orig/docs/xen-api/xenapi-datamodel-graph.dot ++++ xen-4.0.1-testing/docs/xen-api/xenapi-datamodel-graph.dot @@ -14,7 +14,7 @@ fontname="Verdana"; node [ shape=box ]; session VM host network VIF PIF SR VDI VBD PBD user; @@ -59,8 +67,10 @@ +cpu_pool -> VM [ arrowhead="crow", arrowtail="none" ] +host -> cpu_pool [ arrowhead="crow", arrowtail="none" ] } ---- a/docs/xen-api/xenapi-datamodel.tex -+++ b/docs/xen-api/xenapi-datamodel.tex +Index: xen-4.0.1-testing/docs/xen-api/xenapi-datamodel.tex +=================================================================== +--- xen-4.0.1-testing.orig/docs/xen-api/xenapi-datamodel.tex ++++ xen-4.0.1-testing/docs/xen-api/xenapi-datamodel.tex @@ -56,6 +56,7 @@ Name & Description \\ {\tt debug} & A basic class for testing \\ {\tt XSPolicy} & A class for handling Xen Security Policies \\ @@ -79,7 +89,7 @@ \hline \end{tabular}\end{center} -@@ -499,6 +503,56 @@ error code and a message describing the +@@ -499,6 +503,56 @@ error code and a message describing the \begin{verbatim}SECURITY_ERROR(xserr, message)\end{verbatim} \begin{center}\rule{10em}{0.1pt}\end{center} ++++++ cpu-pools-libxc.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,5 +1,7 @@ ---- a/tools/libxc/Makefile -+++ b/tools/libxc/Makefile +Index: xen-4.0.1-testing/tools/libxc/Makefile +=================================================================== +--- xen-4.0.1-testing.orig/tools/libxc/Makefile ++++ xen-4.0.1-testing/tools/libxc/Makefile @@ -8,6 +8,7 @@ CTRL_SRCS-y := CTRL_SRCS-y += xc_core.c CTRL_SRCS-$(CONFIG_X86) += xc_core_x86.c @@ -8,8 +10,10 @@ CTRL_SRCS-y += xc_domain.c CTRL_SRCS-y += xc_evtchn.c CTRL_SRCS-y += xc_misc.c +Index: xen-4.0.1-testing/tools/libxc/xc_cpupool.c +=================================================================== --- /dev/null -+++ b/tools/libxc/xc_cpupool.c ++++ xen-4.0.1-testing/tools/libxc/xc_cpupool.c @@ -0,0 +1,165 @@ +/****************************************************************************** + * xc_cpupool.c @@ -176,8 +180,10 @@ + + return 0; +} ---- a/tools/libxc/xc_domain.c -+++ b/tools/libxc/xc_domain.c +Index: xen-4.0.1-testing/tools/libxc/xc_domain.c +=================================================================== +--- xen-4.0.1-testing.orig/tools/libxc/xc_domain.c ++++ xen-4.0.1-testing/tools/libxc/xc_domain.c @@ -220,6 +220,7 @@ int xc_domain_getinfo(int xc_handle, info->cpu_time = domctl.u.getdomaininfo.cpu_time; info->nr_online_vcpus = domctl.u.getdomaininfo.nr_online_vcpus; @@ -186,9 +192,11 @@ memcpy(info->handle, domctl.u.getdomaininfo.handle, sizeof(xen_domain_handle_t)); ---- a/tools/libxc/xenctrl.h -+++ b/tools/libxc/xenctrl.h -@@ -171,6 +171,7 @@ typedef struct xc_dominfo { +Index: xen-4.0.1-testing/tools/libxc/xenctrl.h +=================================================================== +--- xen-4.0.1-testing.orig/tools/libxc/xenctrl.h ++++ xen-4.0.1-testing/tools/libxc/xenctrl.h +@@ -161,6 +161,7 @@ typedef struct xc_dominfo { unsigned int nr_online_vcpus; unsigned int max_vcpu_id; xen_domain_handle_t handle; @@ -196,7 +204,7 @@ } xc_dominfo_t; typedef xen_domctl_getdomaininfo_t xc_domaininfo_t; -@@ -502,6 +503,100 @@ int xc_domain_setdebugging(int xc_handle +@@ -492,6 +493,100 @@ int xc_domain_setdebugging(int xc_handle unsigned int enable); /* ++++++ cpu-pools-libxen.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,17 +1,17 @@ -Index: xen-4.0.0-testing/tools/libxen/include/xen/api/xen_all.h +Index: xen-4.0.1-testing/tools/libxen/include/xen/api/xen_all.h =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/include/xen/api/xen_all.h -+++ xen-4.0.0-testing/tools/libxen/include/xen/api/xen_all.h +--- xen-4.0.1-testing.orig/tools/libxen/include/xen/api/xen_all.h ++++ xen-4.0.1-testing/tools/libxen/include/xen/api/xen_all.h @@ -37,4 +37,5 @@ #include <xen/api/xen_vm_power_state.h> #include <xen/api/xen_vtpm.h> #include <xen/api/xen_xspolicy.h> +#include <xen/api/xen_cpu_pool.h> #endif -Index: xen-4.0.0-testing/tools/libxen/include/xen/api/xen_cpu_pool.h +Index: xen-4.0.1-testing/tools/libxen/include/xen/api/xen_cpu_pool.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/libxen/include/xen/api/xen_cpu_pool.h ++++ xen-4.0.1-testing/tools/libxen/include/xen/api/xen_cpu_pool.h @@ -0,0 +1,424 @@ +/* + * Copyright (c) 2006-2007, XenSource Inc. @@ -437,10 +437,10 @@ + + +#endif -Index: xen-4.0.0-testing/tools/libxen/include/xen/api/xen_cpu_pool_decl.h +Index: xen-4.0.1-testing/tools/libxen/include/xen/api/xen_cpu_pool_decl.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/libxen/include/xen/api/xen_cpu_pool_decl.h ++++ xen-4.0.1-testing/tools/libxen/include/xen/api/xen_cpu_pool_decl.h @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2006-2007, XenSource Inc. @@ -472,10 +472,10 @@ +struct xen_cpu_pool_record_opt_set; + +#endif -Index: xen-4.0.0-testing/tools/libxen/include/xen/api/xen_host.h +Index: xen-4.0.1-testing/tools/libxen/include/xen/api/xen_host.h =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/include/xen/api/xen_host.h -+++ xen-4.0.0-testing/tools/libxen/include/xen/api/xen_host.h +--- xen-4.0.1-testing.orig/tools/libxen/include/xen/api/xen_host.h ++++ xen-4.0.1-testing/tools/libxen/include/xen/api/xen_host.h @@ -29,7 +29,7 @@ #include <xen/api/xen_string_set.h> #include <xen/api/xen_string_string_map.h> @@ -505,10 +505,10 @@ + xen_host host); + #endif -Index: xen-4.0.0-testing/tools/libxen/include/xen/api/xen_host_cpu.h +Index: xen-4.0.1-testing/tools/libxen/include/xen/api/xen_host_cpu.h =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/include/xen/api/xen_host_cpu.h -+++ xen-4.0.0-testing/tools/libxen/include/xen/api/xen_host_cpu.h +--- xen-4.0.1-testing.orig/tools/libxen/include/xen/api/xen_host_cpu.h ++++ xen-4.0.1-testing/tools/libxen/include/xen/api/xen_host_cpu.h @@ -22,6 +22,7 @@ #include <xen/api/xen_common.h> #include <xen/api/xen_host_cpu_decl.h> @@ -544,10 +544,10 @@ + + #endif -Index: xen-4.0.0-testing/tools/libxen/include/xen/api/xen_vm.h +Index: xen-4.0.1-testing/tools/libxen/include/xen/api/xen_vm.h =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/include/xen/api/xen_vm.h -+++ xen-4.0.0-testing/tools/libxen/include/xen/api/xen_vm.h +--- xen-4.0.1-testing.orig/tools/libxen/include/xen/api/xen_vm.h ++++ xen-4.0.1-testing/tools/libxen/include/xen/api/xen_vm.h @@ -34,6 +34,7 @@ #include <xen/api/xen_vm_metrics_decl.h> #include <xen/api/xen_vm_power_state.h> @@ -599,10 +599,10 @@ +xen_vm_cpu_pool_migrate(xen_session *session, xen_vm vm, xen_cpu_pool cpu_pool); + #endif -Index: xen-4.0.0-testing/tools/libxen/src/xen_cpu_pool.c +Index: xen-4.0.1-testing/tools/libxen/src/xen_cpu_pool.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/libxen/src/xen_cpu_pool.c ++++ xen-4.0.1-testing/tools/libxen/src/xen_cpu_pool.c @@ -0,0 +1,671 @@ +/* + * Copyright (c) 2006-2007, XenSource Inc. @@ -1275,10 +1275,10 @@ + return session->ok; +} + -Index: xen-4.0.0-testing/tools/libxen/src/xen_host.c +Index: xen-4.0.1-testing/tools/libxen/src/xen_host.c =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/src/xen_host.c -+++ xen-4.0.0-testing/tools/libxen/src/xen_host.c +--- xen-4.0.1-testing.orig/tools/libxen/src/xen_host.c ++++ xen-4.0.1-testing/tools/libxen/src/xen_host.c @@ -30,6 +30,7 @@ #include <xen/api/xen_sr.h> #include <xen/api/xen_string_string_map.h> @@ -1330,10 +1330,10 @@ + return session->ok; +} + -Index: xen-4.0.0-testing/tools/libxen/src/xen_host_cpu.c +Index: xen-4.0.1-testing/tools/libxen/src/xen_host_cpu.c =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/src/xen_host_cpu.c -+++ xen-4.0.0-testing/tools/libxen/src/xen_host_cpu.c +--- xen-4.0.1-testing.orig/tools/libxen/src/xen_host_cpu.c ++++ xen-4.0.1-testing/tools/libxen/src/xen_host_cpu.c @@ -24,6 +24,7 @@ #include <xen/api/xen_common.h> #include <xen/api/xen_host.h> @@ -1397,10 +1397,10 @@ + + + -Index: xen-4.0.0-testing/tools/libxen/src/xen_vm.c +Index: xen-4.0.1-testing/tools/libxen/src/xen_vm.c =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/src/xen_vm.c -+++ xen-4.0.0-testing/tools/libxen/src/xen_vm.c +--- xen-4.0.1-testing.orig/tools/libxen/src/xen_vm.c ++++ xen-4.0.1-testing/tools/libxen/src/xen_vm.c @@ -36,6 +36,7 @@ #include <xen/api/xen_vm_guest_metrics.h> #include <xen/api/xen_vm_metrics.h> @@ -1504,10 +1504,10 @@ +} + + -Index: xen-4.0.0-testing/tools/libxen/test/test_bindings.c +Index: xen-4.0.1-testing/tools/libxen/test/test_bindings.c =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/test/test_bindings.c -+++ xen-4.0.0-testing/tools/libxen/test/test_bindings.c +--- xen-4.0.1-testing.orig/tools/libxen/test/test_bindings.c ++++ xen-4.0.1-testing/tools/libxen/test/test_bindings.c @@ -28,6 +28,7 @@ #include <xen/api/xen_all.h> ++++++ cpu-pools-python.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/lowlevel/xc/xc.c ++++ xen-4.0.1-testing/tools/python/xen/lowlevel/xc/xc.c @@ -106,8 +106,8 @@ static PyObject *pyxc_domain_create(XcOb static char *kwd_list[] = { "domid", "ssidref", "handle", "flags", "target", NULL }; @@ -289,10 +289,10 @@ { NULL, NULL, 0, NULL } }; -Index: xen-4.0.0-testing/tools/python/xen/util/sxputils.py +Index: xen-4.0.1-testing/tools/python/xen/util/sxputils.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/util/sxputils.py ++++ xen-4.0.1-testing/tools/python/xen/util/sxputils.py @@ -0,0 +1,64 @@ +#============================================================================ +# This library is free software; you can redistribute it and/or @@ -358,10 +358,10 @@ + return sxphash + + -Index: xen-4.0.0-testing/tools/python/xen/xend/XendAPI.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendAPI.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendAPI.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendAPI.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendAPI.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendAPI.py @@ -51,6 +51,7 @@ from XendDPCI import XendDPCI from XendPSCSI import XendPSCSI, XendPSCSI_HBA from XendDSCSI import XendDSCSI, XendDSCSI_HBA @@ -553,10 +553,10 @@ # Xen API: Class VBD # ---------------------------------------------------------------- -Index: xen-4.0.0-testing/tools/python/xen/xend/XendCPUPool.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendCPUPool.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xend/XendCPUPool.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendCPUPool.py @@ -0,0 +1,903 @@ +#============================================================================ +# This library is free software; you can redistribute it and/or @@ -1461,10 +1461,10 @@ + + unbound_cpus = classmethod(unbound_cpus) + -Index: xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py @@ -134,6 +134,7 @@ XENAPI_CFG_TO_LEGACY_CFG = { 'PV_bootloader': 'bootloader', 'PV_bootloader_args': 'bootloader_args', @@ -1505,10 +1505,10 @@ 'superpages': 0, 'description': '', } -Index: xen-4.0.0-testing/tools/python/xen/xend/XendConstants.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendConstants.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConstants.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendConstants.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendConstants.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendConstants.py @@ -133,6 +133,8 @@ VTPM_DELETE_SCRIPT = auxbin.scripts_dir( XS_VMROOT = "/vm/" @@ -1518,10 +1518,10 @@ NR_PCI_FUNC = 8 NR_PCI_DEV = 32 NR_PCI_DEVFN = NR_PCI_FUNC * NR_PCI_DEV -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -60,6 +60,7 @@ from xen.xend.xenstore.xsutil import Get from xen.xend.xenstore.xswatch import xswatch from xen.xend.XendConstants import * @@ -1574,10 +1574,10 @@ def get_power_state(self): return XEN_API_VM_POWER_STATE[self._stateGet()] def get_platform(self): -Index: xen-4.0.0-testing/tools/python/xen/xend/XendError.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendError.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendError.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendError.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendError.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendError.py @@ -18,6 +18,7 @@ from xmlrpclib import Fault @@ -1613,10 +1613,10 @@ class VDIError(XendAPIError): def __init__(self, error, vdi): XendAPIError.__init__(self) -Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendNode.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendNode.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendNode.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendNode.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendNode.py @@ -43,6 +43,7 @@ from XendStateStore import XendStateStor from XendMonitor import XendMonitor from XendPPCI import XendPPCI @@ -1690,10 +1690,10 @@ 'max_free_memory', 'max_para_memory', 'max_hvm_memory', -Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvServer.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/SrvServer.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/SrvServer.py @@ -52,6 +52,7 @@ from xen.xend import XendNode, XendOptio from xen.xend.XendLogging import log from xen.xend.XendClient import XEN_API_SOCKET @@ -1715,10 +1715,10 @@ # Reaching this point means we can auto start domains try: xenddomain().autostart_domains() -Index: xen-4.0.0-testing/tools/python/xen/xend/server/XMLRPCServer.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/XMLRPCServer.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/XMLRPCServer.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/XMLRPCServer.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/XMLRPCServer.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/XMLRPCServer.py @@ -33,6 +33,7 @@ from xen.xend.XendClient import XML_RPC_ from xen.xend.XendConstants import DOM_STATE_RUNNING from xen.xend.XendLogging import log @@ -1750,10 +1750,10 @@ # Functions in XendNode and XendDmesg for type, lst, n in [(XendNode, ['info', 'pciinfo', 'send_debug_keys', -Index: xen-4.0.0-testing/tools/python/xen/xm/create.dtd +Index: xen-4.0.1-testing/tools/python/xen/xm/create.dtd =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/create.dtd -+++ xen-4.0.0-testing/tools/python/xen/xm/create.dtd +--- xen-4.0.1-testing.orig/tools/python/xen/xm/create.dtd ++++ xen-4.0.1-testing/tools/python/xen/xm/create.dtd @@ -50,6 +50,7 @@ s3_integrity CDATA #REQUIRED vcpus_max CDATA #REQUIRED @@ -1762,10 +1762,10 @@ actions_after_shutdown %NORMAL_EXIT; #REQUIRED actions_after_reboot %NORMAL_EXIT; #REQUIRED actions_after_crash %CRASH_BEHAVIOUR; #REQUIRED -Index: xen-4.0.0-testing/tools/python/xen/xm/create.py +Index: xen-4.0.1-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.0.0-testing/tools/python/xen/xm/create.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.0.1-testing/tools/python/xen/xm/create.py @@ -659,6 +659,10 @@ gopts.var('suppress_spurious_page_faults fn=set_bool, default=None, use="""Do not inject spurious page faults into this guest""") @@ -1777,7 +1777,7 @@ gopts.var('pci_msitranslate', val='TRANSLATE', fn=set_int, default=1, use="""Global PCI MSI-INTx translation flag (0=disable; -@@ -1149,6 +1153,8 @@ def make_config(vals): +@@ -1157,6 +1161,8 @@ def make_config(vals): config.append(['localtime', vals.localtime]) if vals.oos: config.append(['oos', vals.oos]) @@ -1786,10 +1786,10 @@ config_image = configure_image(vals) if vals.bootloader: -Index: xen-4.0.0-testing/tools/python/xen/xm/main.py +Index: xen-4.0.1-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.0.0-testing/tools/python/xen/xm/main.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.0.1-testing/tools/python/xen/xm/main.py @@ -56,6 +56,7 @@ from xen.util.xmlrpcclient import Server import xen.util.xsm.xsm as security from xen.util.xsm.xsm import XSMError @@ -1939,7 +1939,7 @@ if use_long: map(PrettyPrint.prettyprint, doms) -@@ -1839,6 +1892,13 @@ def xm_info(args): +@@ -1841,6 +1894,13 @@ def xm_info(args): else: return "" @@ -1953,7 +1953,7 @@ info = { "host": getVal(["name_label"]), "release": getVal(["software_version", "release"]), -@@ -1850,6 +1910,7 @@ def xm_info(args): +@@ -1852,6 +1912,7 @@ def xm_info(args): "threads_per_core": getVal(["cpu_configuration", "threads_per_core"]), "cpu_mhz": getCpuMhz(), "hw_caps": getCpuFeatures(), @@ -1961,7 +1961,7 @@ "total_memory": int(host_metrics_record["memory_total"])/1024/1024, "free_memory": int(host_metrics_record["memory_free"])/1024/1024, "xen_major": getVal(["software_version", "xen_major"]), -@@ -3484,6 +3545,169 @@ def xm_tmem_shared_auth(args): +@@ -3486,6 +3547,169 @@ def xm_tmem_shared_auth(args): else: return server.xend.node.tmem_shared_auth(domid,uuid_str,auth) @@ -2131,7 +2131,7 @@ commands = { "shell": xm_shell, -@@ -3569,6 +3793,14 @@ commands = { +@@ -3571,6 +3795,14 @@ commands = { "usb-list-assignable-devices": xm_usb_list_assignable_devices, "usb-hc-create": xm_usb_hc_create, "usb-hc-destroy": xm_usb_hc_destroy, @@ -2146,7 +2146,7 @@ # tmem "tmem-thaw": xm_tmem_thaw, "tmem-freeze": xm_tmem_freeze, -@@ -3602,6 +3834,8 @@ IMPORTED_COMMANDS = [ +@@ -3604,6 +3836,8 @@ IMPORTED_COMMANDS = [ 'resetpolicy', 'getenforce', 'setenforce', @@ -2155,10 +2155,10 @@ ] for c in IMPORTED_COMMANDS: -Index: xen-4.0.0-testing/tools/python/xen/xm/pool-create.py +Index: xen-4.0.1-testing/tools/python/xen/xm/pool-create.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xm/pool-create.py ++++ xen-4.0.1-testing/tools/python/xen/xm/pool-create.py @@ -0,0 +1,51 @@ +#============================================================================ +# This library is free software; you can redistribute it and/or @@ -2211,10 +2211,10 @@ +if __name__ == '__main__': + main(sys.argv) + -Index: xen-4.0.0-testing/tools/python/xen/xm/pool-new.py +Index: xen-4.0.1-testing/tools/python/xen/xm/pool-new.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xm/pool-new.py ++++ xen-4.0.1-testing/tools/python/xen/xm/pool-new.py @@ -0,0 +1,50 @@ +#============================================================================ +# This library is free software; you can redistribute it and/or @@ -2266,10 +2266,10 @@ +if __name__ == '__main__': + main(sys.argv) + -Index: xen-4.0.0-testing/tools/python/xen/xm/pool.py +Index: xen-4.0.1-testing/tools/python/xen/xm/pool.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/python/xen/xm/pool.py ++++ xen-4.0.1-testing/tools/python/xen/xm/pool.py @@ -0,0 +1,236 @@ +#============================================================================ +# This library is free software; you can redistribute it and/or @@ -2507,10 +2507,10 @@ +def help(): + return str(GOPTS) + -Index: xen-4.0.0-testing/tools/python/xen/xm/xenapi_create.py +Index: xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/xenapi_create.py -+++ xen-4.0.0-testing/tools/python/xen/xm/xenapi_create.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/xenapi_create.py ++++ xen-4.0.1-testing/tools/python/xen/xm/xenapi_create.py @@ -310,6 +310,8 @@ class xenapi_create: get_child_nodes_as_dict(vm, "platform", "key", "value"), "other_config": ++++++ cpu-pools-xmtest.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/xm-test/configure.ac +Index: xen-4.0.1-testing/tools/xm-test/configure.ac =================================================================== ---- xen-4.0.0-testing.orig/tools/xm-test/configure.ac -+++ xen-4.0.0-testing/tools/xm-test/configure.ac +--- xen-4.0.1-testing.orig/tools/xm-test/configure.ac ++++ xen-4.0.1-testing/tools/xm-test/configure.ac @@ -161,6 +161,7 @@ AC_CONFIG_FILES([ tests/vtpm/Makefile tests/xapi/Makefile @@ -10,16 +10,16 @@ lib/XmTestReport/xmtest.py lib/XmTestLib/config.py ]) -Index: xen-4.0.0-testing/tools/xm-test/grouptest/cpupool +Index: xen-4.0.1-testing/tools/xm-test/grouptest/cpupool =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/grouptest/cpupool ++++ xen-4.0.1-testing/tools/xm-test/grouptest/cpupool @@ -0,0 +1 @@ +cpupool -Index: xen-4.0.0-testing/tools/xm-test/lib/XmTestLib/NetConfig.py +Index: xen-4.0.1-testing/tools/xm-test/lib/XmTestLib/NetConfig.py =================================================================== ---- xen-4.0.0-testing.orig/tools/xm-test/lib/XmTestLib/NetConfig.py -+++ xen-4.0.0-testing/tools/xm-test/lib/XmTestLib/NetConfig.py +--- xen-4.0.1-testing.orig/tools/xm-test/lib/XmTestLib/NetConfig.py ++++ xen-4.0.1-testing/tools/xm-test/lib/XmTestLib/NetConfig.py @@ -56,17 +56,21 @@ def getXendNetConfig(): val = pin.get_val() while val[0] != 'network-script': @@ -51,10 +51,10 @@ configfile.close() return netenv -Index: xen-4.0.0-testing/tools/xm-test/lib/XmTestLib/XenDomain.py +Index: xen-4.0.1-testing/tools/xm-test/lib/XmTestLib/XenDomain.py =================================================================== ---- xen-4.0.0-testing.orig/tools/xm-test/lib/XmTestLib/XenDomain.py -+++ xen-4.0.0-testing/tools/xm-test/lib/XmTestLib/XenDomain.py +--- xen-4.0.1-testing.orig/tools/xm-test/lib/XmTestLib/XenDomain.py ++++ xen-4.0.1-testing/tools/xm-test/lib/XmTestLib/XenDomain.py @@ -181,6 +181,7 @@ class XenDomain: if not self.isManaged: @@ -63,10 +63,10 @@ else: ret, output = traceCommand("xm new %s" % self.config) if ret != 0: -Index: xen-4.0.0-testing/tools/xm-test/runtest.sh +Index: xen-4.0.1-testing/tools/xm-test/runtest.sh =================================================================== ---- xen-4.0.0-testing.orig/tools/xm-test/runtest.sh -+++ xen-4.0.0-testing/tools/xm-test/runtest.sh +--- xen-4.0.1-testing.orig/tools/xm-test/runtest.sh ++++ xen-4.0.1-testing/tools/xm-test/runtest.sh @@ -91,7 +91,7 @@ runnable_tests() { echo "Error: ramdisk/initrd.img is from an old version, or is not for this " echo "architecture ($ARCH)." @@ -76,10 +76,10 @@ fi # See if xend is running -Index: xen-4.0.0-testing/tools/xm-test/tests/Makefile.am +Index: xen-4.0.1-testing/tools/xm-test/tests/Makefile.am =================================================================== ---- xen-4.0.0-testing.orig/tools/xm-test/tests/Makefile.am -+++ xen-4.0.0-testing/tools/xm-test/tests/Makefile.am +--- xen-4.0.1-testing.orig/tools/xm-test/tests/Makefile.am ++++ xen-4.0.1-testing/tools/xm-test/tests/Makefile.am @@ -28,7 +28,8 @@ SUBDIRS = \ vcpu-pin \ vtpm \ @@ -90,10 +90,10 @@ EXTRA_DIST = $(SUBDIRS) Makefile.am.template -Index: xen-4.0.0-testing/tools/xm-test/tests/cpupool/01_cpupool_basic_pos.py +Index: xen-4.0.1-testing/tools/xm-test/tests/cpupool/01_cpupool_basic_pos.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/tests/cpupool/01_cpupool_basic_pos.py ++++ xen-4.0.1-testing/tools/xm-test/tests/cpupool/01_cpupool_basic_pos.py @@ -0,0 +1,72 @@ +#!/usr/bin/python + @@ -167,10 +167,10 @@ +destroyAllDomUs() + + -Index: xen-4.0.0-testing/tools/xm-test/tests/cpupool/02_cpupool_manage_pos.py +Index: xen-4.0.1-testing/tools/xm-test/tests/cpupool/02_cpupool_manage_pos.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/tests/cpupool/02_cpupool_manage_pos.py ++++ xen-4.0.1-testing/tools/xm-test/tests/cpupool/02_cpupool_manage_pos.py @@ -0,0 +1,152 @@ +#!/usr/bin/python + @@ -324,10 +324,10 @@ + FAIL("'Pool-1' not deleted") + + -Index: xen-4.0.0-testing/tools/xm-test/tests/cpupool/03_cpupool_domain.py +Index: xen-4.0.1-testing/tools/xm-test/tests/cpupool/03_cpupool_domain.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/tests/cpupool/03_cpupool_domain.py ++++ xen-4.0.1-testing/tools/xm-test/tests/cpupool/03_cpupool_domain.py @@ -0,0 +1,126 @@ +#!/usr/bin/python + @@ -455,10 +455,10 @@ +for pool in pool_names: + destroyPool(pool, True) + -Index: xen-4.0.0-testing/tools/xm-test/tests/cpupool/04_cpupool_migrate.py +Index: xen-4.0.1-testing/tools/xm-test/tests/cpupool/04_cpupool_migrate.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/tests/cpupool/04_cpupool_migrate.py ++++ xen-4.0.1-testing/tools/xm-test/tests/cpupool/04_cpupool_migrate.py @@ -0,0 +1,84 @@ +#!/usr/bin/python + @@ -544,10 +544,10 @@ +# +cleanupPoolsDomains() + -Index: xen-4.0.0-testing/tools/xm-test/tests/cpupool/Makefile.am +Index: xen-4.0.1-testing/tools/xm-test/tests/cpupool/Makefile.am =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/tests/cpupool/Makefile.am ++++ xen-4.0.1-testing/tools/xm-test/tests/cpupool/Makefile.am @@ -0,0 +1,22 @@ +SUBDIRS = + @@ -571,16 +571,16 @@ + rm -f *log + rm -f *~ + -Index: xen-4.0.0-testing/tools/xm-test/tests/cpupool/pool1.cfg +Index: xen-4.0.1-testing/tools/xm-test/tests/cpupool/pool1.cfg =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/tests/cpupool/pool1.cfg ++++ xen-4.0.1-testing/tools/xm-test/tests/cpupool/pool1.cfg @@ -0,0 +1 @@ +name="Pool-1" -Index: xen-4.0.0-testing/tools/xm-test/tests/cpupool/pools.py +Index: xen-4.0.1-testing/tools/xm-test/tests/cpupool/pools.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/tests/cpupool/pools.py ++++ xen-4.0.1-testing/tools/xm-test/tests/cpupool/pools.py @@ -0,0 +1,78 @@ +#!/usr/bin/python + @@ -660,10 +660,10 @@ + break + time.sleep(1) + -Index: xen-4.0.0-testing/tools/xm-test/tests/xapi/20_xapi-cpu_pool_basic.py +Index: xen-4.0.1-testing/tools/xm-test/tests/xapi/20_xapi-cpu_pool_basic.py =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xm-test/tests/xapi/20_xapi-cpu_pool_basic.py ++++ xen-4.0.1-testing/tools/xm-test/tests/xapi/20_xapi-cpu_pool_basic.py @@ -0,0 +1,157 @@ +#!/usr/bin/python + @@ -822,10 +822,10 @@ +if pool1 in session.xenapi.cpu_pool.get_all(): + FAIL("cpu_pool.destroy() has not removed pool") + -Index: xen-4.0.0-testing/tools/xm-test/tests/xapi/Makefile.am +Index: xen-4.0.1-testing/tools/xm-test/tests/xapi/Makefile.am =================================================================== ---- xen-4.0.0-testing.orig/tools/xm-test/tests/xapi/Makefile.am -+++ xen-4.0.0-testing/tools/xm-test/tests/xapi/Makefile.am +--- xen-4.0.1-testing.orig/tools/xm-test/tests/xapi/Makefile.am ++++ xen-4.0.1-testing/tools/xm-test/tests/xapi/Makefile.am @@ -3,7 +3,8 @@ SUBDIRS = TESTS = 01_xapi-vm_basic.test \ 02_xapi-vbd_basic.test \ ++++++ cpupools-core-fixup.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -9,9 +9,11 @@ missing adjustments get detected at build time) - remove boot time per-CPU pool assignment messages (bnc#572146) ---- a/xen/arch/x86/domain.c -+++ b/xen/arch/x86/domain.c -@@ -1581,6 +1581,7 @@ int continue_hypercall_on_cpu(int cpu, v +Index: xen-4.0.1-testing/xen/arch/x86/domain.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/domain.c ++++ xen-4.0.1-testing/xen/arch/x86/domain.c +@@ -1585,6 +1585,7 @@ int continue_hypercall_on_cpu(int cpu, v v->arch.schedule_tail = continue_hypercall_on_cpu_helper; v->arch.continue_info = info; @@ -19,7 +21,7 @@ } else { -@@ -1591,8 +1592,7 @@ int continue_hypercall_on_cpu(int cpu, v +@@ -1595,8 +1596,7 @@ int continue_hypercall_on_cpu(int cpu, v info->func = func; info->data = data; @@ -29,8 +31,10 @@ raise_softirq(SCHEDULE_SOFTIRQ); /* Dummy return value will be overwritten by new schedule_tail. */ ---- a/xen/common/sched_credit.c -+++ b/xen/common/sched_credit.c +Index: xen-4.0.1-testing/xen/common/sched_credit.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/common/sched_credit.c ++++ xen-4.0.1-testing/xen/common/sched_credit.c @@ -176,7 +176,6 @@ struct csched_private { /* * Global variables @@ -54,8 +58,10 @@ .init_domain = csched_dom_init, .destroy_domain = csched_dom_destroy, ---- a/xen/common/softirq.c -+++ b/xen/common/softirq.c +Index: xen-4.0.1-testing/xen/common/softirq.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/common/softirq.c ++++ xen-4.0.1-testing/xen/common/softirq.c @@ -104,12 +104,15 @@ static void tasklet_schedule_list(struct { BUG_ON(!list_empty(&t->list)); @@ -99,8 +105,10 @@ } /* ---- a/xen/include/public/domctl.h -+++ b/xen/include/public/domctl.h +Index: xen-4.0.1-testing/xen/include/public/domctl.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/public/domctl.h ++++ xen-4.0.1-testing/xen/include/public/domctl.h @@ -35,7 +35,7 @@ #include "xen.h" #include "grant_table.h" @@ -110,8 +118,10 @@ struct xenctl_cpumap { XEN_GUEST_HANDLE_64(uint8) bitmap; ---- a/xen/include/xen/softirq.h -+++ b/xen/include/xen/softirq.h +Index: xen-4.0.1-testing/xen/include/xen/softirq.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/xen/softirq.h ++++ xen-4.0.1-testing/xen/include/xen/softirq.h @@ -50,15 +50,17 @@ struct tasklet bool_t is_scheduled; bool_t is_running; ++++++ cpupools-core.patch ++++++ ++++ 630 lines (skipped) ++++ between xen/cpupools-core.patch ++++ and /mounts/work_src_done/STABLE/xen/cpupools-core.patch ++++++ del_usb_xend_entry.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,8 +1,8 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 -@@ -1310,8 +1310,15 @@ class XendDomainInfo: +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -1313,8 +1313,15 @@ class XendDomainInfo: frontpath = self.getDeviceController(deviceClass).frontendPath(dev) backpath = xstransact.Read(frontpath, "backend") thread.start_new_thread(self.getDeviceController(deviceClass).finishDeviceCleanup, (backpath, path)) ++++++ disable_emulated_device.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.0.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -401,6 +401,11 @@ static int __devinit platform_pci_init(s platform_mmio = mmio_addr; platform_mmiolen = mmio_len; ++++++ dom-print.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,6 +1,8 @@ ---- a/xen/arch/x86/domain.c -+++ b/xen/arch/x86/domain.c -@@ -144,14 +144,29 @@ void dump_pageframe_info(struct domain * +Index: xen-4.0.1-testing/xen/arch/x86/domain.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/domain.c ++++ xen-4.0.1-testing/xen/arch/x86/domain.c +@@ -144,15 +144,30 @@ void dump_pageframe_info(struct domain * printk("Memory pages belonging to domain %u:\n", d->domain_id); @@ -14,6 +16,7 @@ + unsigned long total[PGT_type_mask + / (PGT_type_mask & -PGT_type_mask) + 1] = {}; + + spin_lock(&d->page_alloc_lock); page_list_for_each ( page, &d->page_list ) { + unsigned int index = (page->u.inuse.type_info & PGT_type_mask) ++++++ domu-usb-controller.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py @@ -1861,7 +1861,14 @@ class XendConfig(dict): ports = sxp.child(dev_sxp, 'port') for port in ports[1:]: ++++++ dump-exec-state.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,6 +1,8 @@ ---- a/xen/arch/ia64/linux-xen/smp.c -+++ b/xen/arch/ia64/linux-xen/smp.c -@@ -94,6 +94,7 @@ static volatile struct call_data_struct +Index: xen-4.0.1-testing/xen/arch/ia64/linux-xen/smp.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/ia64/linux-xen/smp.c ++++ xen-4.0.1-testing/xen/arch/ia64/linux-xen/smp.c +@@ -94,6 +94,7 @@ static volatile struct call_data_struct #define IPI_CALL_FUNC 0 #define IPI_CPU_STOP 1 @@ -32,8 +34,10 @@ int __init setup_profiling_timer (unsigned int multiplier) { ---- a/xen/arch/x86/smp.c -+++ b/xen/arch/x86/smp.c +Index: xen-4.0.1-testing/xen/arch/x86/smp.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/smp.c ++++ xen-4.0.1-testing/xen/arch/x86/smp.c @@ -375,11 +375,24 @@ void smp_send_nmi_allbutself(void) send_IPI_mask(&cpu_online_map, APIC_DM_NMI); } @@ -59,8 +63,10 @@ set_irq_regs(old_regs); } ---- a/xen/common/keyhandler.c -+++ b/xen/common/keyhandler.c +Index: xen-4.0.1-testing/xen/common/keyhandler.c +=================================================================== +--- xen-4.0.1-testing.orig/xen/common/keyhandler.c ++++ xen-4.0.1-testing/xen/common/keyhandler.c @@ -71,19 +71,52 @@ static struct keyhandler show_handlers_k .desc = "show this message" }; @@ -151,8 +157,10 @@ printk("\n"); ---- a/xen/include/asm-ia64/linux-xen/asm/ptrace.h -+++ b/xen/include/asm-ia64/linux-xen/asm/ptrace.h +Index: xen-4.0.1-testing/xen/include/asm-ia64/linux-xen/asm/ptrace.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/asm-ia64/linux-xen/asm/ptrace.h ++++ xen-4.0.1-testing/xen/include/asm-ia64/linux-xen/asm/ptrace.h @@ -278,7 +278,7 @@ struct switch_stack { # define ia64_task_regs(t) (((struct pt_regs *) ((char *) (t) + IA64_STK_OFFSET)) - 1) # define ia64_psr(regs) ((struct ia64_psr *) &(regs)->cr_ipsr) @@ -162,8 +170,10 @@ # define guest_kernel_mode(regs) (ia64_psr(regs)->cpl == CONFIG_CPL0_EMUL) # define vmx_guest_kernel_mode(regs) (ia64_psr(regs)->cpl == 0) # define regs_increment_iip(regs) \ ---- a/xen/include/asm-x86/hardirq.h -+++ b/xen/include/asm-x86/hardirq.h +Index: xen-4.0.1-testing/xen/include/asm-x86/hardirq.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/asm-x86/hardirq.h ++++ xen-4.0.1-testing/xen/include/asm-x86/hardirq.h @@ -8,6 +8,7 @@ typedef struct { unsigned long __softirq_pending; unsigned int __local_irq_count; @@ -172,8 +182,10 @@ } __cacheline_aligned irq_cpustat_t; #include <xen/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ ---- a/xen/include/xen/irq_cpustat.h -+++ b/xen/include/xen/irq_cpustat.h +Index: xen-4.0.1-testing/xen/include/xen/irq_cpustat.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/xen/irq_cpustat.h ++++ xen-4.0.1-testing/xen/include/xen/irq_cpustat.h @@ -26,5 +26,6 @@ extern irq_cpustat_t irq_stat[]; #define softirq_pending(cpu) __IRQ_STAT((cpu), __softirq_pending) #define local_irq_count(cpu) __IRQ_STAT((cpu), __local_irq_count) @@ -181,9 +193,11 @@ +#define state_dump_pending(cpu) __IRQ_STAT((cpu), __state_dump_pending) #endif /* __irq_cpustat_h */ ---- a/xen/include/xen/lib.h -+++ b/xen/include/xen/lib.h -@@ -111,4 +111,7 @@ extern int tainted; +Index: xen-4.0.1-testing/xen/include/xen/lib.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/xen/lib.h ++++ xen-4.0.1-testing/xen/include/xen/lib.h +@@ -116,4 +116,7 @@ extern int tainted; extern char *print_tainted(char *str); extern void add_taint(unsigned); @@ -191,8 +205,10 @@ +void dump_execstate(struct cpu_user_regs *); + #endif /* __LIB_H__ */ ---- a/xen/include/xen/smp.h -+++ b/xen/include/xen/smp.h +Index: xen-4.0.1-testing/xen/include/xen/smp.h +=================================================================== +--- xen-4.0.1-testing.orig/xen/include/xen/smp.h ++++ xen-4.0.1-testing/xen/include/xen/smp.h @@ -13,6 +13,8 @@ extern void smp_send_event_check_mask(co #define smp_send_event_check_cpu(cpu) \ smp_send_event_check_mask(cpumask_of(cpu)) ++++++ enable_more_nic_pxe.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/firmware/etherboot/Config +Index: xen-4.0.1-testing/tools/firmware/etherboot/Config =================================================================== ---- xen-4.0.0-testing.orig/tools/firmware/etherboot/Config -+++ xen-4.0.0-testing/tools/firmware/etherboot/Config +--- xen-4.0.1-testing.orig/tools/firmware/etherboot/Config ++++ xen-4.0.1-testing/tools/firmware/etherboot/Config @@ -1,5 +1,5 @@ -NICS = rtl8139 eepro100 @@ -9,10 +9,10 @@ CFLAGS += -UPXE_DHCP_STRICT CFLAGS += -DPXE_DHCP_STRICT -Index: xen-4.0.0-testing/tools/firmware/etherboot/eb-roms.h +Index: xen-4.0.1-testing/tools/firmware/etherboot/eb-roms.h =================================================================== ---- xen-4.0.0-testing.orig/tools/firmware/etherboot/eb-roms.h -+++ xen-4.0.0-testing/tools/firmware/etherboot/eb-roms.h +--- xen-4.0.1-testing.orig/tools/firmware/etherboot/eb-roms.h ++++ xen-4.0.1-testing/tools/firmware/etherboot/eb-roms.h @@ -6367,5 +6367,6149 @@ unsigned etherboot[] = { 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, ++++++ hibernate.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/firmware/hvmloader/acpi/dsdt.asl +Index: xen-4.0.1-testing/tools/firmware/hvmloader/acpi/dsdt.asl =================================================================== ---- xen-4.0.0-testing.orig/tools/firmware/hvmloader/acpi/dsdt.asl -+++ xen-4.0.0-testing/tools/firmware/hvmloader/acpi/dsdt.asl +--- xen-4.0.1-testing.orig/tools/firmware/hvmloader/acpi/dsdt.asl ++++ xen-4.0.1-testing/tools/firmware/hvmloader/acpi/dsdt.asl @@ -30,21 +30,9 @@ DefinitionBlock ("DSDT.aml", "DSDT", 2, /* * S3 (suspend-to-ram), S4 (suspend-to-disc) and S5 (power-off) type codes: ++++++ hv_tools.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/lowlevel/xc/xc.c +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/lowlevel/xc/xc.c ++++ xen-4.0.1-testing/tools/python/xen/lowlevel/xc/xc.c @@ -944,16 +944,16 @@ static PyObject *pyxc_hvm_build(XcObject #endif int i; @@ -32,10 +32,10 @@ return Py_BuildValue("{}"); } -Index: xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py @@ -157,6 +157,7 @@ XENAPI_PLATFORM_CFG_TYPES = { 'nographic': int, 'nomigrate': int, @@ -44,10 +44,10 @@ 'rtc_timeoffset': int, 'parallel': str, 'serial': str, -Index: xen-4.0.0-testing/tools/python/xen/xend/image.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.0.1-testing/tools/python/xen/xend/image.py @@ -839,6 +839,7 @@ class HVMImageHandler(ImageHandler): self.apic = int(vmConfig['platform'].get('apic', 0)) @@ -72,10 +72,10 @@ acpi = self.acpi, apic = self.apic) rc['notes'] = { 'SUSPEND_CANCEL': 1 } -Index: xen-4.0.0-testing/tools/python/xen/xm/create.py +Index: xen-4.0.1-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.0.0-testing/tools/python/xen/xm/create.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.0.1-testing/tools/python/xen/xm/create.py @@ -242,6 +242,10 @@ gopts.var('viridian', val='VIRIDIAN', use="""Expose Viridian interface to x86 HVM guest? (Default is 0).""") @@ -87,7 +87,7 @@ gopts.var('acpi', val='ACPI', fn=set_int, default=1, use="Disable or enable ACPI of HVM domain.") -@@ -1083,7 +1087,7 @@ def configure_hvm(config_image, vals): +@@ -1091,7 +1095,7 @@ def configure_hvm(config_image, vals): 'timer_mode', 'usb', 'usbdevice', 'vcpus', 'vnc', 'vncconsole', 'vncdisplay', 'vnclisten', ++++++ hv_win7_eoi_bug.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/hvm/hyperv/hv_intercept.c -+++ xen-4.0.0-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c +--- xen-4.0.1-testing.orig/xen/arch/x86/hvm/hyperv/hv_intercept.c ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c @@ -33,6 +33,7 @@ #include <asm/config.h> ++++++ hv_xen_base.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/xen/include/asm-x86/hvm/domain.h +Index: xen-4.0.1-testing/xen/include/asm-x86/hvm/domain.h =================================================================== ---- xen-4.0.0-testing.orig/xen/include/asm-x86/hvm/domain.h -+++ xen-4.0.0-testing/xen/include/asm-x86/hvm/domain.h +--- xen-4.0.1-testing.orig/xen/include/asm-x86/hvm/domain.h ++++ xen-4.0.1-testing/xen/include/asm-x86/hvm/domain.h @@ -96,6 +96,7 @@ struct hvm_domain { struct vmx_domain vmx; struct svm_domain svm; @@ -10,10 +10,10 @@ }; #endif /* __ASM_X86_HVM_DOMAIN_H__ */ -Index: xen-4.0.0-testing/xen/arch/x86/hvm/Makefile +Index: xen-4.0.1-testing/xen/arch/x86/hvm/Makefile =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/hvm/Makefile -+++ xen-4.0.0-testing/xen/arch/x86/hvm/Makefile +--- xen-4.0.1-testing.orig/xen/arch/x86/hvm/Makefile ++++ xen-4.0.1-testing/xen/arch/x86/hvm/Makefile @@ -1,5 +1,6 @@ subdir-y += svm subdir-y += vmx @@ -21,10 +21,10 @@ obj-y += asid.o obj-y += emulate.o -Index: xen-4.0.0-testing/xen/arch/x86/hvm/hvm.c +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hvm.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/hvm/hvm.c -+++ xen-4.0.0-testing/xen/arch/x86/hvm/hvm.c +--- xen-4.0.1-testing.orig/xen/arch/x86/hvm/hvm.c ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hvm.c @@ -48,6 +48,7 @@ #include <asm/mc146818rtc.h> #include <asm/spinlock.h> @@ -107,7 +107,7 @@ return hvm_funcs.msr_write_intercept(regs); } -@@ -2330,6 +2346,10 @@ int hvm_do_hypercall(struct cpu_user_reg +@@ -2344,6 +2360,10 @@ int hvm_do_hypercall(struct cpu_user_reg case 0: break; } @@ -118,7 +118,7 @@ if ( (eax & 0x80000000) && is_viridian_domain(curr->domain) ) return viridian_hypercall(regs); -@@ -2864,6 +2884,18 @@ long do_hvm_op(unsigned long op, XEN_GUE +@@ -2878,6 +2898,18 @@ long do_hvm_op(unsigned long op, XEN_GUE rc = -EINVAL; break; @@ -137,10 +137,10 @@ } if ( rc == 0 ) -Index: xen-4.0.0-testing/xen/include/public/arch-x86/hvm/save.h +Index: xen-4.0.1-testing/xen/include/public/arch-x86/hvm/save.h =================================================================== ---- xen-4.0.0-testing.orig/xen/include/public/arch-x86/hvm/save.h -+++ xen-4.0.0-testing/xen/include/public/arch-x86/hvm/save.h +--- xen-4.0.1-testing.orig/xen/include/public/arch-x86/hvm/save.h ++++ xen-4.0.1-testing/xen/include/public/arch-x86/hvm/save.h @@ -431,9 +431,24 @@ struct hvm_viridian_context { DECLARE_HVM_SAVE_TYPE(VIRIDIAN, 15, struct hvm_viridian_context); @@ -167,10 +167,10 @@ +#define HVM_SAVE_CODE_MAX 17 #endif /* __XEN_PUBLIC_HVM_SAVE_X86_H__ */ -Index: xen-4.0.0-testing/xen/arch/x86/hvm/vlapic.c +Index: xen-4.0.1-testing/xen/arch/x86/hvm/vlapic.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/hvm/vlapic.c -+++ xen-4.0.0-testing/xen/arch/x86/hvm/vlapic.c +--- xen-4.0.1-testing.orig/xen/arch/x86/hvm/vlapic.c ++++ xen-4.0.1-testing/xen/arch/x86/hvm/vlapic.c @@ -34,6 +34,7 @@ #include <asm/hvm/hvm.h> #include <asm/hvm/io.h> @@ -187,11 +187,11 @@ return X86EMUL_OKAY; } -Index: xen-4.0.0-testing/xen/include/public/hvm/params.h +Index: xen-4.0.1-testing/xen/include/public/hvm/params.h =================================================================== ---- xen-4.0.0-testing.orig/xen/include/public/hvm/params.h -+++ xen-4.0.0-testing/xen/include/public/hvm/params.h -@@ -106,6 +106,8 @@ +--- xen-4.0.1-testing.orig/xen/include/public/hvm/params.h ++++ xen-4.0.1-testing/xen/include/public/hvm/params.h +@@ -109,6 +109,8 @@ /* Boolean: Enable aligning all periodic vpts to reduce interrupts */ #define HVM_PARAM_VPT_ALIGN 16 ++++++ hv_xen_extension.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,5 +1,7 @@ +Index: xen-4.0.1-testing/xen/include/asm-x86/hvm/hvm_extensions.h +=================================================================== --- /dev/null -+++ b/xen/include/asm-x86/hvm/hvm_extensions.h ++++ xen-4.0.1-testing/xen/include/asm-x86/hvm/hvm_extensions.h @@ -0,0 +1,183 @@ +/**************************************************************************** + | @@ -184,13 +186,17 @@ +int hyperx_initialize(struct domain *d); + +#endif +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/Makefile +=================================================================== --- /dev/null -+++ b/xen/arch/x86/hvm/hyperv/Makefile ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/Makefile @@ -0,0 +1,2 @@ +obj-y += hv_intercept.o +obj-y += hv_hypercall.o +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_errno.h +=================================================================== --- /dev/null -+++ b/xen/arch/x86/hvm/hyperv/hv_errno.h ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_errno.h @@ -0,0 +1,62 @@ +/**************************************************************************** + | @@ -254,8 +260,10 @@ +#define HV_STATUS_NO_MEMORY_256PAGES 0x0103 +#define HV_STATUS_NO_MEMORY_1024PAGES 0x0104 +#endif +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.c +=================================================================== --- /dev/null -+++ b/xen/arch/x86/hvm/hyperv/hv_hypercall.c ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.c @@ -0,0 +1,153 @@ +/**************************************************************************** + | @@ -410,8 +418,10 @@ + return; + } +} +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.h +=================================================================== --- /dev/null -+++ b/xen/arch/x86/hvm/hyperv/hv_hypercall.h ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_hypercall.h @@ -0,0 +1,46 @@ +/**************************************************************************** + | @@ -459,8 +469,10 @@ +#define HV_NOTIFY_LONG_SPIN_WAIT 0x0008 + +#endif /* HV_HYPERCALL_H */ +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c +=================================================================== --- /dev/null -+++ b/xen/arch/x86/hvm/hyperv/hv_intercept.c ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_intercept.c @@ -0,0 +1,1009 @@ +/**************************************************************************** + | @@ -1471,8 +1483,10 @@ + hvm_inject_exception(TRAP_gp_fault, 0, 0); + return (1); +} +Index: xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_shim.h +=================================================================== --- /dev/null -+++ b/xen/arch/x86/hvm/hyperv/hv_shim.h ++++ xen-4.0.1-testing/xen/arch/x86/hvm/hyperv/hv_shim.h @@ -0,0 +1,286 @@ +/**************************************************************************** + | ++++++ ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -17,10 +17,10 @@ Signed-off-by: Kevin Wolf <kwolf@redhat.com> -Index: xen-4.0.0-testing/tools/ioemu-remote/block-qcow2.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/block-qcow2.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/block-qcow2.c -+++ xen-4.0.0-testing/tools/ioemu-remote/block-qcow2.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/block-qcow2.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/block-qcow2.c @@ -916,7 +916,7 @@ static int alloc_cluster_link_l2(BlockDr goto err; ++++++ ioemu-bdrv-open-CACHE_WB.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -249,8 +249,11 @@ static int open_disk(struct td_state *s, drv = blktap_drivers[i].drv; DPRINTF("%s driver specified\n", drv ? drv->format_name : "No"); ++++++ ioemu-blktap-barriers.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -362,6 +362,15 @@ static void qemu_send_responses(void* op } ++++++ ioemu-blktap-fv-init.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_machine_fv.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/xen_machine_fv.c -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/xen_machine_fv.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_machine_fv.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c @@ -268,6 +268,7 @@ void qemu_invalidate_entry(uint8_t *buff #endif /* defined(MAPCACHE) */ ++++++ ioemu-blktap-image-format.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -15,10 +15,10 @@ hw/xen_blktap.h | 14 ++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -220,9 +220,10 @@ static int map_new_dev(struct td_state * return -1; } @@ -64,10 +64,10 @@ msglen = sizeof(msg_hdr_t); msg->type = CTLMSG_IMG_FAIL; msg->len = msglen; -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.h +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/xen_blktap.h -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.h +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h @@ -52,4 +52,18 @@ typedef struct fd_list_entry { int init_blktap(void); ++++++ ioemu-blktap-zero-size.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -12,10 +12,10 @@ hw/xen_blktap.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -258,6 +258,12 @@ static int open_disk(struct td_state *s, s->size = bs->total_sectors; s->sector_size = 512; @@ -29,10 +29,10 @@ s->info = ((s->flags & TD_RDONLY) ? VDISK_READONLY : 0); #ifndef QEMU_TOOL -Index: xen-4.0.0-testing/tools/python/xen/xend/server/DevController.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/DevController.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/DevController.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/DevController.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/DevController.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/DevController.py @@ -155,7 +155,7 @@ class DevController: (devid, self.deviceClass)) ++++++ ioemu-debuginfo.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/Makefile +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/Makefile -+++ xen-4.0.0-testing/tools/ioemu-remote/Makefile +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/Makefile ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/Makefile @@ -243,7 +243,7 @@ endif install: all $(if $(BUILD_DOCS),install-doc) mkdir -p "$(DESTDIR)$(bindir)" @@ -11,10 +11,10 @@ endif ifneq ($(BLOBS),) mkdir -p "$(DESTDIR)$(datadir)" -Index: xen-4.0.0-testing/tools/ioemu-remote/Makefile.target +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/Makefile.target =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/Makefile.target -+++ xen-4.0.0-testing/tools/ioemu-remote/Makefile.target +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/Makefile.target ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/Makefile.target @@ -754,7 +754,7 @@ clean: install: all install-hook ++++++ ioemu-disable-scsi.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_platform.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/xen_platform.c 2010-02-18 14:08:08.000000000 -0700 -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/xen_platform.c 2010-02-18 14:28:59.000000000 -0700 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c @@ -359,6 +359,8 @@ static void platform_ioport_write(void * case 4: fprintf(logfile, "Disconnect IDE hard disk...\n"); @@ -11,10 +11,10 @@ fprintf(logfile, "Disconnect netifs...\n"); pci_unplug_netifs(); fprintf(logfile, "Shutdown taps...\n"); -Index: xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/qemu-xen.h =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/qemu-xen.h 2010-02-18 14:08:08.000000000 -0700 -+++ xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h 2010-02-18 14:44:28.000000000 -0700 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/qemu-xen.h @@ -57,6 +57,7 @@ void unset_vram_mapping(void *opaque); #endif @@ -23,10 +23,10 @@ void destroy_hvm_domain(void); void unregister_iomem(target_phys_addr_t start); -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/pci.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/pci.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/pci.c 2010-02-18 14:49:36.000000000 -0700 -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/pci.c 2010-02-18 14:53:47.000000000 -0700 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/pci.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/pci.c @@ -892,6 +892,50 @@ void pci_unplug_netifs(void) } } ++++++ ioemu-vnc-resize.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,8 +1,8 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/vnc.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/vnc.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/vnc.c -+++ xen-4.0.0-testing/tools/ioemu-remote/vnc.c -@@ -1713,6 +1713,31 @@ static int protocol_client_msg(VncState +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/vnc.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/vnc.c +@@ -1713,6 +1713,31 @@ static int protocol_client_msg(VncState } set_encodings(vs, (int32_t *)(data + 4), limit); ++++++ libxen_permissive.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/libxen/src/xen_common.c +Index: xen-4.0.1-testing/tools/libxen/src/xen_common.c =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/src/xen_common.c -+++ xen-4.0.0-testing/tools/libxen/src/xen_common.c +--- xen-4.0.1-testing.orig/tools/libxen/src/xen_common.c ++++ xen-4.0.1-testing/tools/libxen/src/xen_common.c @@ -904,8 +904,15 @@ static void parse_into(xen_session *s, x 0 != strcmp((char *)value_node->children->name, "struct") || value_node->children->children == NULL) ++++++ magic_ioport_compat.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -2,10 +2,10 @@ Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com> -Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.0.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -320,7 +320,10 @@ static int check_platform_magic(struct d if (magic != XEN_IOPORT_MAGIC_VAL) { ++++++ multi-xvdp.patch ++++++ Index: xen-4.0.1-testing/tools/python/xen/util/blkif.py =================================================================== --- xen-4.0.1-testing.orig/tools/python/xen/util/blkif.py +++ xen-4.0.1-testing/tools/python/xen/util/blkif.py @@ -19,10 +19,12 @@ def blkdev_name_to_number(name): devname = 'virtual-device' devnum = None + """ try: return (devname, os.stat(n).st_rdev) except Exception, ex: pass + """ scsi_major = [ 8, 65, 66, 67, 68, 69, 70, 71, 128, 129, 130, 131, 132, 133, 134, 135 ] if re.match( '/dev/sd[a-z]([1-9]|1[0-5])?$', n): Index: xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== --- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py +++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -73,7 +73,7 @@ from xen.xend.XendPSCSI import XendPSCSI from xen.xend.XendDSCSI import XendDSCSI, XendDSCSI_HBA MIGRATE_TIMEOUT = 30.0 -BOOTLOADER_LOOPBACK_DEVICE = '/dev/xvdp' +BOOTLOADER_LOOPBACK_DEVICES = ['/dev/xvdy', '/dev/xvdx', '/dev/xvdw', '/dev/xvdv', '/dev/xvdu', '/dev/xvdt', '/dev/xvds', '/dev/xvdr', '/dev/xvdq', '/dev/xvdp', '/dev/xvdo', '/dev/xvdn', '/dev/xvdm', '/dev/xvdl', '/dev/xvdk', '/dev/xvdj', '/dev/xvdi', '/dev/xvdh', '/dev/xvdg', '/dev/xvdf', '/dev/xvde', '/dev/xvdd'] xc = xen.lowlevel.xc.xc() xoptions = XendOptions.instance() @@ -3314,20 +3314,27 @@ class XendDomainInfo: # 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 # used through blktap, then we need to mount it first. - - log.info("Mounting %s on %s." % - (fn, BOOTLOADER_LOOPBACK_DEVICE)) - - vbd = { - 'mode': 'RW', - 'device': BOOTLOADER_LOOPBACK_DEVICE, - } - - from xen.xend import XendDomain - dom0 = XendDomain.instance().privilegedDomain() - vbd_uuid = dom0.create_vbd(vbd, disk) - dom0._waitForDeviceFrontUUID(vbd_uuid) - fn = BOOTLOADER_LOOPBACK_DEVICE + # Try all possible loopback_devices + for loopback_device in BOOTLOADER_LOOPBACK_DEVICES: + log.info("Mounting %s on %s." % (fn, loopback_device)) + vbd = { 'mode' : 'RW', 'device' : loopback_device, } + try: + from xen.xend import XendDomain + dom0 = XendDomain.instance().privilegedDomain() + vbd_uuid = dom0.create_vbd(vbd, disk) + dom0._waitForDeviceFrontUUID(vbd_uuid) + fn = loopback_device + break + except VmError, e: + if str(e).find('already connected.') != -1: + continue + elif str(e).find('isn\'t accessible') != -1: + dom0.destroyDevice('vbd', loopback_device, force = True, rm_cfg = True) + continue + else: + raise + else: + raise try: blcfg = bootloader(blexec, fn, self, False, @@ -3335,11 +3342,11 @@ class XendDomainInfo: finally: if mounted: log.info("Unmounting %s from %s." % - (fn, BOOTLOADER_LOOPBACK_DEVICE)) + (fn, loopback_device)) if devtype in ['tap', 'tap2']: - dom0.destroyDevice('tap', BOOTLOADER_LOOPBACK_DEVICE, rm_cfg = True) + dom0.destroyDevice('tap', loopback_device, rm_cfg = True) else: - dom0.destroyDevice('vbd', BOOTLOADER_LOOPBACK_DEVICE, rm_cfg = True) + dom0.destroyDevice('vbd', loopback_device, rm_cfg = True) if blcfg is None: msg = "Had a bootloader specified, but can't find disk" ++++++ network-nat-open-SuSEfirewall2-FORWARD.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,9 +1,9 @@ Open SuSEfirewall2 FORWARD rule when use xen nat -Index: xen-4.0.0-testing/tools/hotplug/Linux/network-nat +Index: xen-4.0.1-testing/tools/hotplug/Linux/network-nat =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/network-nat -+++ xen-4.0.0-testing/tools/hotplug/Linux/network-nat +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/network-nat ++++ xen-4.0.1-testing/tools/hotplug/Linux/network-nat @@ -83,6 +83,7 @@ function dhcp_stop() op_start() { echo 1 >/proc/sys/net/ipv4/ip_forward ++++++ network-nat.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/network-nat +Index: xen-4.0.1-testing/tools/hotplug/Linux/network-nat =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/network-nat -+++ xen-4.0.0-testing/tools/hotplug/Linux/network-nat +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/network-nat ++++ xen-4.0.1-testing/tools/hotplug/Linux/network-nat @@ -1,4 +1,4 @@ -#!/bin/bash -x +#!/bin/bash ++++++ network-route.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/network-route +Index: xen-4.0.1-testing/tools/hotplug/Linux/network-route =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/network-route -+++ xen-4.0.0-testing/tools/hotplug/Linux/network-route +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/network-route ++++ xen-4.0.1-testing/tools/hotplug/Linux/network-route @@ -22,7 +22,7 @@ dir=$(dirname "$0") evalVariables "$@" ++++++ popen2-argument-fix.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/util/blkif.py +Index: xen-4.0.1-testing/tools/python/xen/util/blkif.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/util/blkif.py -+++ xen-4.0.0-testing/tools/python/xen/util/blkif.py +--- xen-4.0.1-testing.orig/tools/python/xen/util/blkif.py ++++ xen-4.0.1-testing/tools/python/xen/util/blkif.py @@ -81,7 +81,7 @@ def parse_uname(uname): if typ == "drbd": ++++++ pv-driver-build.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild +Index: xen-4.0.1-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild =================================================================== ---- xen-4.0.0-testing.orig/unmodified_drivers/linux-2.6/blkfront/Kbuild -+++ xen-4.0.0-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild +--- xen-4.0.1-testing.orig/unmodified_drivers/linux-2.6/blkfront/Kbuild ++++ xen-4.0.1-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild @@ -3,3 +3,4 @@ include $(M)/overrides.mk obj-m += xen-vbd.o ++++++ pvdrv-import-shared-info.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c ++++ xen-4.0.1-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c @@ -40,7 +40,9 @@ #include <xen/platform-compat.h> #endif @@ -12,10 +12,10 @@ #define is_valid_evtchn(x) ((x) != 0) #define evtchn_from_irq(x) (irq_evtchn[irq].evtchn) -Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.0.1-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) { @@ -44,10 +44,10 @@ return 0; } -Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h ++++ xen-4.0.1-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); ++++++ pvdrv_emulation_control.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_platform.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/xen_platform.c -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/xen_platform.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c @@ -365,6 +365,19 @@ static void platform_ioport_write(void * net_tap_shutdown_all(); fprintf(logfile, "Done.\n"); ++++++ qemu-dm-segfault.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/ide.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/ide.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/ide.c -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/ide.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/ide.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/ide.c @@ -935,8 +935,9 @@ static inline void ide_dma_submit_check( static inline void ide_set_irq(IDEState *s) ++++++ qemu-security-etch1.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/ne2000.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/ne2000.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/ne2000.c -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/ne2000.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/ne2000.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/ne2000.c @@ -218,7 +218,7 @@ static int ne2000_can_receive(void *opaq NE2000State *s = opaque; @@ -11,10 +11,10 @@ return !ne2000_buffer_full(s); } -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/pc.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/pc.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/pc.c -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/pc.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/pc.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/pc.c @@ -409,7 +409,8 @@ static void bochs_bios_write(void *opaqu case 0x400: case 0x401: ++++++ serial-split.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/misc/serial-split/Makefile +Index: xen-4.0.1-testing/tools/misc/serial-split/Makefile =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/misc/serial-split/Makefile ++++ xen-4.0.1-testing/tools/misc/serial-split/Makefile @@ -0,0 +1,20 @@ +CC ?= gcc +CFLAGS ?= -Wall -Os @@ -23,10 +23,10 @@ + +%.o: %.c Makefile + $(CC) $(CFLAGS) -c -o $@ $< -Index: xen-4.0.0-testing/tools/misc/serial-split/serial-split.c +Index: xen-4.0.1-testing/tools/misc/serial-split/serial-split.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/misc/serial-split/serial-split.c ++++ xen-4.0.1-testing/tools/misc/serial-split/serial-split.c @@ -0,0 +1,422 @@ +/* + * serial-split.c ++++++ snapshot-ioemu-delete.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,8 +1,8 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c -@@ -912,6 +912,18 @@ static void xenstore_process_dm_command_ +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c +@@ -935,6 +935,18 @@ static void xenstore_process_dm_command_ } snapshot_name = xs_read(xsh, XBT_NULL, path, &len); @@ -21,10 +21,10 @@ } 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 +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/savevm.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/savevm.c -+++ xen-4.0.0-testing/tools/ioemu-remote/savevm.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/savevm.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/savevm.c @@ -1096,6 +1096,35 @@ the_end: return ret; } @@ -61,10 +61,10 @@ #ifndef CONFIG_DM void do_savevm(const char *name) -Index: xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/qemu-xen.h @@ -42,6 +42,7 @@ enum { /* xen-vl-extra.c */ ++++++ snapshot-ioemu-restore.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/blktap/drivers/blktapctrl.c +Index: xen-4.0.1-testing/tools/blktap/drivers/blktapctrl.c =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap/drivers/blktapctrl.c -+++ xen-4.0.0-testing/tools/blktap/drivers/blktapctrl.c +--- xen-4.0.1-testing.orig/tools/blktap/drivers/blktapctrl.c ++++ xen-4.0.1-testing/tools/blktap/drivers/blktapctrl.c @@ -348,6 +348,7 @@ static int write_msg(int fd, int msgtype msg_dev = (msg_newdev_t *)(buf + sizeof(msg_hdr_t)); msg_dev->devnum = blkif->minor; @@ -10,10 +10,10 @@ break; -Index: xen-4.0.0-testing/tools/blktap/lib/blktaplib.h +Index: xen-4.0.1-testing/tools/blktap/lib/blktaplib.h =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap/lib/blktaplib.h -+++ xen-4.0.0-testing/tools/blktap/lib/blktaplib.h +--- xen-4.0.1-testing.orig/tools/blktap/lib/blktaplib.h ++++ xen-4.0.1-testing/tools/blktap/lib/blktaplib.h @@ -189,6 +189,7 @@ typedef struct msg_hdr { typedef struct msg_newdev { uint8_t devnum; @@ -22,10 +22,10 @@ } msg_newdev_t; typedef struct msg_pid { -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -67,6 +67,8 @@ int write_fd; static pid_t process; fd_list_entry_t *fd_start = NULL; @@ -87,10 +87,10 @@ memset(buf, 0x00, MSG_SIZE); msglen = sizeof(msg_hdr_t); -Index: xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c @@ -103,6 +103,8 @@ int xenstore_watch_new_callback(const ch } @@ -100,11 +100,11 @@ static int pasprintf(char **buf, const char *fmt, ...) { va_list ap; -@@ -644,8 +646,33 @@ void xenstore_parse_domain_config(int hv - } - } - pstrcpy(bs->filename, sizeof(bs->filename), params); -- if (bdrv_open2(bs, params, BDRV_O_CACHE_WB /* snapshot and write-back */, format) < 0) +@@ -666,8 +668,33 @@ void xenstore_parse_domain_config(int hv + + fprintf(stderr, "Using file %s in read-%s mode\n", bs->filename, is_readonly ? "only" : "write"); + +- if (bdrv_open2(bs, params, flags, format) < 0) + if (bdrv_open2(bs, params, BDRV_O_CACHE_WB /* snapshot and write-back */, format) < 0) { fprintf(stderr, "qemu: could not open vbd '%s' or hard disk image '%s' (drv '%s' format '%s')\n", buf, params, drv ? drv : "?", format ? format->format_name : "0"); + } else { @@ -135,7 +135,7 @@ } #endif -@@ -779,6 +806,23 @@ int xenstore_parse_disable_pf_config () +@@ -802,6 +829,23 @@ int xenstore_parse_disable_pf_config () return disable_pf; } ++++++ snapshot-ioemu-save.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/savevm.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/savevm.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/savevm.c -+++ xen-4.0.0-testing/tools/ioemu-remote/savevm.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/savevm.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/savevm.c @@ -28,6 +28,7 @@ #include "sysemu.h" #include "qemu-timer.h" @@ -97,10 +97,10 @@ #ifndef CONFIG_DM void do_savevm(const char *name) -Index: xen-4.0.0-testing/tools/ioemu-remote/i386-dm/helper2.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/i386-dm/helper2.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c @@ -112,6 +112,9 @@ int send_vcpu = 0; //the evtchn port for polling the notification, evtchn_port_t *ioreq_local_port; @@ -167,10 +167,10 @@ /* Wait to be allowed to continue */ while (xen_pause_requested) { -Index: xen-4.0.0-testing/tools/ioemu-remote/qemu-xen.h +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/qemu-xen.h @@ -34,6 +34,15 @@ void qemu_invalidate_map_cache(void) #define mapcache_lock() ((void)0) #define mapcache_unlock() ((void)0) @@ -195,10 +195,10 @@ 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 +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/xenstore.c -+++ xen-4.0.0-testing/tools/ioemu-remote/xenstore.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c @@ -17,6 +17,7 @@ #include "exec-all.h" @@ -207,7 +207,7 @@ #include "console.h" #include "hw.h" -@@ -839,6 +840,7 @@ static void xenstore_process_dm_command_ +@@ -862,6 +863,7 @@ static void xenstore_process_dm_command_ { char *path = NULL, *command = NULL, *par = NULL; unsigned int len; @@ -215,7 +215,7 @@ if (pasprintf(&path, "/local/domain/0/device-model/%u/command", domid) == -1) { -@@ -854,7 +856,18 @@ static void xenstore_process_dm_command_ +@@ -877,7 +879,18 @@ static void xenstore_process_dm_command_ if (!strncmp(command, "save", len)) { fprintf(logfile, "dm-command: pause and save state\n"); @@ -235,7 +235,7 @@ } else if (!strncmp(command, "continue", len)) { fprintf(logfile, "dm-command: continue after state save\n"); xen_pause_requested = 0; -@@ -987,6 +1000,13 @@ void xenstore_record_dm_state(const char +@@ -1010,6 +1023,13 @@ void xenstore_record_dm_state(const char xenstore_record_dm("state", state); } ++++++ snapshot-xend.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/image.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.0.1-testing/tools/python/xen/xend/image.py @@ -490,7 +490,7 @@ class ImageHandler: domains.domains_lock.acquire() @@ -43,10 +43,10 @@ def recreate(self): if self.device_model is None: return -Index: xen-4.0.0-testing/tools/python/xen/xend/server/blkif.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/blkif.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/blkif.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/blkif.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/blkif.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/blkif.py @@ -88,6 +88,9 @@ class BlkifController(DevController): if bootable != None: back['bootable'] = str(bootable) @@ -57,10 +57,10 @@ if security.on() == xsconstants.XS_POLICY_USE: self.do_access_control(config, uname) -Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvDomain.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/SrvDomain.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/SrvDomain.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/SrvDomain.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/SrvDomain.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/SrvDomain.py @@ -95,6 +95,31 @@ class SrvDomain(SrvDir): def do_save(self, _, req): return self.xd.domain_save(self.dom.domid, req.args['file'][0]) @@ -102,10 +102,10 @@ return self.perform(req) # -Index: xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendCheckpoint.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendCheckpoint.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendCheckpoint.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendCheckpoint.py @@ -65,7 +65,7 @@ def insert_after(list, pred, value): return @@ -321,10 +321,10 @@ if not paused: dominfo.unpause() -Index: xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendConfig.py @@ -242,6 +242,7 @@ XENAPI_CFG_TYPES = { 'memory_sharing': int, 'Description': str, @@ -333,10 +333,10 @@ } # List of legacy configuration keys that have no equivalent in the -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomain.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendDomain.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomain.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomain.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomain.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomain.py @@ -53,6 +53,7 @@ from xen.xend.xenstore.xstransact import from xen.xend.xenstore.xswatch import xswatch from xen.util import mkdir, rwlock @@ -533,10 +533,10 @@ def domain_pincpu(self, domid, vcpu, cpumap): """Set which cpus vcpu can use -Index: xen-4.0.0-testing/tools/python/xen/xm/main.py +Index: xen-4.0.1-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.0.0-testing/tools/python/xen/xm/main.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.0.1-testing/tools/python/xen/xm/main.py @@ -123,6 +123,14 @@ SUBCOMMAND_HELP = { 'Restore a domain from a saved state.'), 'save' : ('[-c|-f] <Domain> <CheckpointFile>', @@ -647,7 +647,7 @@ def xm_save(args): arg_check(args, "save", 2, 4) -@@ -3729,6 +3804,10 @@ commands = { +@@ -3743,6 +3818,10 @@ commands = { "restore": xm_restore, "resume": xm_resume, "save": xm_save, ++++++ supported_module.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -2,10 +2,10 @@ Signed-off-by: K. Y. Srinivasan <ksrinivasan@novell.com> -Index: xen-4.0.0-testing/unmodified_drivers/linux-2.6/Module.supported +Index: xen-4.0.1-testing/unmodified_drivers/linux-2.6/Module.supported =================================================================== --- /dev/null -+++ xen-4.0.0-testing/unmodified_drivers/linux-2.6/Module.supported ++++ xen-4.0.1-testing/unmodified_drivers/linux-2.6/Module.supported @@ -0,0 +1,5 @@ +xen-vbd +xen-platform-pci ++++++ tapdisk-ioemu-logfile.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -11,11 +11,11 @@ tapdisk-ioemu.c | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) -Index: xen-4.0.0-testing/tools/ioemu-remote/tapdisk-ioemu.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/tapdisk-ioemu.c -+++ xen-4.0.0-testing/tools/ioemu-remote/tapdisk-ioemu.c -@@ -78,15 +78,22 @@ int main(void) +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c +@@ -78,15 +78,22 @@ int main(void) struct timeval tv; void *old_fd_start = NULL; ++++++ tapdisk-ioemu-shutdown-fix.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -16,10 +16,10 @@ tapdisk-ioemu.c | 13 ++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_blktap.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/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 +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -65,6 +65,7 @@ int read_fd; int write_fd; @@ -46,10 +46,10 @@ case CTLMSG_PID: memset(buf, 0x00, MSG_SIZE); -Index: xen-4.0.0-testing/tools/ioemu-remote/tapdisk-ioemu.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/tapdisk-ioemu.c -+++ xen-4.0.0-testing/tools/ioemu-remote/tapdisk-ioemu.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c @@ -14,6 +14,7 @@ extern void qemu_aio_init(void); extern void qemu_aio_poll(void); ++++++ tmp_build.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/xenstore/Makefile +Index: xen-4.0.1-testing/tools/xenstore/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/xenstore/Makefile -+++ xen-4.0.0-testing/tools/xenstore/Makefile +--- xen-4.0.1-testing.orig/tools/xenstore/Makefile ++++ xen-4.0.1-testing/tools/xenstore/Makefile @@ -61,6 +61,7 @@ $(CLIENTS_DOMU): xenstore xenstore: xenstore_client.o $(LIBXENSTORE) ++++++ tools-gdbserver-build.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in +Index: xen-4.0.1-testing/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in =================================================================== ---- xen-4.0.0-testing.orig/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in -+++ xen-4.0.0-testing/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in +--- xen-4.0.1-testing.orig/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in ++++ xen-4.0.1-testing/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in @@ -90,7 +90,7 @@ INCLUDE_CFLAGS = -I. -I${srcdir} -I$(src GLOBAL_CFLAGS = ${MT_CFLAGS} ${MH_CFLAGS} #PROFILE_CFLAGS = -pg @@ -11,7 +11,7 @@ # CFLAGS is specifically reserved for setting from the command line # when running make. I.E. "make CFLAGS=-Wmissing-prototypes". -@@ -260,7 +260,7 @@ linux-low.o: linux-low.c $(linux_low_h) +@@ -260,7 +260,7 @@ linux-low.o: linux-low.c $(linux_low_h) $(CC) -c $(CPPFLAGS) $(INTERNAL_CFLAGS) $< @USE_THREAD_DB@ linux-xen-low.o: linux-xen-low.c $(linux_low_h) $(server_h) ++++++ tools-kboot.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -13,10 +13,10 @@ tools/kboot/select-kernel | 59 + 9 files changed, 2111 insertions(+) -Index: xen-4.0.0-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 +Index: xen-4.0.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 =================================================================== --- /dev/null -+++ xen-4.0.0-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 ++++ xen-4.0.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 @@ -0,0 +1,874 @@ +# +# Automatically generated make config: don't edit @@ -892,10 +892,10 @@ +CONFIG_X86_NO_TSS=y +CONFIG_X86_NO_IDT=y +CONFIG_KTIME_SCALAR=y -Index: xen-4.0.0-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 +Index: xen-4.0.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 =================================================================== --- /dev/null -+++ xen-4.0.0-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 ++++ xen-4.0.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 @@ -0,0 +1,653 @@ +# +# Automatically generated make config: don't edit @@ -1550,17 +1550,17 @@ +# CONFIG_CRC32 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y -Index: xen-4.0.0-testing/buildconfigs/mk.linux-2.6-xenUboot +Index: xen-4.0.1-testing/buildconfigs/mk.linux-2.6-xenUboot =================================================================== --- /dev/null -+++ xen-4.0.0-testing/buildconfigs/mk.linux-2.6-xenUboot ++++ xen-4.0.1-testing/buildconfigs/mk.linux-2.6-xenUboot @@ -0,0 +1,2 @@ +EXTRAVERSION = xenUboot +include buildconfigs/mk.linux-2.6-xen -Index: xen-4.0.0-testing/tools/kboot/Makefile +Index: xen-4.0.1-testing/tools/kboot/Makefile =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/kboot/Makefile ++++ xen-4.0.1-testing/tools/kboot/Makefile @@ -0,0 +1,23 @@ +# +# tools/kboot/Makefile @@ -1585,10 +1585,10 @@ +kboot.initramfs: mkinitramfs init select-kernel ../xcutils/xc_kexec + sh ./mkinitramfs | tee $@ + -Index: xen-4.0.0-testing/tools/kboot/README +Index: xen-4.0.1-testing/tools/kboot/README =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/kboot/README ++++ xen-4.0.1-testing/tools/kboot/README @@ -0,0 +1,43 @@ + +This is a simple kexec-based boot loader @@ -1633,10 +1633,10 @@ + +-- +Gerd Hoffmann <kraxel@suse.de> -Index: xen-4.0.0-testing/tools/kboot/init +Index: xen-4.0.1-testing/tools/kboot/init =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/kboot/init ++++ xen-4.0.1-testing/tools/kboot/init @@ -0,0 +1,309 @@ +#!/bin/sh + @@ -1947,10 +1947,10 @@ +msg "bye ..." +banner "boot $guestos" +xc_kexec -e -Index: xen-4.0.0-testing/tools/kboot/mkinitramfs +Index: xen-4.0.1-testing/tools/kboot/mkinitramfs =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/kboot/mkinitramfs ++++ xen-4.0.1-testing/tools/kboot/mkinitramfs @@ -0,0 +1,111 @@ +#!/bin/sh + @@ -2063,10 +2063,10 @@ + echo "file $LIB/$(basename $lib) $lib 0755 0 0" +done +echo -Index: xen-4.0.0-testing/tools/kboot/select-kernel +Index: xen-4.0.1-testing/tools/kboot/select-kernel =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/kboot/select-kernel ++++ xen-4.0.1-testing/tools/kboot/select-kernel @@ -0,0 +1,59 @@ +#!/bin/sh + @@ -2127,10 +2127,10 @@ +msg "using $kernelname" +echo "$kernelname" + -Index: xen-4.0.0-testing/make-kboot +Index: xen-4.0.1-testing/make-kboot =================================================================== --- /dev/null -+++ xen-4.0.0-testing/make-kboot ++++ xen-4.0.1-testing/make-kboot @@ -0,0 +1,37 @@ +#!/bin/sh + ++++++ tools-xc_kexec.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -23,10 +23,10 @@ tools/xcutils/xc_kexec.c | 503 +++++++++++++++ 19 files changed, 4988 insertions(+), 2 deletions(-) -Index: xen-4.0.0-testing/tools/xcutils/Makefile +Index: xen-4.0.1-testing/tools/xcutils/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/xcutils/Makefile -+++ xen-4.0.0-testing/tools/xcutils/Makefile +--- xen-4.0.1-testing.orig/tools/xcutils/Makefile ++++ xen-4.0.1-testing/tools/xcutils/Makefile @@ -14,7 +14,7 @@ include $(XEN_ROOT)/tools/Rules.mk CFLAGS += -Werror CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore) @@ -55,10 +55,10 @@ + make -C helper clean -include $(DEPS) -Index: xen-4.0.0-testing/tools/xcutils/helper/Makefile +Index: xen-4.0.1-testing/tools/xcutils/helper/Makefile =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/Makefile ++++ xen-4.0.1-testing/tools/xcutils/helper/Makefile @@ -0,0 +1,39 @@ + +XEN_ROOT = ../../.. @@ -99,10 +99,10 @@ +# dependencies + +$(XEN_TARGET_ARCH)/entry.o: $(XEN_TARGET_ARCH)/entry.S $(XEN_TARGET_ARCH)/offsets.h -Index: xen-4.0.0-testing/tools/xcutils/helper/console.c +Index: xen-4.0.1-testing/tools/xcutils/helper/console.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/console.c ++++ xen-4.0.1-testing/tools/xcutils/helper/console.c @@ -0,0 +1,69 @@ +#include <inttypes.h> + @@ -173,10 +173,10 @@ + + return printed_len; +} -Index: xen-4.0.0-testing/tools/xcutils/helper/ctype.c +Index: xen-4.0.1-testing/tools/xcutils/helper/ctype.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/ctype.c ++++ xen-4.0.1-testing/tools/xcutils/helper/ctype.c @@ -0,0 +1,35 @@ +/* + * linux/lib/ctype.c @@ -213,10 +213,10 @@ +_L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L}; /* 240-255 */ + +EXPORT_SYMBOL(_ctype); -Index: xen-4.0.0-testing/tools/xcutils/helper/ctype.h +Index: xen-4.0.1-testing/tools/xcutils/helper/ctype.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/ctype.h ++++ xen-4.0.1-testing/tools/xcutils/helper/ctype.h @@ -0,0 +1,54 @@ +#ifndef _LINUX_CTYPE_H +#define _LINUX_CTYPE_H @@ -272,10 +272,10 @@ +#define toupper(c) __toupper(c) + +#endif -Index: xen-4.0.0-testing/tools/xcutils/helper/helper.h +Index: xen-4.0.1-testing/tools/xcutils/helper/helper.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/helper.h ++++ xen-4.0.1-testing/tools/xcutils/helper/helper.h @@ -0,0 +1,107 @@ +#include <stdarg.h> +#include <stddef.h> @@ -384,10 +384,10 @@ +int sprintf(char * buf, const char *fmt, ...); +int vsscanf(const char * buf, const char * fmt, va_list args); +int sscanf(const char * buf, const char * fmt, ...); -Index: xen-4.0.0-testing/tools/xcutils/helper/main.c +Index: xen-4.0.1-testing/tools/xcutils/helper/main.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/main.c ++++ xen-4.0.1-testing/tools/xcutils/helper/main.c @@ -0,0 +1,651 @@ +#include <xenctrl.h> +#include "hypercall.h" @@ -1040,10 +1040,10 @@ + printk("\r\n"); + start_kernel(); +} -Index: xen-4.0.0-testing/tools/xcutils/helper/make-offsets.c +Index: xen-4.0.1-testing/tools/xcutils/helper/make-offsets.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/make-offsets.c ++++ xen-4.0.1-testing/tools/xcutils/helper/make-offsets.c @@ -0,0 +1,28 @@ +#include <stdio.h> +#include <xenctrl.h> @@ -1073,10 +1073,10 @@ + vcpu_off("cr3", ctrlreg[3]); + return 0; +} -Index: xen-4.0.0-testing/tools/xcutils/helper/printk.c +Index: xen-4.0.1-testing/tools/xcutils/helper/printk.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/printk.c ++++ xen-4.0.1-testing/tools/xcutils/helper/printk.c @@ -0,0 +1,1051 @@ +/* + * linux/kernel/printk.c @@ -2129,10 +2129,10 @@ + printk_ratelimit_burst); +} +EXPORT_SYMBOL(printk_ratelimit); -Index: xen-4.0.0-testing/tools/xcutils/helper/string.c +Index: xen-4.0.1-testing/tools/xcutils/helper/string.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/string.c ++++ xen-4.0.1-testing/tools/xcutils/helper/string.c @@ -0,0 +1,601 @@ +/* + * linux/lib/string.c @@ -2735,10 +2735,10 @@ +} +EXPORT_SYMBOL(memchr); +#endif -Index: xen-4.0.0-testing/tools/xcutils/helper/vsprintf.c +Index: xen-4.0.1-testing/tools/xcutils/helper/vsprintf.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/vsprintf.c ++++ xen-4.0.1-testing/tools/xcutils/helper/vsprintf.c @@ -0,0 +1,842 @@ +/* + * linux/lib/vsprintf.c @@ -3582,10 +3582,10 @@ +} + +EXPORT_SYMBOL(sscanf); -Index: xen-4.0.0-testing/tools/xcutils/helper/x86_32/div64.h +Index: xen-4.0.1-testing/tools/xcutils/helper/x86_32/div64.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/x86_32/div64.h ++++ xen-4.0.1-testing/tools/xcutils/helper/x86_32/div64.h @@ -0,0 +1,48 @@ +#ifndef __I386_DIV64 +#define __I386_DIV64 @@ -3635,10 +3635,10 @@ + +} +#endif -Index: xen-4.0.0-testing/tools/xcutils/helper/x86_32/entry.S +Index: xen-4.0.1-testing/tools/xcutils/helper/x86_32/entry.S =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/x86_32/entry.S ++++ xen-4.0.1-testing/tools/xcutils/helper/x86_32/entry.S @@ -0,0 +1,49 @@ +#include "offsets.h" + @@ -3689,10 +3689,10 @@ + nop + .align 4096 +hypercall_end: -Index: xen-4.0.0-testing/tools/xcutils/helper/x86_32/hypercall.h +Index: xen-4.0.1-testing/tools/xcutils/helper/x86_32/hypercall.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/x86_32/hypercall.h ++++ xen-4.0.1-testing/tools/xcutils/helper/x86_32/hypercall.h @@ -0,0 +1,359 @@ +/****************************************************************************** + * hypercall.h @@ -4053,10 +4053,10 @@ + + +#endif /* __HYPERCALL_H__ */ -Index: xen-4.0.0-testing/tools/xcutils/helper/x86_64/div64.h +Index: xen-4.0.1-testing/tools/xcutils/helper/x86_64/div64.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/x86_64/div64.h ++++ xen-4.0.1-testing/tools/xcutils/helper/x86_64/div64.h @@ -0,0 +1,57 @@ +#ifndef _ASM_GENERIC_DIV64_H +#define _ASM_GENERIC_DIV64_H @@ -4115,10 +4115,10 @@ +#endif /* BITS_PER_LONG */ + +#endif /* _ASM_GENERIC_DIV64_H */ -Index: xen-4.0.0-testing/tools/xcutils/helper/x86_64/entry.S +Index: xen-4.0.1-testing/tools/xcutils/helper/x86_64/entry.S =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/x86_64/entry.S ++++ xen-4.0.1-testing/tools/xcutils/helper/x86_64/entry.S @@ -0,0 +1,50 @@ +#include "offsets.h" + @@ -4170,10 +4170,10 @@ + nop + .align 4096 +hypercall_end: -Index: xen-4.0.0-testing/tools/xcutils/helper/x86_64/hypercall.h +Index: xen-4.0.1-testing/tools/xcutils/helper/x86_64/hypercall.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/helper/x86_64/hypercall.h ++++ xen-4.0.1-testing/tools/xcutils/helper/x86_64/hypercall.h @@ -0,0 +1,354 @@ +/****************************************************************************** + * hypercall.h @@ -4529,10 +4529,10 @@ +} + +#endif /* __HYPERCALL_H__ */ -Index: xen-4.0.0-testing/tools/xcutils/kexec-syscall.h +Index: xen-4.0.1-testing/tools/xcutils/kexec-syscall.h =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/kexec-syscall.h ++++ xen-4.0.1-testing/tools/xcutils/kexec-syscall.h @@ -0,0 +1,80 @@ +#ifndef KEXEC_SYSCALL_H +#define KEXEC_SYSCALL_H @@ -4614,10 +4614,10 @@ +#define KEXEC_MAX_SEGMENTS 16 + +#endif /* KEXEC_SYSCALL_H */ -Index: xen-4.0.0-testing/tools/xcutils/xc_kexec.c +Index: xen-4.0.1-testing/tools/xcutils/xc_kexec.c =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/xcutils/xc_kexec.c ++++ xen-4.0.1-testing/tools/xcutils/xc_kexec.c @@ -0,0 +1,503 @@ +#include <stdio.h> +#include <stdlib.h> ++++++ udev-rules.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,9 +1,17 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/xen-backend.rules +Index: xen-4.0.1-testing/tools/hotplug/Linux/xen-backend.rules =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/xen-backend.rules -+++ xen-4.0.0-testing/tools/hotplug/Linux/xen-backend.rules -@@ -9,3 +9,4 @@ SUBSYSTEM=="xen-backend", ACTION=="remov +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/xen-backend.rules ++++ xen-4.0.1-testing/tools/hotplug/Linux/xen-backend.rules +@@ -7,5 +7,10 @@ SUBSYSTEM=="xen-backend", KERNEL=="vif-* + SUBSYSTEM=="xen-backend", KERNEL=="vscsi*", RUN+="/etc/xen/scripts/vscsi $env{ACTION}" + SUBSYSTEM=="xen-backend", ACTION=="remove", RUN+="/etc/xen/scripts/xen-hotplug-cleanup" KERNEL=="evtchn", NAME="xen/%k" - KERNEL=="blktap[0-9]*", NAME="xen/%k" - KERNEL=="pci_iomul", NAME="xen/%k" +-KERNEL=="blktap[0-9]*", NAME="xen/%k" +-KERNEL=="pci_iomul", NAME="xen/%k" ++SUBSYSTEM=="xen", KERNEL=="blktap[0-9]*", NAME="xen/%k", MODE="0600" ++SUBSYSTEM=="blktap2", KERNEL=="blktap[0-9]*", NAME="xen/blktap-2/%k", MODE="0600" ++KERNEL=="blktap-control", NAME="xen/blktap-2/control", MODE="0600" ++KERNEL=="gntdev", NAME="xen/%k", MODE="0600" ++KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600" ++KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600" +KERNELS=="xen", KERNEL=="xvd*", SUBSYSTEM=="block", OPTIONS+="last_rule" ++++++ usb-list.patch ++++++ "usb-hc-create" does not check usb-ver parameter. It allows 2/2.0/2.0usb/2.0aaa. While low level driver doing hc create, it gets an integer by vssanf %d from usb-ver string, so there is no problem. But 2/2.0/2.0usb/2.0aaa will be saved into VM config. After that, while doing "usb-list", it cannot handle "2.0/2.0usb/2.0aaa" and will cause error: Idx BE state usb-ver BE-path Error: Invalid argument. Usage: xm usb-list <Domain> This patch is to let "usb-list" handle all usb-ver cases as low level driver does and won't cause error. About this problem, I've submitted two patches to upstream before, but got no response. Information could be referred to: http://www.gossamer-threads.com/lists/xen/devel/178406?search_string=usb-lis... http://www.gossamer-threads.com/lists/xen/devel/181021?search_string=usb-lis... Index: xen-4.0.1-testing/tools/python/xen/xm/main.py =================================================================== --- xen-4.0.1-testing.orig/tools/python/xen/xm/main.py +++ xen-4.0.1-testing/tools/python/xen/xm/main.py @@ -2545,10 +2545,22 @@ def xm_usb_list(args): ni = parse_dev_info(x[1]) ni['idx'] = int(x[0]) usbver = sxp.child_value(x[1], 'usb-ver') + + substr = re.search("^\d{1,}", usbver) + if substr: + usbver = substr.group() + else: + print "Unknown usb-ver" + continue + if int(usbver) == 1: ni['usb-ver'] = 'USB1.1' - else: + elif int(usbver) == 2: ni['usb-ver'] = 'USB2.0' + else: + print "Unknown usb-ver" + continue + print "%(idx)-3d %(backend-id)-3d %(state)-5d %(usb-ver)-7s %(be-path)-30s " % ni ports = sxp.child(x[1], 'port') ++++++ vif-bridge-no-iptables.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/vif-bridge +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/vif-bridge ++++ xen-4.0.1-testing/tools/hotplug/Linux/vif-bridge @@ -91,7 +91,7 @@ case "$command" in ;; esac ++++++ vif-route-ifup.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/vif-route-ifup +Index: xen-4.0.1-testing/tools/hotplug/Linux/vif-route-ifup =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/hotplug/Linux/vif-route-ifup ++++ xen-4.0.1-testing/tools/hotplug/Linux/vif-route-ifup @@ -0,0 +1,34 @@ +#!/bin/bash +#============================================================================ @@ -37,10 +37,10 @@ +then + success +fi -Index: xen-4.0.0-testing/tools/examples/xend-config.sxp +Index: xen-4.0.1-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.0.0-testing/tools/examples/xend-config.sxp +--- xen-4.0.1-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.0.1-testing/tools/examples/xend-config.sxp @@ -184,6 +184,26 @@ #(network-script network-route) #(vif-script vif-route) @@ -68,10 +68,10 @@ ## Use the following if network traffic is routed with NAT, as an alternative # to the settings for bridged networking given above. -Index: xen-4.0.0-testing/tools/hotplug/Linux/Makefile +Index: xen-4.0.1-testing/tools/hotplug/Linux/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/Makefile -+++ xen-4.0.0-testing/tools/hotplug/Linux/Makefile +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/Makefile ++++ xen-4.0.1-testing/tools/hotplug/Linux/Makefile @@ -9,7 +9,7 @@ XENDOMAINS_SYSCONFIG = init.d/sysconfig. # Xen script dir and scripts to go there. ++++++ x86-cpufreq-report.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c +Index: xen-4.0.1-testing/xen/arch/x86/platform_hypercall.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/platform_hypercall.c -+++ xen-4.0.0-testing/xen/arch/x86/platform_hypercall.c +--- xen-4.0.1-testing.orig/xen/arch/x86/platform_hypercall.c ++++ xen-4.0.1-testing/xen/arch/x86/platform_hypercall.c @@ -22,7 +22,7 @@ #include <xen/sched-if.h> #include <asm/current.h> @@ -19,7 +19,7 @@ struct xen_platform_op curop, *op = &curop; if ( !IS_PRIV(current->domain) ) -@@ -484,6 +485,24 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe +@@ -487,6 +488,24 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe op->u.mem_add.epfn, op->u.mem_add.pxm); break; @@ -44,10 +44,10 @@ default: ret = -ENOSYS; break; -Index: xen-4.0.0-testing/xen/include/public/platform.h +Index: xen-4.0.1-testing/xen/include/public/platform.h =================================================================== ---- xen-4.0.0-testing.orig/xen/include/public/platform.h -+++ xen-4.0.0-testing/xen/include/public/platform.h +--- xen-4.0.1-testing.orig/xen/include/public/platform.h ++++ xen-4.0.1-testing/xen/include/public/platform.h @@ -355,6 +355,14 @@ struct xenpf_mem_hotadd uint32_t flags; }; ++++++ x86-extra-trap-info.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,5 +1,7 @@ ---- 2010-01-06.orig/xen/arch/x86/x86_32/entry.S 2009-12-02 10:02:49.000000000 +0100 -+++ 2010-01-06/xen/arch/x86/x86_32/entry.S 2010-01-06 11:23:45.000000000 +0100 +Index: xen-4.0.1-testing/xen/arch/x86/x86_32/entry.S +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/x86_32/entry.S ++++ xen-4.0.1-testing/xen/arch/x86/x86_32/entry.S @@ -403,21 +403,33 @@ ring1: /* obtain ss/esp from oldss/olde movl %eax,UREGS_eip+4(%esp) ret @@ -44,8 +46,10 @@ domain_crash_synchronous: pushl $domain_crash_synchronous_string call printk ---- 2010-01-06.orig/xen/arch/x86/x86_64/entry.S 2009-12-02 10:02:49.000000000 +0100 -+++ 2010-01-06/xen/arch/x86/x86_64/entry.S 2010-01-06 11:23:45.000000000 +0100 +Index: xen-4.0.1-testing/xen/arch/x86/x86_64/entry.S +=================================================================== +--- xen-4.0.1-testing.orig/xen/arch/x86/x86_64/entry.S ++++ xen-4.0.1-testing/xen/arch/x86/x86_64/entry.S @@ -421,17 +421,30 @@ create_bounce_frame: movq %rax,UREGS_rip+8(%rsp) ret ++++++ x86-ioapic-ack-default.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,10 +1,10 @@ Change default IO-APIC ack mode for single IO-APIC systems to old-style. -Index: xen-4.0.0-testing/xen/arch/x86/io_apic.c +Index: xen-4.0.1-testing/xen/arch/x86/io_apic.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/io_apic.c -+++ xen-4.0.0-testing/xen/arch/x86/io_apic.c -@@ -1442,7 +1442,7 @@ static unsigned int startup_level_ioapic +--- xen-4.0.1-testing.orig/xen/arch/x86/io_apic.c ++++ xen-4.0.1-testing/xen/arch/x86/io_apic.c +@@ -1562,7 +1562,7 @@ static unsigned int startup_level_ioapic return 0; /* don't check for pending */ } @@ -13,7 +13,7 @@ static void setup_ioapic_ack(char *s) { if ( !strcmp(s, "old") ) -@@ -1946,6 +1946,8 @@ void __init setup_IO_APIC(void) +@@ -2066,6 +2066,8 @@ void __init setup_IO_APIC(void) else io_apic_irqs = ~PIC_IRQS; ++++++ x86-show-page-walk-early.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:25.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:25.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/xen/arch/x86/mm.c +Index: xen-4.0.1-testing/xen/arch/x86/mm.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/mm.c -+++ xen-4.0.0-testing/xen/arch/x86/mm.c +--- xen-4.0.1-testing.orig/xen/arch/x86/mm.c ++++ xen-4.0.1-testing/xen/arch/x86/mm.c @@ -154,6 +154,8 @@ unsigned long __read_mostly pdx_group_va int opt_allow_hugepage; boolean_param("allowhugepage", opt_allow_hugepage); @@ -11,11 +11,11 @@ #define l1_disallow_mask(d) \ ((d != dom_io) && \ (rangeset_is_empty((d)->iomem_caps) && \ -Index: xen-4.0.0-testing/xen/arch/x86/traps.c +Index: xen-4.0.1-testing/xen/arch/x86/traps.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/traps.c -+++ xen-4.0.0-testing/xen/arch/x86/traps.c -@@ -1352,6 +1352,7 @@ asmlinkage void do_early_page_fault(stru +--- xen-4.0.1-testing.orig/xen/arch/x86/traps.c ++++ xen-4.0.1-testing/xen/arch/x86/traps.c +@@ -1336,6 +1336,7 @@ asmlinkage void do_early_page_fault(stru unsigned long *stk = (unsigned long *)regs; printk("Early fatal page fault at %04x:%p (cr2=%p, ec=%04x)\n", regs->cs, _p(regs->eip), _p(cr2), regs->error_code); @@ -23,10 +23,10 @@ printk("Stack dump: "); while ( ((long)stk & ((PAGE_SIZE - 1) & ~(BYTES_PER_LONG - 1))) != 0 ) printk("%p ", _p(*stk++)); -Index: xen-4.0.0-testing/xen/arch/x86/x86_32/mm.c +Index: xen-4.0.1-testing/xen/arch/x86/x86_32/mm.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/x86_32/mm.c -+++ xen-4.0.0-testing/xen/arch/x86/x86_32/mm.c +--- xen-4.0.1-testing.orig/xen/arch/x86/x86_32/mm.c ++++ xen-4.0.1-testing/xen/arch/x86/x86_32/mm.c @@ -122,6 +122,8 @@ void __init paging_init(void) #undef CNT #undef MFN @@ -36,10 +36,10 @@ /* Create page tables for ioremap()/map_domain_page_global(). */ for ( i = 0; i < (IOREMAP_MBYTES >> (L2_PAGETABLE_SHIFT - 20)); i++ ) { -Index: xen-4.0.0-testing/xen/arch/x86/x86_32/traps.c +Index: xen-4.0.1-testing/xen/arch/x86/x86_32/traps.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/x86_32/traps.c -+++ xen-4.0.0-testing/xen/arch/x86/x86_32/traps.c +--- xen-4.0.1-testing.orig/xen/arch/x86/x86_32/traps.c ++++ xen-4.0.1-testing/xen/arch/x86/x86_32/traps.c @@ -161,7 +161,8 @@ void show_page_walk(unsigned long addr) l3t += (cr3 & 0xFE0UL) >> 3; l3e = l3t[l3_table_offset(addr)]; @@ -70,10 +70,10 @@ printk(" L1[0x%03lx] = %"PRIpte" %08lx\n", l1_table_offset(addr), l1e_get_intpte(l1e), pfn); unmap_domain_page(l1t); -Index: xen-4.0.0-testing/xen/arch/x86/x86_64/mm.c +Index: xen-4.0.1-testing/xen/arch/x86/x86_64/mm.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/x86_64/mm.c -+++ xen-4.0.0-testing/xen/arch/x86/x86_64/mm.c +--- xen-4.0.1-testing.orig/xen/arch/x86/x86_64/mm.c ++++ xen-4.0.1-testing/xen/arch/x86/x86_64/mm.c @@ -725,6 +725,8 @@ void __init paging_init(void) #undef CNT #undef MFN @@ -83,10 +83,10 @@ /* Create user-accessible L2 directory to map the MPT for compat guests. */ BUILD_BUG_ON(l4_table_offset(RDWR_MPT_VIRT_START) != l4_table_offset(HIRO_COMPAT_MPT_VIRT_START)); -Index: xen-4.0.0-testing/xen/arch/x86/x86_64/traps.c +Index: xen-4.0.1-testing/xen/arch/x86/x86_64/traps.c =================================================================== ---- xen-4.0.0-testing.orig/xen/arch/x86/x86_64/traps.c -+++ xen-4.0.0-testing/xen/arch/x86/x86_64/traps.c +--- xen-4.0.1-testing.orig/xen/arch/x86/x86_64/traps.c ++++ xen-4.0.1-testing/xen/arch/x86/x86_64/traps.c @@ -176,7 +176,8 @@ void show_page_walk(unsigned long addr) l4t = mfn_to_virt(mfn); l4e = l4t[l4_table_offset(addr)]; @@ -127,10 +127,10 @@ printk(" L1[0x%03lx] = %"PRIpte" %016lx\n", l1_table_offset(addr), l1e_get_intpte(l1e), pfn); } -Index: xen-4.0.0-testing/xen/include/asm-x86/mm.h +Index: xen-4.0.1-testing/xen/include/asm-x86/mm.h =================================================================== ---- xen-4.0.0-testing.orig/xen/include/asm-x86/mm.h -+++ xen-4.0.0-testing/xen/include/asm-x86/mm.h +--- xen-4.0.1-testing.orig/xen/include/asm-x86/mm.h ++++ xen-4.0.1-testing/xen/include/asm-x86/mm.h @@ -443,6 +443,8 @@ TYPE_SAFE(unsigned long,mfn); #define SHARED_M2P_ENTRY (~0UL - 1UL) #define SHARED_M2P(_e) ((_e) == SHARED_M2P_ENTRY) ++++++ xen-4.0.0-testing-src.tar.bz2 -> xen-4.0.1-testing-src.tar.bz2 ++++++ xen/xen-4.0.0-testing-src.tar.bz2 /mounts/work_src_done/STABLE/xen/xen-4.0.1-testing-src.tar.bz2 differ: char 11, line 1 ++++++ xen-api-auth.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendAuthSessions.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendAuthSessions.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendAuthSessions.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendAuthSessions.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendAuthSessions.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendAuthSessions.py @@ -84,7 +84,7 @@ class XendAuthSessions: # if PAM doesn't exist, let's ignore it return False ++++++ xen-changeset.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/xen/Makefile +Index: xen-4.0.1-testing/xen/Makefile =================================================================== ---- xen-4.0.0-testing.orig/xen/Makefile -+++ xen-4.0.0-testing/xen/Makefile +--- xen-4.0.1-testing.orig/xen/Makefile ++++ xen-4.0.1-testing/xen/Makefile @@ -1,3 +1,4 @@ +export XEN_CHANGESET = unavailable # This is the correct place to edit the build version. ++++++ xen-config.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,17 +1,8 @@ -Index: xen-4.0.0-testing/Config.mk +Index: xen-4.0.1-testing/Config.mk =================================================================== ---- xen-4.0.0-testing.orig/Config.mk -+++ xen-4.0.0-testing/Config.mk -@@ -151,7 +151,7 @@ QEMU_REMOTE=http://xenbits.xensource.com - # Specify which qemu-dm to use. This may be `ioemu' to use the old - # Mercurial in-tree version, or a local directory, or a git URL. - # CONFIG_QEMU ?= ../qemu-xen.git --CONFIG_QEMU ?= $(QEMU_REMOTE) -+CONFIG_QEMU ?= ioemu-remote - - QEMU_TAG := xen-4.0.0 - #QEMU_TAG ?= f1d909f0f854194f5a40d850886d1413fb8b63c2 -@@ -167,9 +167,9 @@ CONFIG_OCAML_XENSTORED ?= n +--- xen-4.0.1-testing.orig/Config.mk ++++ xen-4.0.1-testing/Config.mk +@@ -182,9 +182,9 @@ CONFIG_OCAML_XENSTORED ?= n # Optional components XENSTAT_XENTOP ?= y VTPM_TOOLS ?= n @@ -23,10 +14,10 @@ --include $(XEN_ROOT)/.config +#-include $(XEN_ROOT)/.config -Index: xen-4.0.0-testing/tools/libxc/Makefile +Index: xen-4.0.1-testing/tools/libxc/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/libxc/Makefile -+++ xen-4.0.0-testing/tools/libxc/Makefile +--- xen-4.0.1-testing.orig/tools/libxc/Makefile ++++ xen-4.0.1-testing/tools/libxc/Makefile @@ -169,10 +169,10 @@ zlib-options = $(shell \ fi) | grep $(1)) endif ++++++ xen-destdir.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/docs/Makefile +Index: xen-4.0.1-testing/docs/Makefile =================================================================== ---- xen-4.0.0-testing.orig/docs/Makefile -+++ xen-4.0.0-testing/docs/Makefile +--- xen-4.0.1-testing.orig/docs/Makefile ++++ xen-4.0.1-testing/docs/Makefile @@ -90,7 +90,8 @@ install: all $(INSTALL_DIR) $(DESTDIR)$(MANDIR) cp -dR man1 $(DESTDIR)$(MANDIR) @@ -22,10 +22,10 @@ + ln -sf $*.html html.done/$*/index.html + rm -rf html/ + -Index: xen-4.0.0-testing/tools/security/Makefile +Index: xen-4.0.1-testing/tools/security/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/security/Makefile -+++ xen-4.0.0-testing/tools/security/Makefile +--- xen-4.0.1-testing.orig/tools/security/Makefile ++++ xen-4.0.1-testing/tools/security/Makefile @@ -60,8 +60,8 @@ install: all $(ACM_CONFIG_FILE) $(INSTALL_DATA) $(ACM_INST_HTML) $(DESTDIR)$(ACM_SECGEN_HTMLDIR) $(INSTALL_DIR) $(DESTDIR)$(ACM_SECGEN_CGIDIR) @@ -37,10 +37,10 @@ else .PHONY: all all: -Index: xen-4.0.0-testing/tools/pygrub/Makefile +Index: xen-4.0.1-testing/tools/pygrub/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/pygrub/Makefile -+++ xen-4.0.0-testing/tools/pygrub/Makefile +--- xen-4.0.1-testing.orig/tools/pygrub/Makefile ++++ xen-4.0.1-testing/tools/pygrub/Makefile @@ -11,7 +11,7 @@ build: .PHONY: install install: all @@ -50,10 +50,10 @@ $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub $(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot -Index: xen-4.0.0-testing/tools/python/Makefile +Index: xen-4.0.1-testing/tools/python/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/python/Makefile -+++ xen-4.0.0-testing/tools/python/Makefile +--- xen-4.0.1-testing.orig/tools/python/Makefile ++++ xen-4.0.1-testing/tools/python/Makefile @@ -60,7 +60,7 @@ refresh-po: $(POTFILE) .PHONY: install install: install-messages install-dtd @@ -63,10 +63,10 @@ install-dtd: all $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/xen -Index: xen-4.0.0-testing/tools/xenstore/Makefile +Index: xen-4.0.1-testing/tools/xenstore/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/xenstore/Makefile -+++ xen-4.0.0-testing/tools/xenstore/Makefile +--- xen-4.0.1-testing.orig/tools/xenstore/Makefile ++++ xen-4.0.1-testing/tools/xenstore/Makefile @@ -10,6 +10,7 @@ CFLAGS += $(CFLAGS_libxenctrl) CLIENTS := xenstore-exists xenstore-list xenstore-read xenstore-rm xenstore-chmod @@ -121,10 +121,10 @@ $(INSTALL_DIR) $(DESTDIR)$(LIBDIR) $(INSTALL_PROG) libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR) ln -sf libxenstore.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libxenstore.so.$(MAJOR) -Index: xen-4.0.0-testing/tools/hotplug/Linux/Makefile +Index: xen-4.0.1-testing/tools/hotplug/Linux/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/Makefile -+++ xen-4.0.0-testing/tools/hotplug/Linux/Makefile +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/Makefile ++++ xen-4.0.1-testing/tools/hotplug/Linux/Makefile @@ -38,18 +38,6 @@ endif UDEV_RULES_DIR = $(CONFIG_DIR)/udev UDEV_RULES = xen-backend.rules xend.rules ++++++ xen-disable-libxl.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/Makefile +Index: xen-4.0.1-testing/tools/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/Makefile -+++ xen-4.0.0-testing/tools/Makefile +--- xen-4.0.1-testing.orig/tools/Makefile ++++ xen-4.0.1-testing/tools/Makefile @@ -33,7 +33,7 @@ SUBDIRS-$(CONFIG_Linux) += fs-back SUBDIRS-$(CONFIG_NetBSD) += fs-back SUBDIRS-$(CONFIG_IOEMU) += ioemu-dir @@ -10,4 +10,4 @@ +#SUBDIRS-y += libxl SUBDIRS-y += remus SUBDIRS-$(CONFIG_X86) += xenpaging - + SUBDIRS-$(CONFIG_X86) += debugger/gdbsx ++++++ xen-disable-qemu-monitor.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -5,10 +5,10 @@ commands that can read/write dom0's state. -Index: xen-4.0.0-testing/tools/ioemu-remote/monitor.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/monitor.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/monitor.c -+++ xen-4.0.0-testing/tools/ioemu-remote/monitor.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/monitor.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/monitor.c @@ -1497,6 +1497,7 @@ static const term_cmd_t term_cmds[] = { "device|all", "commit changes to the disk images (if -snapshot is used) or backing files" }, { "info", "s?", do_info, ++++++ xen-disable-xenpaging.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,13 +1,13 @@ -Index: xen-4.0.0-testing/tools/Makefile +Index: xen-4.0.1-testing/tools/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/Makefile -+++ xen-4.0.0-testing/tools/Makefile +--- xen-4.0.1-testing.orig/tools/Makefile ++++ xen-4.0.1-testing/tools/Makefile @@ -35,7 +35,7 @@ SUBDIRS-$(CONFIG_IOEMU) += ioemu-dir SUBDIRS-y += xenpmd #SUBDIRS-y += libxl SUBDIRS-y += remus -SUBDIRS-$(CONFIG_X86) += xenpaging +#SUBDIRS-$(CONFIG_X86) += xenpaging + SUBDIRS-$(CONFIG_X86) += debugger/gdbsx # These don't cross-compile - ifeq ($(XEN_COMPILE_ARCH),$(XEN_TARGET_ARCH)) ++++++ xen-domUloader.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/util/blkif.py +Index: xen-4.0.1-testing/tools/python/xen/util/blkif.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/util/blkif.py -+++ xen-4.0.0-testing/tools/python/xen/util/blkif.py +--- xen-4.0.1-testing.orig/tools/python/xen/util/blkif.py ++++ xen-4.0.1-testing/tools/python/xen/util/blkif.py @@ -71,8 +71,8 @@ def blkdev_segment(name): 'type' : 'Disk' } return val @@ -35,10 +35,10 @@ def mount_mode(name): mode = None -Index: xen-4.0.0-testing/tools/python/xen/xend/server/DevController.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/DevController.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/DevController.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/DevController.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/DevController.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/DevController.py @@ -592,6 +592,31 @@ class DevController: return (Missing, None) @@ -71,10 +71,10 @@ def backendPath(self, backdom, devid): """Construct backend path given the backend domain and device id. -Index: xen-4.0.0-testing/tools/python/xen/xend/XendBootloader.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendBootloader.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendBootloader.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendBootloader.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendBootloader.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendBootloader.py @@ -12,7 +12,7 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @@ -101,21 +101,21 @@ + raise VmError(msg) + + avail = False -+ for i in xrange(1, 20): ++ for i in xrange(1, 100): + avail = os.access(disk, os.R_OK) + if avail: + break -+ time.sleep(.05) ++ time.sleep(.1) + + if not avail: + msg = "Disk '%s' isn't accessible" % disk log.error(msg) raise VmError(msg) -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -37,7 +37,7 @@ from types import StringTypes import xen.lowlevel.xc ++++++ xen-extra-fixes.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/block-vvfat.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/block-vvfat.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/block-vvfat.c -+++ xen-4.0.0-testing/tools/ioemu-remote/block-vvfat.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/block-vvfat.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/block-vvfat.c @@ -865,7 +865,8 @@ static int init_directories(BDRVVVFATSta { direntry_t* entry=array_get_next(&(s->directory)); ++++++ xen-fixme-doc.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/docs/man/xmdomain.cfg.pod.5 +Index: xen-4.0.1-testing/docs/man/xmdomain.cfg.pod.5 =================================================================== ---- xen-4.0.0-testing.orig/docs/man/xmdomain.cfg.pod.5 -+++ xen-4.0.0-testing/docs/man/xmdomain.cfg.pod.5 +--- xen-4.0.1-testing.orig/docs/man/xmdomain.cfg.pod.5 ++++ xen-4.0.1-testing/docs/man/xmdomain.cfg.pod.5 @@ -335,16 +335,10 @@ at hda1, which is the root filesystem. =item I<NFS Root> @@ -19,10 +19,10 @@ =back =head1 SEE ALSO -Index: xen-4.0.0-testing/docs/man/xm.pod.1 +Index: xen-4.0.1-testing/docs/man/xm.pod.1 =================================================================== ---- xen-4.0.0-testing.orig/docs/man/xm.pod.1 -+++ xen-4.0.0-testing/docs/man/xm.pod.1 +--- xen-4.0.1-testing.orig/docs/man/xm.pod.1 ++++ xen-4.0.1-testing/docs/man/xm.pod.1 @@ -297,7 +297,8 @@ scheduling by the Xen hypervisor. =item B<s - shutdown> ++++++ xen-hvm-default-bridge.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/net.h +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/net.h =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/net.h -+++ xen-4.0.0-testing/tools/ioemu-remote/net.h +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/net.h ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/net.h @@ -107,8 +107,8 @@ void net_host_device_add(const char *dev void net_host_device_remove(int vlan_id, const char *device); @@ -13,10 +13,10 @@ #endif #ifdef __sun__ #define SMBD_COMMAND "/usr/sfw/sbin/smbd" -Index: xen-4.0.0-testing/tools/ioemu-remote/net.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/net.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/net.c -+++ xen-4.0.0-testing/tools/ioemu-remote/net.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/net.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/net.c @@ -1759,9 +1759,10 @@ int net_client_init(const char *device, } if (get_param_value(script_arg, sizeof(script_arg), "scriptarg", p) == 0 && @@ -30,10 +30,10 @@ } } else #endif -Index: xen-4.0.0-testing/tools/python/xen/xend/image.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.0.1-testing/tools/python/xen/xend/image.py @@ -912,11 +912,13 @@ class HVMImageHandler(ImageHandler): mac = devinfo.get('mac') if mac is None: @@ -51,10 +51,10 @@ vifname = devinfo.get('vifname') if vifname: vifname = "tap-" + vifname -Index: xen-4.0.0-testing/tools/ioemu-remote/i386-dm/qemu-ifup-Linux +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/i386-dm/qemu-ifup-Linux -+++ xen-4.0.0-testing/tools/ioemu-remote/i386-dm/qemu-ifup-Linux +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux @@ -1,36 +1,22 @@ #!/bin/sh ++++++ xen-hvm-default-pae.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,9 +1,9 @@ PAE must be on for 64-on-64 to work at all. -Index: xen-4.0.0-testing/tools/python/xen/xend/image.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.0.1-testing/tools/python/xen/xend/image.py @@ -1030,7 +1030,7 @@ class X86_HVM_ImageHandler(HVMImageHandl def configure(self, vmConfig): ++++++ xen-ioemu-hvm-pv-support.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/ioemu-remote/hw/xen_platform.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c =================================================================== ---- xen-4.0.0-testing.orig/tools/ioemu-remote/hw/xen_platform.c -+++ xen-4.0.0-testing/tools/ioemu-remote/hw/xen_platform.c +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c @@ -30,6 +30,8 @@ #include "qemu-xen.h" #include "net.h" ++++++ xen-max-free-mem.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendNode.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendNode.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendNode.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendNode.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendNode.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendNode.py @@ -916,15 +916,39 @@ class XendNode: info['cpu_mhz'] = info['cpu_khz'] / 1000 @@ -57,10 +57,10 @@ 'node_to_cpu', 'node_to_memory', 'node_to_dma32_mem', -Index: xen-4.0.0-testing/tools/python/xen/xend/balloon.py +Index: xen-4.0.1-testing/tools/python/xen/xend/balloon.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/balloon.py -+++ xen-4.0.0-testing/tools/python/xen/xend/balloon.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/balloon.py ++++ xen-4.0.1-testing/tools/python/xen/xend/balloon.py @@ -43,6 +43,8 @@ SLEEP_TIME_GROWTH = 0.1 # label actually shown in the PROC_XEN_BALLOON file. #labels = { 'current' : 'Current allocation', @@ -94,10 +94,10 @@ def free(need_mem, dominfo): """Balloon out memory from the privileged domain so that there is the specified required amount (in KiB) free. -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -1473,6 +1473,27 @@ class XendDomainInfo: pci_conf = self.info['devices'][dev_uuid][1] return map(pci_dict_to_bdf_str, pci_conf['devs']) @@ -126,10 +126,10 @@ def setMemoryTarget(self, target): """Set the memory target of this domain. @param target: In MiB. -Index: xen-4.0.0-testing/tools/python/xen/xend/server/SrvDomain.py +Index: xen-4.0.1-testing/tools/python/xen/xend/server/SrvDomain.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/server/SrvDomain.py -+++ xen-4.0.0-testing/tools/python/xen/xend/server/SrvDomain.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/server/SrvDomain.py ++++ xen-4.0.1-testing/tools/python/xen/xend/server/SrvDomain.py @@ -173,7 +173,7 @@ class SrvDomain(SrvDir): ++++++ xen-no-dummy-nfs-ip.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,8 +1,8 @@ -Index: xen-4.0.0-testing/tools/python/xen/xm/create.py +Index: xen-4.0.1-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.0.0-testing/tools/python/xen/xm/create.py -@@ -1321,9 +1321,8 @@ def preprocess_access_control(vals): +--- xen-4.0.1-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.0.1-testing/tools/python/xen/xm/create.py +@@ -1331,9 +1331,8 @@ def preprocess_access_control(vals): def preprocess_ip(vals): if vals.ip or vals.dhcp != 'off': ++++++ xen-paths.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xm/create.py +Index: xen-4.0.1-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.0.0-testing/tools/python/xen/xm/create.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.0.1-testing/tools/python/xen/xm/create.py @@ -73,7 +73,7 @@ gopts.opt('quiet', short='q', use="Quiet.") @@ -11,10 +11,10 @@ use="Search path for configuration scripts. " "The value of PATH is a colon-separated directory list.") -Index: xen-4.0.0-testing/docs/man/xm.pod.1 +Index: xen-4.0.1-testing/docs/man/xm.pod.1 =================================================================== ---- xen-4.0.0-testing.orig/docs/man/xm.pod.1 -+++ xen-4.0.0-testing/docs/man/xm.pod.1 +--- xen-4.0.1-testing.orig/docs/man/xm.pod.1 ++++ xen-4.0.1-testing/docs/man/xm.pod.1 @@ -77,7 +77,7 @@ in the config file. See L<xmdomain.cfg> format, and possible options used in either the configfile or for I<vars>. @@ -33,10 +33,10 @@ soon as it is run. =item I<without config file> -Index: xen-4.0.0-testing/docs/man/xmdomain.cfg.pod.5 +Index: xen-4.0.1-testing/docs/man/xmdomain.cfg.pod.5 =================================================================== ---- xen-4.0.0-testing.orig/docs/man/xmdomain.cfg.pod.5 -+++ xen-4.0.0-testing/docs/man/xmdomain.cfg.pod.5 +--- xen-4.0.1-testing.orig/docs/man/xmdomain.cfg.pod.5 ++++ xen-4.0.1-testing/docs/man/xmdomain.cfg.pod.5 @@ -4,9 +4,9 @@ xmdomain.cfg - xm domain config file for =head1 SYNOPSIS ++++++ xen-qemu-iscsi-fix.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,5 +1,7 @@ ---- a/tools/ioemu-remote/xenstore.c -+++ b/tools/ioemu-remote/xenstore.c +Index: xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c +=================================================================== +--- xen-4.0.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.0.1-testing/tools/ioemu-qemu-xen/xenstore.c @@ -399,7 +399,7 @@ void xenstore_parse_domain_config(int hv char *buf = NULL; char *fpath = NULL, *bpath = NULL, *btype = NULL, @@ -9,7 +11,7 @@ unsigned int len, num, hd_index, pci_devid = 0; BlockDriverState *bs; BlockDriver *format; -@@ -486,12 +486,7 @@ void xenstore_parse_domain_config(int hv +@@ -491,12 +491,7 @@ void xenstore_parse_domain_config(int hv continue; free(danger_type); danger_type = xs_read(xsh, XBT_NULL, danger_buf, &len); @@ -23,7 +25,7 @@ /* read the name of the device */ if (pasprintf(&buf, "%s/type", bpath) == -1) continue; -@@ -499,6 +494,35 @@ void xenstore_parse_domain_config(int hv +@@ -504,6 +499,35 @@ void xenstore_parse_domain_config(int hv drv = xs_read(xsh, XBT_NULL, buf, &len); if (drv == NULL) continue; ++++++ xen-rpmoptflags.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/blktap/drivers/Makefile +Index: xen-4.0.1-testing/tools/blktap/drivers/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap/drivers/Makefile -+++ xen-4.0.0-testing/tools/blktap/drivers/Makefile +--- xen-4.0.1-testing.orig/tools/blktap/drivers/Makefile ++++ xen-4.0.1-testing/tools/blktap/drivers/Makefile @@ -6,7 +6,6 @@ QCOW_UTIL = img2qcow qcow2raw qcow-cr LIBAIO_DIR = ../../libaio/src MEMSHR_DIR = ../../memshr @@ -10,10 +10,10 @@ CFLAGS += -Wno-unused CFLAGS += -I../lib CFLAGS += $(CFLAGS_libxenctrl) -Index: xen-4.0.0-testing/Config.mk +Index: xen-4.0.1-testing/Config.mk =================================================================== ---- xen-4.0.0-testing.orig/Config.mk -+++ xen-4.0.0-testing/Config.mk +--- xen-4.0.1-testing.orig/Config.mk ++++ xen-4.0.1-testing/Config.mk @@ -14,7 +14,7 @@ SHELL ?= /bin/sh # Tools to run on system hosting the build ++++++ xen-warnings.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/misc/miniterm/miniterm.c +Index: xen-4.0.1-testing/tools/misc/miniterm/miniterm.c =================================================================== ---- xen-4.0.0-testing.orig/tools/misc/miniterm/miniterm.c -+++ xen-4.0.0-testing/tools/misc/miniterm/miniterm.c +--- xen-4.0.1-testing.orig/tools/misc/miniterm/miniterm.c ++++ xen-4.0.1-testing/tools/misc/miniterm/miniterm.c @@ -157,7 +157,7 @@ int main(int argc, char **argv) case 0: close(1); /* stdout not needed */ @@ -35,10 +35,10 @@ break; } -Index: xen-4.0.0-testing/tools/libxc/xc_dom_elfloader.c +Index: xen-4.0.1-testing/tools/libxc/xc_dom_elfloader.c =================================================================== ---- xen-4.0.0-testing.orig/tools/libxc/xc_dom_elfloader.c -+++ xen-4.0.0-testing/tools/libxc/xc_dom_elfloader.c +--- xen-4.0.1-testing.orig/tools/libxc/xc_dom_elfloader.c ++++ xen-4.0.1-testing/tools/libxc/xc_dom_elfloader.c @@ -193,8 +193,9 @@ static int xc_dom_load_elf_symtab(struct if ( load ) @@ -50,10 +50,10 @@ elf_section_start(elf, shdr2), size); } -Index: xen-4.0.0-testing/tools/xenstore/Makefile +Index: xen-4.0.1-testing/tools/xenstore/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/xenstore/Makefile -+++ xen-4.0.0-testing/tools/xenstore/Makefile +--- xen-4.0.1-testing.orig/tools/xenstore/Makefile ++++ xen-4.0.1-testing/tools/xenstore/Makefile @@ -4,7 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk MAJOR = 3.0 MINOR = 0 @@ -63,10 +63,10 @@ CFLAGS += -I. CFLAGS += $(CFLAGS_libxenctrl) -Index: xen-4.0.0-testing/tools/xenstore/xenstored_core.c +Index: xen-4.0.1-testing/tools/xenstore/xenstored_core.c =================================================================== ---- xen-4.0.0-testing.orig/tools/xenstore/xenstored_core.c -+++ xen-4.0.0-testing/tools/xenstore/xenstored_core.c +--- xen-4.0.1-testing.orig/tools/xenstore/xenstored_core.c ++++ xen-4.0.1-testing/tools/xenstore/xenstored_core.c @@ -77,8 +77,8 @@ static void check_store(void); int quota_nb_entry_per_domain = 1000; @@ -91,10 +91,10 @@ break; case 'T': tracefile = optarg; -Index: xen-4.0.0-testing/tools/xenstore/xenstored_domain.c +Index: xen-4.0.1-testing/tools/xenstore/xenstored_domain.c =================================================================== ---- xen-4.0.0-testing.orig/tools/xenstore/xenstored_domain.c -+++ xen-4.0.0-testing/tools/xenstore/xenstored_domain.c +--- xen-4.0.1-testing.orig/tools/xenstore/xenstored_domain.c ++++ xen-4.0.1-testing/tools/xenstore/xenstored_domain.c @@ -212,7 +212,7 @@ void handle_event(void) { evtchn_port_t port; @@ -113,10 +113,10 @@ return -1; dom0 = new_domain(NULL, 0, port); -Index: xen-4.0.0-testing/tools/xenstore/xenstored_transaction.c +Index: xen-4.0.1-testing/tools/xenstore/xenstored_transaction.c =================================================================== ---- xen-4.0.0-testing.orig/tools/xenstore/xenstored_transaction.c -+++ xen-4.0.0-testing/tools/xenstore/xenstored_transaction.c +--- xen-4.0.1-testing.orig/tools/xenstore/xenstored_transaction.c ++++ xen-4.0.1-testing/tools/xenstore/xenstored_transaction.c @@ -82,7 +82,7 @@ struct transaction struct list_head changed_domains; }; @@ -126,10 +126,10 @@ static unsigned int generation; /* Return tdb context to use for this connection. */ -Index: xen-4.0.0-testing/tools/xenstore/xenstore_client.c +Index: xen-4.0.1-testing/tools/xenstore/xenstore_client.c =================================================================== ---- xen-4.0.0-testing.orig/tools/xenstore/xenstore_client.c -+++ xen-4.0.0-testing/tools/xenstore/xenstore_client.c +--- xen-4.0.1-testing.orig/tools/xenstore/xenstore_client.c ++++ xen-4.0.1-testing/tools/xenstore/xenstore_client.c @@ -251,7 +251,7 @@ do_chmod(char *path, struct xs_permissio char **xsval = xs_directory(xsh, xth, path, &xsval_n); @@ -139,10 +139,10 @@ for (i = 0; i < xsval_n; i++) { snprintf(buf, MAX_PATH_LEN, "%s/%s", path, xsval[i]); -Index: xen-4.0.0-testing/tools/libxen/src/xen_common.c +Index: xen-4.0.1-testing/tools/libxen/src/xen_common.c =================================================================== ---- xen-4.0.0-testing.orig/tools/libxen/src/xen_common.c -+++ xen-4.0.0-testing/tools/libxen/src/xen_common.c +--- xen-4.0.1-testing.orig/tools/libxen/src/xen_common.c ++++ xen-4.0.1-testing/tools/libxen/src/xen_common.c @@ -1057,6 +1057,8 @@ static size_t size_of_member(const abstr default: assert(false); @@ -161,10 +161,10 @@ } -Index: xen-4.0.0-testing/tools/blktap2/drivers/block-remus.c +Index: xen-4.0.1-testing/tools/blktap2/drivers/block-remus.c =================================================================== ---- xen-4.0.0-testing.orig/tools/blktap2/drivers/block-remus.c -+++ xen-4.0.0-testing/tools/blktap2/drivers/block-remus.c +--- xen-4.0.1-testing.orig/tools/blktap2/drivers/block-remus.c ++++ xen-4.0.1-testing/tools/blktap2/drivers/block-remus.c @@ -1579,7 +1579,7 @@ static int tdremus_open(td_driver_t *dri td_flag_t flags) { ++++++ xen-xm-top-needs-root.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,11 +1,11 @@ From: Charles Coffing <ccoffing@novell.com> Upstream: no -Index: xen-4.0.0-testing/tools/python/xen/xm/main.py +Index: xen-4.0.1-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.0.0-testing/tools/python/xen/xm/main.py -@@ -2052,6 +2052,10 @@ def xm_debug_keys(args): +--- xen-4.0.1-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.0.1-testing/tools/python/xen/xm/main.py +@@ -2054,6 +2054,10 @@ def xm_debug_keys(args): def xm_top(args): arg_check(args, "top", 0) ++++++ xen-xmexample-vti.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/examples/Makefile +Index: xen-4.0.1-testing/tools/examples/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/Makefile -+++ xen-4.0.0-testing/tools/examples/Makefile +--- xen-4.0.1-testing.orig/tools/examples/Makefile ++++ xen-4.0.1-testing/tools/examples/Makefile @@ -18,7 +18,6 @@ XEN_CONFIGS += xmexample.hvm XEN_CONFIGS += xmexample.hvm-stubdom XEN_CONFIGS += xmexample.pv-grub ++++++ xen-xmexample.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,9 +1,9 @@ Change various example paths in the config files to match SUSE. -Index: xen-4.0.0-testing/tools/examples/xmexample1 +Index: xen-4.0.1-testing/tools/examples/xmexample1 =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/xmexample1 -+++ xen-4.0.0-testing/tools/examples/xmexample1 +--- xen-4.0.1-testing.orig/tools/examples/xmexample1 ++++ xen-4.0.1-testing/tools/examples/xmexample1 @@ -7,11 +7,13 @@ #============================================================================ @@ -43,10 +43,10 @@ #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' -Index: xen-4.0.0-testing/tools/examples/xmexample2 +Index: xen-4.0.1-testing/tools/examples/xmexample2 =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/xmexample2 -+++ xen-4.0.0-testing/tools/examples/xmexample2 +--- xen-4.0.1-testing.orig/tools/examples/xmexample2 ++++ xen-4.0.1-testing/tools/examples/xmexample2 @@ -35,11 +35,13 @@ xm_vars.var('vmid', xm_vars.check() @@ -86,33 +86,32 @@ #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' -Index: xen-4.0.0-testing/tools/examples/xmexample3 +Index: xen-4.0.1-testing/tools/examples/xmexample3 =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/xmexample3 -+++ xen-4.0.0-testing/tools/examples/xmexample3 +--- xen-4.0.1-testing.orig/tools/examples/xmexample3 ++++ xen-4.0.1-testing/tools/examples/xmexample3 @@ -35,11 +35,13 @@ xm_vars.var('vmid', xm_vars.check() #---------------------------------------------------------------------------- -# Kernel image file. -kernel = "/path/to/domU/kernel" -- --# Optional ramdisk. --#ramdisk = "/boot/initrd.gz" +# Kernel image file and (optional) ramdisk (initrd). +kernel = "/boot/vmlinuz-xen" +ramdisk = "/boot/initrd-xen" -+ + +-# Optional ramdisk. +-#ramdisk = "/boot/initrd.gz" +# Or use domUloader instead of kernel/ramdisk to get kernel from domU FS +#bootloader = "/usr/lib/xen/boot/domUloader.py" +#bootentry = "hda2:/vmlinuz-xen,/initrd-xen" # The domain build function. Default is 'linux'. #builder='linux' -Index: xen-4.0.0-testing/tools/examples/xmexample.hvm +Index: xen-4.0.1-testing/tools/examples/xmexample.hvm =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/xmexample.hvm -+++ xen-4.0.0-testing/tools/examples/xmexample.hvm +--- xen-4.0.1-testing.orig/tools/examples/xmexample.hvm ++++ xen-4.0.1-testing/tools/examples/xmexample.hvm @@ -78,7 +78,7 @@ vif = [ 'type=ioemu, bridge=xenbr0' ] # and MODE is r for read-only, w for read-write. @@ -122,11 +121,11 @@ #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' -Index: xen-4.0.0-testing/docs/man/xmdomain.cfg.pod.5 +Index: xen-4.0.1-testing/docs/man/xmdomain.cfg.pod.5 =================================================================== ---- xen-4.0.0-testing.orig/docs/man/xmdomain.cfg.pod.5 -+++ xen-4.0.0-testing/docs/man/xmdomain.cfg.pod.5 -@@ -38,13 +38,13 @@ file. +--- xen-4.0.1-testing.orig/docs/man/xmdomain.cfg.pod.5 ++++ xen-4.0.1-testing/docs/man/xmdomain.cfg.pod.5 +@@ -38,13 +38,13 @@ file. The kernel image for the domain. The format of the parameter is the fully qualified path to the kernel image file, @@ -161,10 +160,10 @@ at hda1, which is the root filesystem. =item I<NFS Root> -Index: xen-4.0.0-testing/docs/man/xm.pod.1 +Index: xen-4.0.1-testing/docs/man/xm.pod.1 =================================================================== ---- xen-4.0.0-testing.orig/docs/man/xm.pod.1 -+++ xen-4.0.0-testing/docs/man/xm.pod.1 +--- xen-4.0.1-testing.orig/docs/man/xm.pod.1 ++++ xen-4.0.1-testing/docs/man/xm.pod.1 @@ -163,8 +163,8 @@ soon as it is run. =item I<without config file> ++++++ xenapi-console-protocol.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -3924,6 +3924,14 @@ class XendDomainInfo: if not config.has_key('backend'): config['backend'] = "00000000-0000-0000-0000-000000000000" ++++++ xend-config.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains +Index: xen-4.0.1-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xendomains -+++ xen-4.0.0-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xendomains ++++ xen-4.0.1-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains @@ -1,4 +1,4 @@ -## Path: System/xen +## Path: System/Virtualization @@ -27,10 +27,10 @@ ## Type: integer ## Default: 300 -Index: xen-4.0.0-testing/tools/examples/xend-config.sxp +Index: xen-4.0.1-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.0.0-testing/tools/examples/xend-config.sxp +--- xen-4.0.1-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.0.1-testing/tools/examples/xend-config.sxp @@ -58,11 +58,12 @@ ++++++ xend-core-dump-loc.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -2317,7 +2317,7 @@ class XendDomainInfo: # To prohibit directory traversal based_name = os.path.basename(self.info['name_label']) ++++++ xend-devid-or-name.patch ++++++ # HG changeset patch # User Jim Fehlig <jfehlig@novell.com> # Date 1284948067 21600 # Node ID 4674ad11feef87a6a57b99313966e0e121588e1c # Parent 5393151a737b023476f4e571effc547e758cf8c8 xend: Fix device_configure The semantics of XendDomainInfo.py:device_configure() changed with xen upstream c/s 19610. Previously this method would take a devid in actual id *or* name form, e.g. it would accept '5632' or 'hdc'. This patch restores that behavior. Signed-off-by: Jim Fehlig <jfehlig@novell.com> Index: xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== --- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py +++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -1218,6 +1218,9 @@ class XendDomainInfo: except ValueError: pass devid = dev_control.convertToDeviceNumber(dev) + else: + # devid could be a name, e.g. hdc + devid = dev_control.convertToDeviceNumber(devid) dev_info = self._getDeviceInfo_vbd(devid) if dev_info is None: raise VmError("Device %s not connected" % devid) ++++++ xend-domain-lock.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/examples/xend-config.sxp +Index: xen-4.0.1-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.0.0-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.0.0-testing/tools/examples/xend-config.sxp +--- xen-4.0.1-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.0.1-testing/tools/examples/xend-config.sxp @@ -305,6 +305,65 @@ # device assignment could really work properly even after we do this. #(pci-passthrough-strict-check yes) @@ -68,10 +68,10 @@ # If we have a very big scsi device configuration, start of xend is slow, # because xend scans all the device paths to build its internal PSCSI device # list. If we need only a few devices for assigning to a guest, we can reduce -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.0.1-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 +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomainInfo.py @@ -32,11 +32,12 @@ import re import copy import os @@ -94,7 +94,7 @@ XendTask.log_progress(0, 30, self._constructDomain) XendTask.log_progress(31, 60, self._initDomain) -@@ -2987,6 +2989,11 @@ class XendDomainInfo: +@@ -2990,6 +2992,11 @@ class XendDomainInfo: self._stateSet(DOM_STATE_HALTED) self.domid = None # Do not push into _stateSet()! @@ -106,7 +106,7 @@ finally: self.refresh_shutdown_lock.release() -@@ -4493,6 +4500,74 @@ class XendDomainInfo: +@@ -4503,6 +4510,74 @@ class XendDomainInfo: def has_device(self, dev_class, dev_uuid): return (dev_uuid in self.info['%s_refs' % dev_class.lower()]) @@ -181,10 +181,10 @@ def __str__(self): return '<domain id=%s name=%s memory=%s state=%s>' % \ (str(self.domid), self.info['name_label'], -Index: xen-4.0.0-testing/tools/python/xen/xend/XendOptions.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendOptions.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendOptions.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendOptions.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendOptions.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendOptions.py @@ -154,6 +154,17 @@ class XendOptions: use loose check automatically if necessary.""" pci_dev_assign_strict_check_default = True @@ -228,10 +228,10 @@ def get_vnc_tls(self): return self.get_config_string('vnc-tls', self.xend_vnc_tls) -Index: xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendCheckpoint.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendCheckpoint.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendCheckpoint.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendCheckpoint.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendCheckpoint.py @@ -131,6 +131,7 @@ def save(fd, dominfo, network, live, dst dominfo.shutdown('suspend') dominfo.waitForSuspend() @@ -248,10 +248,10 @@ return dominfo except Exception, exn: dominfo.destroy() -Index: xen-4.0.0-testing/tools/hotplug/Linux/Makefile +Index: xen-4.0.1-testing/tools/hotplug/Linux/Makefile =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/Makefile -+++ xen-4.0.0-testing/tools/hotplug/Linux/Makefile +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/Makefile ++++ xen-4.0.1-testing/tools/hotplug/Linux/Makefile @@ -19,6 +19,7 @@ XEN_SCRIPTS += vtpm vtpm-delete XEN_SCRIPTS += xen-hotplug-cleanup XEN_SCRIPTS += external-device-migrate @@ -260,10 +260,10 @@ XEN_SCRIPT_DATA = xen-script-common.sh locking.sh logging.sh XEN_SCRIPT_DATA += xen-hotplug-common.sh xen-network-common.sh vif-common.sh XEN_SCRIPT_DATA += block-common.sh vtpm-common.sh vtpm-hotplug-common.sh -Index: xen-4.0.0-testing/tools/hotplug/Linux/domain-lock +Index: xen-4.0.1-testing/tools/hotplug/Linux/domain-lock =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/hotplug/Linux/domain-lock ++++ xen-4.0.1-testing/tools/hotplug/Linux/domain-lock @@ -0,0 +1,83 @@ +#!/bin/bash + @@ -348,10 +348,10 @@ + get_status $vm_path + ;; +esac -Index: xen-4.0.0-testing/tools/hotplug/Linux/vm-monitor +Index: xen-4.0.1-testing/tools/hotplug/Linux/vm-monitor =================================================================== --- /dev/null -+++ xen-4.0.0-testing/tools/hotplug/Linux/vm-monitor ++++ xen-4.0.1-testing/tools/hotplug/Linux/vm-monitor @@ -0,0 +1,41 @@ +#!/bin/bash + ++++++ xend-sysconfig.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/hotplug/Linux/init.d/sysconfig.xend +Index: xen-4.0.1-testing/tools/hotplug/Linux/init.d/sysconfig.xend =================================================================== ---- xen-4.0.0-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xend -+++ xen-4.0.0-testing/tools/hotplug/Linux/init.d/sysconfig.xend +--- xen-4.0.1-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xend ++++ xen-4.0.1-testing/tools/hotplug/Linux/init.d/sysconfig.xend @@ -1,11 +1,27 @@ +## Path: System/Virtualization +## Type: string(none,guest,hv,all) ++++++ xm-create-xflag.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xm/create.py +Index: xen-4.0.1-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.0.0-testing/tools/python/xen/xm/create.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.0.1-testing/tools/python/xen/xm/create.py @@ -36,7 +36,7 @@ from xen.xend.server.DevConstants import from xen.util import blkif from xen.util import vscsi_util @@ -11,7 +11,7 @@ from xen.util import utils, auxbin from xen.util.pci import dev_dict_to_sxp, \ parse_pci_name_extended, PciDeviceParseError -@@ -1514,7 +1514,7 @@ def main(argv): +@@ -1522,7 +1522,7 @@ def main(argv): except IOError, exn: raise OptionError("Cannot read file %s: %s" % (config, exn[1])) @@ -20,7 +20,7 @@ from xen.xm.xenapi_create import sxp2xml sxp2xml_inst = sxp2xml() doc = sxp2xml_inst.convert_sxp_to_xml(config, transient=True) -@@ -1522,7 +1522,7 @@ def main(argv): +@@ -1530,7 +1530,7 @@ def main(argv): if opts.vals.dryrun and not opts.is_xml: SXPPrettyPrint.prettyprint(config) @@ -29,10 +29,10 @@ from xml.dom.ext import PrettyPrint as XMLPrettyPrint XMLPrettyPrint(doc) -Index: xen-4.0.0-testing/tools/python/xen/xend/XendAPIConstants.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendAPIConstants.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendAPIConstants.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendAPIConstants.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendAPIConstants.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendAPIConstants.py @@ -45,8 +45,10 @@ XEN_API_ON_NORMAL_EXIT = [ XEN_API_ON_CRASH_BEHAVIOUR = [ 'destroy', ++++++ xm-save-check-file.patch ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/python/xen/xend/XendAPI.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendAPI.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendAPI.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendAPI.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendAPI.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendAPI.py @@ -1923,10 +1923,10 @@ class XendAPI(object): bool(live), port, node, ssl, bool(chs)) return xen_api_success_void() @@ -15,10 +15,10 @@ return xen_api_success_void() def VM_restore(self, _, src, paused): -Index: xen-4.0.0-testing/tools/python/xen/xend/XendDomain.py +Index: xen-4.0.1-testing/tools/python/xen/xend/XendDomain.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xend/XendDomain.py -+++ xen-4.0.0-testing/tools/python/xen/xend/XendDomain.py +--- xen-4.0.1-testing.orig/tools/python/xen/xend/XendDomain.py ++++ xen-4.0.1-testing/tools/python/xen/xend/XendDomain.py @@ -1496,7 +1496,7 @@ class XendDomain: pass sock.close() @@ -38,10 +38,10 @@ if dominfo.getDomid() == DOM0_ID: raise XendError("Cannot save privileged domain %s" % str(domid)) if dominfo._stateGet() != DOM_STATE_RUNNING: -Index: xen-4.0.0-testing/tools/python/xen/xm/main.py +Index: xen-4.0.1-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.0.0-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.0.0-testing/tools/python/xen/xm/main.py +--- xen-4.0.1-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.0.1-testing/tools/python/xen/xm/main.py @@ -120,7 +120,7 @@ SUBCOMMAND_HELP = { 'reset' : ('<Domain>', 'Reset a domain.'), 'restore' : ('<CheckpointFile> [-p]', ++++++ xm-test-cleanup.diff ++++++ --- /var/tmp/diff_new_pack.qe8qnd/_old 2010-09-28 00:06:26.000000000 +0200 +++ /var/tmp/diff_new_pack.qe8qnd/_new 2010-09-28 00:06:26.000000000 +0200 @@ -1,7 +1,7 @@ -Index: xen-4.0.0-testing/tools/xm-test/tests/save/01_save_basic_pos.py +Index: xen-4.0.1-testing/tools/xm-test/tests/save/01_save_basic_pos.py =================================================================== ---- xen-4.0.0-testing.orig/tools/xm-test/tests/save/01_save_basic_pos.py -+++ xen-4.0.0-testing/tools/xm-test/tests/save/01_save_basic_pos.py +--- xen-4.0.1-testing.orig/tools/xm-test/tests/save/01_save_basic_pos.py ++++ xen-4.0.1-testing/tools/xm-test/tests/save/01_save_basic_pos.py @@ -35,3 +35,9 @@ if s != 0: # Make sure it's gone if isDomainRunning(domain.getName()): ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 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