From 800917b5a2fdd69ff57739e646313a88ed24e20a510440472f97d267bffa17aa Mon Sep 17 00:00:00 2001 From: Charles Arnold Date: Thu, 15 Sep 2011 21:43:21 +0000 Subject: [PATCH] - bnc#717650 - Unable to start VM - Update to Xen 4.1.2_rc2 c/s 23152 - bnc#716695 - domUs using tap devices will not start updated multi-xvdp.patch - Upstream patches from Jan 23803-intel-pmu-models.patch 23800-x86_64-guest-addr-range.patch 23795-intel-ich10-quirk.patch 23804-x86-IPI-counts.patch - bnc#706106 - Inconsistent reporting of VM names during migration xend-migration-domname-fix.patch - bnc#712823 - L3:Xen guest does not start reliable when rebooted xend-vcpu-affinity-fix.patch OBS-URL: https://build.opensuse.org/package/show/Virtualization/xen?expand=0&rev=143 --- 22998-x86-get_page_from_l1e-retcode.patch | 12 +- 22999-x86-mod_l1_entry-retcode.patch | 6 +- 23000-x86-mod_l2_entry-retcode.patch | 6 +- 23074-pfn.h.patch | 58 ++-- 23096-x86-hpet-no-cpumask_lock.patch | 6 +- 23099-x86-rwlock-scalability.patch | 24 +- 23103-x86-pirq-guest-eoi-check.patch | 8 +- 23127-vtd-bios-settings.patch | 62 ++-- 23199-amd-iommu-unmapped-intr-fault.patch | 6 +- 23233-hvm-cr-access.patch | 40 +-- 23234-svm-decode-assist-base.patch | 18 +- 23235-svm-decode-assist-crs.patch | 6 +- 23236-svm-decode-assist-invlpg.patch | 30 +- 23238-svm-decode-assist-insn-fetch.patch | 26 +- 23303-cpufreq-misc.patch | 24 +- 23304-amd-oprofile-strings.patch | 6 +- 23305-amd-fam15-xenoprof.patch | 24 +- 23306-amd-fam15-vpmu.patch | 18 +- 23334-amd-fam12+14-vpmu.patch | 12 +- 23383-libxc-rm-static-vars.patch | 12 +- 23437-amd-fam15-TSC-scaling.patch | 26 +- 23462-libxc-cpu-feature.patch | 27 +- 23481-x86-SMEP.patch | 284 ----------------- 23504-x86-SMEP-hvm.patch | 148 --------- 23505-x86-cpu-add-arg-check.patch | 24 -- 23508-vmx-proc-based-ctls-probe.patch | 6 +- 23510-hvm-cpuid-DRNG.patch | 44 --- 23511-amd-fam15-no-flush-for-C3.patch | 8 +- 23516-cpuid-ERMS.patch | 67 ---- 23538-hvm-pio-emul-no-host-crash.patch | 33 -- 23539-hvm-cpuid-FSGSBASE.patch | 34 -- 23543-x86_64-maddr_to_virt-assertion.patch | 24 -- 23546-fucomip.patch | 23 -- 23571-vtd-fault-verbosity.patch | 38 ++- 23574-x86-dom0-compressed-ELF.patch | 12 +- 23575-x86-DMI.patch | 6 +- 23610-x86-topology-info.patch | 38 ++- 23611-amd-fam15-topology.patch | 30 +- 23613-EFI-headers.patch | 32 +- 23614-x86_64-EFI-boot.patch | 154 ++++++--- 23615-x86_64-EFI-runtime.patch | 72 +++-- 23616-x86_64-EFI-MPS.patch | 26 +- 23676-x86_64-image-map-bounds.patch | 20 +- 23685-libxl-segfault-fix.patch | 6 +- 23706-fix-20892.patch | 28 -- 23723-x86-CMOS-lock.patch | 48 +-- 23724-x86-smpboot-x2apic.patch | 33 +- 23725-pci-add-device.patch | 174 ----------- 23726-x86-intel-flexmigration.patch | 128 -------- 23732-sedf.patch | 60 ---- 23735-guest-dom0-cap.patch | 58 ++-- 23746-vtd-cleanup-timers.patch | 43 --- 23747-mmcfg-base-address.patch | 6 +- 23749-mmcfg-reservation.patch | 50 +-- 23762-iommu-fault-bm-off.patch | 72 ----- 23763-pci-multi-seg-x2apic-vtd-no-crash.patch | 55 ---- 23765-x86-irq-vector-leak.patch | 29 -- 23766-x86-msi-vf-bars.patch | 295 ------------------ 23771-x86-ioapic-clear-pin.patch | 6 +- 23772-x86-trampoline.patch | 62 ++-- 23774-x86_64-EFI-EDD.patch | 18 +- ...-x86-kexec-hpet-legacy-bcast-disable.patch | 56 ---- 23781-pm-wide-ACPI-ids.patch | 22 +- 23782-x86-ioapic-clear-irr.patch | 6 +- 23783-ACPI-set-_PDC-bits.patch | 62 ++-- 23795-intel-ich10-quirk.patch | 82 +++++ 23800-x86_64-guest-addr-range.patch | 23 ++ 23804-x86-IPI-counts.patch | 109 +++++++ 23833-x86-IO-APIC-EOI.patch | 199 ++++++++++++ 32on64-extra-mem.patch | 8 +- altgr_2.patch | 6 +- bdrv_default_rwflag.patch | 6 +- bdrv_open2_fix_flags.patch | 18 +- bdrv_open2_flags_2.patch | 12 +- blktap-pv-cdrom.patch | 44 +-- blktap.patch | 12 +- blktapctrl-default-to-ioemu.patch | 6 +- block-npiv | 10 +- block-npiv-common.sh | 61 +++- bridge-bonding.diff | 6 +- bridge-opensuse.patch | 6 +- bridge-record-creation.patch | 6 +- bridge-vlan.diff | 6 +- build-tapdisk-ioemu.patch | 24 +- capslock_enable.patch | 6 +- cdrom-removable.patch | 20 +- change-vnc-passwd.patch | 36 +-- change_home_server.patch | 8 +- check_device_status.patch | 6 +- checkpoint-rename.patch | 6 +- del_usb_xend_entry.patch | 6 +- disable-xl-when-using-xend.patch | 12 +- disable_emulated_device.diff | 6 +- dom-print.patch | 6 +- domu-usb-controller.patch | 6 +- hibernate.patch | 6 +- hotplug.losetup.patch | 6 +- hv_extid_compatibility.patch | 18 +- ...7615-qcow2-fix-alloc_cluster_link_l2.patch | 6 +- ioemu-bdrv-open-CACHE_WB.patch | 6 +- ioemu-blktap-barriers.patch | 6 +- ioemu-blktap-fv-init.patch | 6 +- ioemu-blktap-image-format.patch | 12 +- ioemu-blktap-zero-size.patch | 12 +- ioemu-debuginfo.patch | 12 +- ioemu-disable-emulated-ide-if-pv.patch | 18 +- ioemu-disable-scsi.patch | 18 +- ioemu-vnc-resize.patch | 6 +- ioemu-watchdog-ib700-timer.patch | 6 +- ioemu-watchdog-linkage.patch | 18 +- ioemu-watchdog-support.patch | 40 +-- kernel-boot-hvm.patch | 24 +- libxen_permissive.patch | 6 +- log-guest-console.patch | 6 +- magic_ioport_compat.patch | 6 +- minios-fixups.patch | 6 +- multi-xvdp.patch | 12 +- network-nat-open-SuSEfirewall2-FORWARD.patch | 6 +- network-nat.patch | 6 +- pv-driver-build.patch | 12 +- pvdrv-import-shared-info.patch | 18 +- pvdrv_emulation_control.patch | 6 +- qemu-dm-segfault.patch | 6 +- qemu-security-etch1.diff | 12 +- serial-split.patch | 8 +- snapshot-ioemu-delete.patch | 18 +- snapshot-ioemu-restore.patch | 6 +- snapshot-ioemu-save.patch | 24 +- snapshot-without-pv-fix.patch | 36 +-- snapshot-xend.patch | 58 ++-- stdvga-cache.patch | 6 +- supported_module.diff | 4 +- tapdisk-ioemu-logfile.patch | 6 +- tapdisk-ioemu-shutdown-fix.patch | 12 +- tmp-initscript-modprobe.patch | 6 +- tmp_build.patch | 6 +- tools-kboot.diff | 36 +-- tools-watchdog-support.patch | 42 +-- udev-rules.patch | 6 +- usb-list.patch | 6 +- vif-bridge-no-iptables.patch | 6 +- vif-bridge.mtu.patch | 6 +- vif-route-ifup.patch | 16 +- x86-cpufreq-report.patch | 12 +- x86-extra-trap-info.patch | 12 +- x86-ioapic-ack-default.patch | 4 +- x86-show-page-walk-early.patch | 44 ++- xen-4.1.1-testing-src.tar.bz2 | 3 - xen-4.1.2-testing-src.tar.bz2 | 3 + xen-api-auth.patch | 6 +- xen-changeset.diff | 6 +- xen-config.diff | 28 +- xen-destdir.diff | 36 +-- xen-disable-qemu-monitor.diff | 6 +- xen-domUloader.diff | 18 +- xen-fixme-doc.diff | 12 +- xen-hvm-default-bridge.diff | 24 +- xen-hvm-default-pae.diff | 6 +- xen-ioemu-hvm-pv-support.diff | 6 +- xen-max-free-mem.diff | 24 +- xen-minimum-restart-time.patch | 6 +- xen-no-dummy-nfs-ip.diff | 6 +- xen-paths.diff | 18 +- xen-qemu-iscsi-fix.patch | 6 +- xen-rpmoptflags.diff | 12 +- ...le.xentrace.__insert_record-dst-type.patch | 6 +- xen-unstable.xentrace.comments.patch | 6 +- ...able.xentrace.data_size__read_mostly.patch | 6 +- xen-unstable.xentrace.dynamic_tbuf.patch | 6 +- ...unstable.xentrace.empty_t_info_pages.patch | 6 +- xen-unstable.xentrace.no_gdprintk.patch | 6 +- xen-unstable.xentrace.printk_prefix.patch | 6 +- ...race.register_cpu_notifier-boot_time.patch | 6 +- ...nstable.xentrace.remove_debug_printk.patch | 6 +- ...nstable.xentrace.t_info_first_offset.patch | 6 +- ...stable.xentrace.t_info_page-overflow.patch | 6 +- ...stable.xentrace.t_info_pages-formula.patch | 6 +- xen-unstable.xentrace.verbose.patch | 6 +- xen-warnings-unused.diff | 282 +++++++++++------ xen-warnings.diff | 80 ++--- xen-xm-top-needs-root.diff | 6 +- xen-xmexample-vti.diff | 6 +- xen-xmexample.diff | 36 +-- xen.changes | 33 ++ ...1sp1.bug684297.xen_oldmem_pfn_is_ram.patch | 6 +- ...ate311487.xen_platform_pci.dmistring.patch | 6 +- xen.spec | 98 +++--- xenalyze.gcc46.patch | 6 +- xenapi-console-protocol.patch | 6 +- xencommons-proc-xen.patch | 6 +- xenconsole-no-multiple-connections.patch | 6 +- xend-config-enable-dump-comment.patch | 6 +- xend-config.diff | 12 +- xend-console-port-restore.patch | 18 +- xend-core-dump-loc.diff | 6 +- xend-devid-or-name.patch | 6 +- xend-disable-internal-logrotate.patch | 6 +- xend-domain-lock-sfex.patch | 48 +-- xend-domain-lock.patch | 44 +-- xend-migration-domname-fix.patch | 34 ++ xend-sysconfig.patch | 6 +- xend-vcpu-affinity-fix.patch | 16 + xenpaging.autostart.patch | 60 ++-- ...ing.catch-xc_mem_paging_resume-error.patch | 6 +- xenpaging.guest_remove_page.slow_path.patch | 6 +- xenpaging.mem_event-no-p2mt.patch | 12 +- xenpaging.no-srand.patch | 6 +- xenpaging.return-void.patch | 6 +- xenpaging.xenpaging_populate_page-gfn.patch | 6 +- xm-create-xflag.patch | 12 +- xm-save-check-file.patch | 18 +- xm-test-cleanup.diff | 6 +- 212 files changed, 2437 insertions(+), 3145 deletions(-) delete mode 100644 23481-x86-SMEP.patch delete mode 100644 23504-x86-SMEP-hvm.patch delete mode 100644 23505-x86-cpu-add-arg-check.patch delete mode 100644 23510-hvm-cpuid-DRNG.patch delete mode 100644 23516-cpuid-ERMS.patch delete mode 100644 23538-hvm-pio-emul-no-host-crash.patch delete mode 100644 23539-hvm-cpuid-FSGSBASE.patch delete mode 100644 23543-x86_64-maddr_to_virt-assertion.patch delete mode 100644 23546-fucomip.patch delete mode 100644 23706-fix-20892.patch delete mode 100644 23725-pci-add-device.patch delete mode 100644 23726-x86-intel-flexmigration.patch delete mode 100644 23732-sedf.patch delete mode 100644 23746-vtd-cleanup-timers.patch delete mode 100644 23762-iommu-fault-bm-off.patch delete mode 100644 23763-pci-multi-seg-x2apic-vtd-no-crash.patch delete mode 100644 23765-x86-irq-vector-leak.patch delete mode 100644 23766-x86-msi-vf-bars.patch delete mode 100644 23776-x86-kexec-hpet-legacy-bcast-disable.patch create mode 100644 23795-intel-ich10-quirk.patch create mode 100644 23800-x86_64-guest-addr-range.patch create mode 100644 23804-x86-IPI-counts.patch create mode 100644 23833-x86-IO-APIC-EOI.patch delete mode 100644 xen-4.1.1-testing-src.tar.bz2 create mode 100644 xen-4.1.2-testing-src.tar.bz2 create mode 100644 xend-migration-domname-fix.patch create mode 100644 xend-vcpu-affinity-fix.patch diff --git a/22998-x86-get_page_from_l1e-retcode.patch b/22998-x86-get_page_from_l1e-retcode.patch index 8f5ed59..077e167 100644 --- a/22998-x86-get_page_from_l1e-retcode.patch +++ b/22998-x86-get_page_from_l1e-retcode.patch @@ -19,10 +19,10 @@ could be introduced. Signed-off-by: Jan Beulich -Index: xen-4.1.1-testing/xen/arch/x86/mm/shadow/multi.c +Index: xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/mm/shadow/multi.c -+++ xen-4.1.1-testing/xen/arch/x86/mm/shadow/multi.c +--- xen-4.1.2-testing.orig/xen/arch/x86/mm/shadow/multi.c ++++ xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c @@ -872,7 +872,7 @@ shadow_get_page_from_l1e(shadow_l1e_t sl // If a privileged domain is attempting to install a map of a page it does // not own, we let it succeed anyway. @@ -74,10 +74,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/mm/shadow/multi.c shadow_vram_get_l1e(new_sl1e, sl1e, sl1mfn, d); break; } -Index: xen-4.1.1-testing/xen/arch/x86/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/mm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/mm.c -+++ xen-4.1.1-testing/xen/arch/x86/mm.c +--- xen-4.1.2-testing.orig/xen/arch/x86/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/mm.c @@ -799,12 +799,12 @@ get_page_from_l1e( bool_t write; diff --git a/22999-x86-mod_l1_entry-retcode.patch b/22999-x86-mod_l1_entry-retcode.patch index 672b727..684fa96 100644 --- a/22999-x86-mod_l1_entry-retcode.patch +++ b/22999-x86-mod_l1_entry-retcode.patch @@ -12,10 +12,10 @@ x86: make mod_l1_entry() return a proper error code Signed-off-by: Jan Beulich -Index: xen-4.1.1-testing/xen/arch/x86/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/mm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/mm.c -+++ xen-4.1.1-testing/xen/arch/x86/mm.c +--- xen-4.1.2-testing.orig/xen/arch/x86/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/mm.c @@ -1765,15 +1765,16 @@ static int mod_l1_entry(l1_pgentry_t *pl struct domain *pt_dom = pt_vcpu->domain; unsigned long mfn; diff --git a/23000-x86-mod_l2_entry-retcode.patch b/23000-x86-mod_l2_entry-retcode.patch index ac81dce..4382348 100644 --- a/23000-x86-mod_l2_entry-retcode.patch +++ b/23000-x86-mod_l2_entry-retcode.patch @@ -11,10 +11,10 @@ track both an okay status and an error code). Signed-off-by: Jan Beulich -Index: xen-4.1.1-testing/xen/arch/x86/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/mm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/mm.c -+++ xen-4.1.1-testing/xen/arch/x86/mm.c +--- xen-4.1.2-testing.orig/xen/arch/x86/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/mm.c @@ -1845,16 +1845,16 @@ static int mod_l2_entry(l2_pgentry_t *pl struct domain *d = vcpu->domain; struct page_info *l2pg = mfn_to_page(pfn); diff --git a/23074-pfn.h.patch b/23074-pfn.h.patch index 154ba88..e47aa5e 100644 --- a/23074-pfn.h.patch +++ b/23074-pfn.h.patch @@ -9,8 +9,10 @@ Define new header for PFN_{DOWN,UP} macros. Signed-off-by: Keir Fraser ---- a/xen/arch/x86/domain_build.c -+++ b/xen/arch/x86/domain_build.c +Index: xen-4.1.2-testing/xen/arch/x86/domain_build.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/domain_build.c ++++ xen-4.1.2-testing/xen/arch/x86/domain_build.c @@ -21,6 +21,7 @@ #include #include @@ -19,8 +21,10 @@ Signed-off-by: Keir Fraser #include #include #include ---- a/xen/arch/x86/e820.c -+++ b/xen/arch/x86/e820.c +Index: xen-4.1.2-testing/xen/arch/x86/e820.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/e820.c ++++ xen-4.1.2-testing/xen/arch/x86/e820.c @@ -4,6 +4,7 @@ #include #include @@ -29,8 +33,10 @@ Signed-off-by: Keir Fraser #include #include #include ---- a/xen/arch/x86/mm.c -+++ b/xen/arch/x86/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/mm.c @@ -99,6 +99,7 @@ #include #include @@ -39,8 +45,10 @@ Signed-off-by: Keir Fraser #include #include #include ---- a/xen/arch/x86/msi.c -+++ b/xen/arch/x86/msi.c +Index: xen-4.1.2-testing/xen/arch/x86/msi.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/msi.c ++++ xen-4.1.2-testing/xen/arch/x86/msi.c @@ -18,6 +18,7 @@ #include #include @@ -49,8 +57,10 @@ Signed-off-by: Keir Fraser #include #include #include ---- a/xen/arch/x86/numa.c -+++ b/xen/arch/x86/numa.c +Index: xen-4.1.2-testing/xen/arch/x86/numa.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/numa.c ++++ xen-4.1.2-testing/xen/arch/x86/numa.c @@ -13,6 +13,7 @@ #include #include @@ -59,8 +69,10 @@ Signed-off-by: Keir Fraser #include #include ---- a/xen/arch/x86/setup.c -+++ b/xen/arch/x86/setup.c +Index: xen-4.1.2-testing/xen/arch/x86/setup.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/setup.c ++++ xen-4.1.2-testing/xen/arch/x86/setup.c @@ -21,6 +21,7 @@ #include #include @@ -69,8 +81,10 @@ Signed-off-by: Keir Fraser #include #include #ifdef CONFIG_COMPAT ---- a/xen/arch/x86/srat.c -+++ b/xen/arch/x86/srat.c +Index: xen-4.1.2-testing/xen/arch/x86/srat.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/srat.c ++++ xen-4.1.2-testing/xen/arch/x86/srat.c @@ -17,6 +17,7 @@ #include #include @@ -79,8 +93,10 @@ Signed-off-by: Keir Fraser #include #include ---- a/xen/arch/x86/tboot.c -+++ b/xen/arch/x86/tboot.c +Index: xen-4.1.2-testing/xen/arch/x86/tboot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/tboot.c ++++ xen-4.1.2-testing/xen/arch/x86/tboot.c @@ -6,6 +6,7 @@ #include #include @@ -89,8 +105,10 @@ Signed-off-by: Keir Fraser #include #include #include ---- a/xen/include/asm-x86/page.h -+++ b/xen/include/asm-x86/page.h +Index: xen-4.1.2-testing/xen/include/asm-x86/page.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/page.h ++++ xen-4.1.2-testing/xen/include/asm-x86/page.h @@ -396,8 +396,6 @@ static inline uint32_t cacheattr_to_pte_ #endif /* !__ASSEMBLY__ */ @@ -100,8 +118,10 @@ Signed-off-by: Keir Fraser #define PAGE_ALIGN(x) (((x) + PAGE_SIZE - 1) & PAGE_MASK) #endif /* __X86_PAGE_H__ */ +Index: xen-4.1.2-testing/xen/include/xen/pfn.h +=================================================================== --- /dev/null -+++ b/xen/include/xen/pfn.h ++++ xen-4.1.2-testing/xen/include/xen/pfn.h @@ -0,0 +1,9 @@ +#ifndef __XEN_PFN_H__ +#define __XEN_PFN_H__ diff --git a/23096-x86-hpet-no-cpumask_lock.patch b/23096-x86-hpet-no-cpumask_lock.patch index 85a7355..124570b 100644 --- a/23096-x86-hpet-no-cpumask_lock.patch +++ b/23096-x86-hpet-no-cpumask_lock.patch @@ -16,10 +16,10 @@ found set by the surrounding loop). Signed-off-by: Jan Beulich Acked-by: Gang Wei -Index: xen-4.1.1-testing/xen/arch/x86/hpet.c +Index: xen-4.1.2-testing/xen/arch/x86/hpet.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hpet.c -+++ xen-4.1.1-testing/xen/arch/x86/hpet.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hpet.c ++++ xen-4.1.2-testing/xen/arch/x86/hpet.c @@ -34,18 +34,6 @@ struct hpet_event_channel int shift; s_time_t next_event; diff --git a/23099-x86-rwlock-scalability.patch b/23099-x86-rwlock-scalability.patch index 65ac2f1..087d42c 100644 --- a/23099-x86-rwlock-scalability.patch +++ b/23099-x86-rwlock-scalability.patch @@ -27,10 +27,10 @@ specify the operand suffix as 'l' for good measure. Signed-off-by: Keir Fraser -Index: xen-4.1.1-testing/xen/common/spinlock.c +Index: xen-4.1.2-testing/xen/common/spinlock.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/spinlock.c -+++ xen-4.1.1-testing/xen/common/spinlock.c +--- xen-4.1.2-testing.orig/xen/common/spinlock.c ++++ xen-4.1.2-testing/xen/common/spinlock.c @@ -234,7 +234,11 @@ void _spin_unlock_recursive(spinlock_t * void _read_lock(rwlock_t *lock) { @@ -130,10 +130,10 @@ Index: xen-4.1.1-testing/xen/common/spinlock.c preempt_disable(); return flags; } -Index: xen-4.1.1-testing/xen/include/asm-ia64/linux-xen/asm/spinlock.h +Index: xen-4.1.2-testing/xen/include/asm-ia64/linux-xen/asm/spinlock.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-ia64/linux-xen/asm/spinlock.h -+++ xen-4.1.1-testing/xen/include/asm-ia64/linux-xen/asm/spinlock.h +--- xen-4.1.2-testing.orig/xen/include/asm-ia64/linux-xen/asm/spinlock.h ++++ xen-4.1.2-testing/xen/include/asm-ia64/linux-xen/asm/spinlock.h @@ -35,17 +35,6 @@ typedef struct { } raw_rwlock_t; #define _RAW_RW_LOCK_UNLOCKED /*(raw_rwlock_t)*/ { 0, 0 } @@ -190,10 +190,10 @@ Index: xen-4.1.1-testing/xen/include/asm-ia64/linux-xen/asm/spinlock.h #define _raw_write_trylock(rw) \ ({ \ -Index: xen-4.1.1-testing/xen/include/asm-x86/spinlock.h +Index: xen-4.1.2-testing/xen/include/asm-x86/spinlock.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/spinlock.h -+++ xen-4.1.1-testing/xen/include/asm-x86/spinlock.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/spinlock.h ++++ xen-4.1.2-testing/xen/include/asm-x86/spinlock.h @@ -35,51 +35,29 @@ typedef struct { volatile int lock; } raw_rwlock_t; @@ -276,10 +276,10 @@ Index: xen-4.1.1-testing/xen/include/asm-x86/spinlock.h +#define _raw_rw_is_write_locked(x) ((x)->lock > 0) #endif /* __ASM_SPINLOCK_H */ -Index: xen-4.1.1-testing/xen/include/xen/spinlock.h +Index: xen-4.1.2-testing/xen/include/xen/spinlock.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/xen/spinlock.h -+++ xen-4.1.1-testing/xen/include/xen/spinlock.h +--- xen-4.1.2-testing.orig/xen/include/xen/spinlock.h ++++ xen-4.1.2-testing/xen/include/xen/spinlock.h @@ -157,6 +157,7 @@ unsigned long _read_lock_irqsave(rwlock_ void _read_unlock(rwlock_t *lock); void _read_unlock_irq(rwlock_t *lock); diff --git a/23103-x86-pirq-guest-eoi-check.patch b/23103-x86-pirq-guest-eoi-check.patch index 4b1e248..db6392d 100644 --- a/23103-x86-pirq-guest-eoi-check.patch +++ b/23103-x86-pirq-guest-eoi-check.patch @@ -8,11 +8,11 @@ guest-bound irq before accessing desc->action. Signed-off-by: Keir Fraser -Index: xen-4.1.1-testing/xen/arch/x86/irq.c +Index: xen-4.1.2-testing/xen/arch/x86/irq.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/irq.c -+++ xen-4.1.1-testing/xen/arch/x86/irq.c -@@ -1028,6 +1028,12 @@ static void __pirq_guest_eoi(struct doma +--- xen-4.1.2-testing.orig/xen/arch/x86/irq.c ++++ xen-4.1.2-testing/xen/arch/x86/irq.c +@@ -1032,6 +1032,12 @@ static void __pirq_guest_eoi(struct doma return; } diff --git a/23127-vtd-bios-settings.patch b/23127-vtd-bios-settings.patch index c807ee3..97f29b9 100644 --- a/23127-vtd-bios-settings.patch +++ b/23127-vtd-bios-settings.patch @@ -27,11 +27,11 @@ Signed-off-by: Allen Kay Signed-off-by: Allen Kay -Index: xen-4.1.1-testing/xen/arch/x86/apic.c +Index: xen-4.1.2-testing/xen/arch/x86/apic.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/apic.c -+++ xen-4.1.1-testing/xen/arch/x86/apic.c -@@ -531,7 +531,7 @@ static void resume_x2apic(void) +--- xen-4.1.2-testing.orig/xen/arch/x86/apic.c ++++ xen-4.1.2-testing/xen/arch/x86/apic.c +@@ -566,7 +566,7 @@ static void resume_x2apic(void) mask_8259A(); mask_IO_APIC_setup(ioapic_entries); @@ -40,7 +40,7 @@ Index: xen-4.1.1-testing/xen/arch/x86/apic.c __enable_x2apic(); restore_IO_APIC_setup(ioapic_entries); -@@ -748,7 +748,7 @@ int lapic_suspend(void) +@@ -783,7 +783,7 @@ int lapic_suspend(void) local_irq_save(flags); disable_local_APIC(); @@ -49,7 +49,7 @@ Index: xen-4.1.1-testing/xen/arch/x86/apic.c local_irq_restore(flags); return 0; } -@@ -994,7 +994,7 @@ void __init x2apic_bsp_setup(void) +@@ -1029,7 +1029,7 @@ void __init x2apic_bsp_setup(void) mask_8259A(); mask_IO_APIC_setup(ioapic_entries); @@ -58,10 +58,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/apic.c { if ( x2apic_enabled ) panic("Interrupt remapping could not be enabled while " -Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/dmar.c +Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/dmar.c =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/passthrough/vtd/dmar.c -+++ xen-4.1.1-testing/xen/drivers/passthrough/vtd/dmar.c +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/dmar.c ++++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/dmar.c @@ -46,6 +46,7 @@ LIST_HEAD(acpi_rmrr_units); LIST_HEAD(acpi_atsr_units); LIST_HEAD(acpi_rhsa_units); @@ -70,7 +70,7 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/dmar.c static u64 igd_drhd_address; u8 dmar_host_address_width; -@@ -682,6 +683,7 @@ static int __init acpi_parse_dmar(struct +@@ -684,6 +685,7 @@ static int __init acpi_parse_dmar(struct int ret = 0; dmar = (struct acpi_table_dmar *)table; @@ -78,7 +78,7 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/dmar.c if ( !iommu_enabled ) { -@@ -802,3 +804,22 @@ void acpi_dmar_zap(void) +@@ -804,3 +806,22 @@ void acpi_dmar_zap(void) dmar_table->signature[0] = 'X'; dmar_table->checksum -= 'X'-'D'; } @@ -101,10 +101,10 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/dmar.c + flags = DMAR_INTR_REMAP | DMAR_X2APIC_OPT_OUT; + return ((dmar_flags & flags) == DMAR_INTR_REMAP); +} -Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/extern.h +Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/extern.h =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/passthrough/vtd/extern.h -+++ xen-4.1.1-testing/xen/drivers/passthrough/vtd/extern.h +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/extern.h ++++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/extern.h @@ -87,5 +87,7 @@ void vtd_ops_preamble_quirk(struct iommu void vtd_ops_postamble_quirk(struct iommu* iommu); void me_wifi_quirk(struct domain *domain, u8 bus, u8 devfn, int map); @@ -113,10 +113,10 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/extern.h +int platform_supports_x2apic(void); #endif // _VTD_EXTERN_H_ -Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/intremap.c +Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/passthrough/vtd/intremap.c -+++ xen-4.1.1-testing/xen/drivers/passthrough/vtd/intremap.c +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/intremap.c ++++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c @@ -741,6 +741,13 @@ int enable_intremap(struct iommu *iommu, ASSERT(ecap_intr_remap(iommu->ecap) && iommu_intremap); @@ -131,7 +131,7 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/intremap.c ir_ctrl = iommu_ir_ctrl(iommu); sts = dmar_readl(iommu->reg, DMAR_GSTS_REG); -@@ -827,10 +834,10 @@ out: +@@ -847,10 +854,10 @@ out: } /* @@ -144,7 +144,7 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/intremap.c { struct acpi_drhd_unit *drhd; struct iommu *iommu; -@@ -838,6 +845,9 @@ int iommu_enable_IR(void) +@@ -858,6 +865,9 @@ int iommu_enable_IR(void) if ( !iommu_supports_eim() ) return -1; @@ -154,7 +154,7 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/intremap.c for_each_drhd_unit ( drhd ) { struct qi_ctrl *qi_ctrl = NULL; -@@ -887,7 +897,7 @@ int iommu_enable_IR(void) +@@ -907,7 +917,7 @@ int iommu_enable_IR(void) * This function is used to disable Interrutp remapping when * suspend local apic */ @@ -163,11 +163,11 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/intremap.c { struct acpi_drhd_unit *drhd; -Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/iommu.c +Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.c =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/passthrough/vtd/iommu.c -+++ xen-4.1.1-testing/xen/drivers/passthrough/vtd/iommu.c -@@ -1998,7 +1998,7 @@ static int init_vtd_hw(void) +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/iommu.c ++++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.c +@@ -2006,7 +2006,7 @@ static int init_vtd_hw(void) { iommu_intremap = 0; dprintk(XENLOG_WARNING VTDPREFIX, @@ -176,10 +176,10 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/iommu.c break; } } -Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/iommu.h +Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.h =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/passthrough/vtd/iommu.h -+++ xen-4.1.1-testing/xen/drivers/passthrough/vtd/iommu.h +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/iommu.h ++++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.h @@ -22,6 +22,10 @@ #include @@ -191,11 +191,11 @@ Index: xen-4.1.1-testing/xen/drivers/passthrough/vtd/iommu.h /* * Intel IOMMU register specification per version 1.0 public spec. */ -Index: xen-4.1.1-testing/xen/include/xen/iommu.h +Index: xen-4.1.2-testing/xen/include/xen/iommu.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/xen/iommu.h -+++ xen-4.1.1-testing/xen/include/xen/iommu.h -@@ -63,8 +63,8 @@ struct iommu { +--- xen-4.1.2-testing.orig/xen/include/xen/iommu.h ++++ xen-4.1.2-testing/xen/include/xen/iommu.h +@@ -66,8 +66,8 @@ struct iommu { int iommu_setup(void); int iommu_supports_eim(void); diff --git a/23199-amd-iommu-unmapped-intr-fault.patch b/23199-amd-iommu-unmapped-intr-fault.patch index 9bd0d43..421ffd6 100644 --- a/23199-amd-iommu-unmapped-intr-fault.patch +++ b/23199-amd-iommu-unmapped-intr-fault.patch @@ -9,10 +9,10 @@ This helps us to debug interrupt issues. Signed-off-by: Wei Wang -Index: xen-4.1.1-testing/xen/drivers/passthrough/amd/iommu_map.c +Index: xen-4.1.2-testing/xen/drivers/passthrough/amd/iommu_map.c =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/passthrough/amd/iommu_map.c -+++ xen-4.1.1-testing/xen/drivers/passthrough/amd/iommu_map.c +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/amd/iommu_map.c ++++ xen-4.1.2-testing/xen/drivers/passthrough/amd/iommu_map.c @@ -327,8 +327,9 @@ void amd_iommu_set_intremap_table(u32 *d set_field_in_reg_u32(0xB, entry, IOMMU_DEV_TABLE_INT_TABLE_LENGTH_MASK, diff --git a/23233-hvm-cr-access.patch b/23233-hvm-cr-access.patch index 8fe5707..ad167d5 100644 --- a/23233-hvm-cr-access.patch +++ b/23233-hvm-cr-access.patch @@ -14,11 +14,11 @@ into the generic HVM path and use the exported functions. Signed-off-by: Andre Przywara Signed-off-by: Keir Fraser -Index: xen-4.1.1-testing/xen/arch/x86/hvm/hvm.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/hvm.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/hvm.c -@@ -1297,6 +1297,86 @@ static void hvm_set_uc_mode(struct vcpu +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/hvm.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c +@@ -1298,6 +1298,86 @@ static void hvm_set_uc_mode(struct vcpu return hvm_funcs.set_uc_mode(v); } @@ -105,10 +105,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/hvm.c int hvm_set_cr0(unsigned long value) { struct vcpu *v = current; -Index: xen-4.1.1-testing/xen/arch/x86/hvm/vmx/vmx.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/vmx/vmx.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/vmx/vmx.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/vmx/vmx.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/vmx/vmx.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/vmx/vmx.c @@ -1545,182 +1545,42 @@ static void vmx_invlpg_intercept(unsigne vpid_sync_vcpu_gva(curr, vaddr); } @@ -324,10 +324,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/vmx/vmx.c update_guest_eip(); /* Safe: MOV Cn, LMSW, CLTS */ break; } -Index: xen-4.1.1-testing/xen/arch/x86/traps.c +Index: xen-4.1.2-testing/xen/arch/x86/traps.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/traps.c -+++ xen-4.1.1-testing/xen/arch/x86/traps.c +--- xen-4.1.2-testing.orig/xen/arch/x86/traps.c ++++ xen-4.1.2-testing/xen/arch/x86/traps.c @@ -368,6 +368,36 @@ void vcpu_show_execution_state(struct vc vcpu_unpause(v); } @@ -365,10 +365,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/traps.c static char *trapstr(int trapnr) { static char *strings[] = { -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/support.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/support.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/support.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/support.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/support.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/support.h @@ -137,5 +137,7 @@ int hvm_set_cr3(unsigned long value); int hvm_set_cr4(unsigned long value); int hvm_msr_read_intercept(unsigned int msr, uint64_t *msr_content); @@ -377,10 +377,10 @@ Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/support.h +int hvm_mov_from_cr(unsigned int cr, unsigned int gpr); #endif /* __ASM_X86_HVM_SUPPORT_H__ */ -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/vmx/vmx.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/vmx/vmx.h @@ -144,31 +144,15 @@ void vmx_update_cpu_exec_control(struct * Exit Qualifications for MOV for Control Register Access */ @@ -420,11 +420,11 @@ Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/vmx/vmx.h /* * Access Rights -Index: xen-4.1.1-testing/xen/include/asm-x86/processor.h +Index: xen-4.1.2-testing/xen/include/asm-x86/processor.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/processor.h -+++ xen-4.1.1-testing/xen/include/asm-x86/processor.h -@@ -589,6 +589,8 @@ int wrmsr_hypervisor_regs(uint32_t idx, +--- xen-4.1.2-testing.orig/xen/include/asm-x86/processor.h ++++ xen-4.1.2-testing/xen/include/asm-x86/processor.h +@@ -590,6 +590,8 @@ int wrmsr_hypervisor_regs(uint32_t idx, int microcode_update(XEN_GUEST_HANDLE(const_void), unsigned long len); int microcode_resume_cpu(int cpu); diff --git a/23234-svm-decode-assist-base.patch b/23234-svm-decode-assist-base.patch index e269167..f6dc7bd 100644 --- a/23234-svm-decode-assist-base.patch +++ b/23234-svm-decode-assist-base.patch @@ -25,10 +25,10 @@ valid. Signed-off-by: Keir Fraser -Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/svm/svm.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/svm.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c @@ -928,11 +928,16 @@ struct hvm_function_table * __init start printk("SVM: Supported advanced features:\n"); @@ -46,10 +46,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c P(cpu_has_pause_filter, "Pause-Intercept Filter"); #undef P -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/svm.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/svm.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/svm/svm.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/svm.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/svm.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/svm.h @@ -80,6 +80,7 @@ extern u32 svm_feature_flags; #define cpu_has_svm_svml cpu_has_svm_feature(SVM_FEATURE_SVML) #define cpu_has_svm_nrips cpu_has_svm_feature(SVM_FEATURE_NRIPS) @@ -58,10 +58,10 @@ Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/svm.h #define cpu_has_pause_filter cpu_has_svm_feature(SVM_FEATURE_PAUSEFILTER) #endif /* __ASM_X86_HVM_SVM_H__ */ -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/vmcb.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/vmcb.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/svm/vmcb.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/vmcb.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/vmcb.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/vmcb.h @@ -432,7 +432,9 @@ struct vmcb_struct { vmcbcleanbits_t cleanbits; /* offset 0xC0 */ u32 res09; /* offset 0xC4 */ diff --git a/23235-svm-decode-assist-crs.patch b/23235-svm-decode-assist-crs.patch index 2ba02fc..f3126a0 100644 --- a/23235-svm-decode-assist-crs.patch +++ b/23235-svm-decode-assist-crs.patch @@ -15,10 +15,10 @@ up some Windows guest, which exercise CR8 quite often. Signed-off-by: Andre Przywara Signed-off-by: Keir Fraser -Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/svm/svm.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/svm.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c @@ -1039,6 +1039,22 @@ static void svm_vmexit_do_cpuid(struct c __update_guest_eip(regs, inst_len); } diff --git a/23236-svm-decode-assist-invlpg.patch b/23236-svm-decode-assist-invlpg.patch index c0549d4..c9c9a4f 100644 --- a/23236-svm-decode-assist-invlpg.patch +++ b/23236-svm-decode-assist-invlpg.patch @@ -34,10 +34,10 @@ Fixes endless loop. Signed-off-by: Christoph Egger -Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/emulate.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/emulate.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/svm/emulate.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/svm/emulate.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/emulate.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/emulate.c @@ -102,6 +102,7 @@ MAKE_INSTR(INT3, 1, 0xcc); MAKE_INSTR(RDTSC, 2, 0x0f, 0x31); MAKE_INSTR(PAUSE, 1, 0x90); @@ -54,10 +54,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/emulate.c }; static int fetch(struct vcpu *v, u8 *buf, unsigned long addr, int len) -Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/svm/svm.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/svm.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c @@ -1650,11 +1650,22 @@ asmlinkage void svm_vmexit_handler(struc break; @@ -83,10 +83,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c case VMEXIT_VMMCALL: if ( (inst_len = __get_instruction_length(v, INSTR_VMCALL)) == 0 ) break; -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/asid.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/asid.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/svm/asid.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/asid.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/asid.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/asid.h @@ -34,10 +34,7 @@ static inline void svm_asid_g_invlpg(str { #if 0 @@ -99,10 +99,10 @@ Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/asid.h #endif /* Safe fallback. Take a new ASID. */ -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/emulate.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/emulate.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/svm/emulate.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/emulate.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/emulate.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/emulate.h @@ -33,6 +33,7 @@ enum instruction_index { INSTR_RDTSC, INSTR_PAUSE, @@ -111,10 +111,10 @@ Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/emulate.h INSTR_MAX_COUNT /* Must be last - Number of instructions supported */ }; -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/svm.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/svm.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/svm/svm.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/svm.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/svm.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/svm.h @@ -62,6 +62,15 @@ static inline void svm_vmsave(void *vmcb : : "a" (__pa(vmcb)) : "memory" ); } diff --git a/23238-svm-decode-assist-insn-fetch.patch b/23238-svm-decode-assist-insn-fetch.patch index 6ce5740..3c29681 100644 --- a/23238-svm-decode-assist-insn-fetch.patch +++ b/23238-svm-decode-assist-insn-fetch.patch @@ -19,10 +19,10 @@ trashing. Signed-off-by: Andre Przywara Signed-off-by: Keir Fraser -Index: xen-4.1.1-testing/xen/arch/x86/hvm/emulate.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/emulate.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/emulate.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/emulate.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c @@ -996,6 +996,8 @@ int hvm_emulate_one( hvmemul_ctxt->insn_buf_eip = regs->eip; @@ -32,10 +32,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/emulate.c (hvm_virtual_to_linear_addr( x86_seg_cs, &hvmemul_ctxt->seg_reg[x86_seg_cs], regs->eip, sizeof(hvmemul_ctxt->insn_buf), -Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/svm/svm.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/svm.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c @@ -603,6 +603,21 @@ static void svm_set_rdtsc_exiting(struct vmcb_set_general1_intercepts(vmcb, general1_intercepts); } @@ -93,10 +93,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c break; case VMEXIT_IRET: { -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/hvm.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/hvm.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/hvm.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/hvm.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/hvm.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/hvm.h @@ -132,6 +132,9 @@ struct hvm_function_table { int (*cpu_up)(void); void (*cpu_down)(void); @@ -107,7 +107,7 @@ Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/hvm.h /* Instruction intercepts: non-void return values are X86EMUL codes. */ void (*cpuid_intercept)( unsigned int *eax, unsigned int *ebx, -@@ -324,6 +327,11 @@ static inline void hvm_cpu_down(void) +@@ -328,6 +331,11 @@ static inline void hvm_cpu_down(void) hvm_funcs.cpu_down(); } @@ -119,10 +119,10 @@ Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/hvm.h enum hvm_task_switch_reason { TSW_jmp, TSW_iret, TSW_call_or_int }; void hvm_task_switch( uint16_t tss_sel, enum hvm_task_switch_reason taskswitch_reason, -Index: xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/vmcb.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/vmcb.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/hvm/svm/vmcb.h -+++ xen-4.1.1-testing/xen/include/asm-x86/hvm/svm/vmcb.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/vmcb.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/vmcb.h @@ -498,6 +498,9 @@ struct arch_svm_struct { int launch_core; bool_t vmcb_in_sync; /* VMCB sync'ed with VMSAVE? */ diff --git a/23303-cpufreq-misc.patch b/23303-cpufreq-misc.patch index 0b98a82..a46da25 100644 --- a/23303-cpufreq-misc.patch +++ b/23303-cpufreq-misc.patch @@ -13,10 +13,10 @@ misc cpufreq cleanup Signed-off-by: Jan Beulich -Index: xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq.c +Index: xen-4.1.2-testing/xen/drivers/cpufreq/cpufreq.c =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/cpufreq/cpufreq.c -+++ xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq.c +--- xen-4.1.2-testing.orig/xen/drivers/cpufreq/cpufreq.c ++++ xen-4.1.2-testing/xen/drivers/cpufreq/cpufreq.c @@ -47,7 +47,8 @@ #include #include @@ -57,10 +57,10 @@ Index: xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq.c str = end; } while (str); -Index: xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq_misc_governors.c +Index: xen-4.1.2-testing/xen/drivers/cpufreq/cpufreq_misc_governors.c =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/cpufreq/cpufreq_misc_governors.c -+++ xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq_misc_governors.c +--- xen-4.1.2-testing.orig/xen/drivers/cpufreq/cpufreq_misc_governors.c ++++ xen-4.1.2-testing/xen/drivers/cpufreq/cpufreq_misc_governors.c @@ -14,14 +14,17 @@ * */ @@ -171,10 +171,10 @@ Index: xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq_misc_governors.c return cpufreq_register_governor(&cpufreq_gov_userspace); } __initcall(cpufreq_gov_userspace_init); -Index: xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq_ondemand.c +Index: xen-4.1.2-testing/xen/drivers/cpufreq/cpufreq_ondemand.c =================================================================== ---- xen-4.1.1-testing.orig/xen/drivers/cpufreq/cpufreq_ondemand.c -+++ xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq_ondemand.c +--- xen-4.1.2-testing.orig/xen/drivers/cpufreq/cpufreq_ondemand.c ++++ xen-4.1.2-testing/xen/drivers/cpufreq/cpufreq_ondemand.c @@ -296,7 +296,7 @@ int cpufreq_governor_dbs(struct cpufreq_ return 0; } @@ -194,10 +194,10 @@ Index: xen-4.1.1-testing/xen/drivers/cpufreq/cpufreq_ondemand.c } struct cpufreq_governor cpufreq_gov_dbs = { -Index: xen-4.1.1-testing/xen/include/acpi/cpufreq/cpufreq.h +Index: xen-4.1.2-testing/xen/include/acpi/cpufreq/cpufreq.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/acpi/cpufreq/cpufreq.h -+++ xen-4.1.1-testing/xen/include/acpi/cpufreq/cpufreq.h +--- xen-4.1.2-testing.orig/xen/include/acpi/cpufreq/cpufreq.h ++++ xen-4.1.2-testing/xen/include/acpi/cpufreq/cpufreq.h @@ -93,7 +93,7 @@ struct cpufreq_governor { char name[CPUFREQ_NAME_LEN]; int (*governor)(struct cpufreq_policy *policy, diff --git a/23304-amd-oprofile-strings.patch b/23304-amd-oprofile-strings.patch index 370a1f5..c92baf4 100644 --- a/23304-amd-oprofile-strings.patch +++ b/23304-amd-oprofile-strings.patch @@ -12,10 +12,10 @@ Family 11h ~ Family 15h are broken due to string mismatches. Signed-off-by: Jacob Shin -Index: xen-4.1.1-testing/xen/arch/x86/oprofile/nmi_int.c +Index: xen-4.1.2-testing/xen/arch/x86/oprofile/nmi_int.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/oprofile/nmi_int.c -+++ xen-4.1.1-testing/xen/arch/x86/oprofile/nmi_int.c +--- xen-4.1.2-testing.orig/xen/arch/x86/oprofile/nmi_int.c ++++ xen-4.1.2-testing/xen/arch/x86/oprofile/nmi_int.c @@ -435,19 +435,19 @@ static int __init nmi_init(void) break; case 0x11: diff --git a/23305-amd-fam15-xenoprof.patch b/23305-amd-fam15-xenoprof.patch index 112e47b..e086701 100644 --- a/23305-amd-fam15-xenoprof.patch +++ b/23305-amd-fam15-xenoprof.patch @@ -18,10 +18,10 @@ Beulich. Signed-off-by: Keir Fraser -Index: xen-4.1.1-testing/xen/arch/x86/oprofile/nmi_int.c +Index: xen-4.1.2-testing/xen/arch/x86/oprofile/nmi_int.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/oprofile/nmi_int.c -+++ xen-4.1.1-testing/xen/arch/x86/oprofile/nmi_int.c +--- xen-4.1.2-testing.orig/xen/arch/x86/oprofile/nmi_int.c ++++ xen-4.1.2-testing/xen/arch/x86/oprofile/nmi_int.c @@ -30,7 +30,7 @@ struct op_counter_config counter_config[OP_MAX_COUNTER]; struct op_ibs_config ibs_config; @@ -40,10 +40,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/oprofile/nmi_int.c cpu_type = "x86-64/family15h"; break; } -Index: xen-4.1.1-testing/xen/arch/x86/oprofile/op_model_athlon.c +Index: xen-4.1.2-testing/xen/arch/x86/oprofile/op_model_athlon.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/oprofile/op_model_athlon.c -+++ xen-4.1.1-testing/xen/arch/x86/oprofile/op_model_athlon.c +--- xen-4.1.2-testing.orig/xen/arch/x86/oprofile/op_model_athlon.c ++++ xen-4.1.2-testing/xen/arch/x86/oprofile/op_model_athlon.c @@ -24,8 +24,13 @@ #include "op_x86_model.h" #include "op_counter.h" @@ -185,10 +185,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/oprofile/op_model_athlon.c + .start = &athlon_start, .stop = &athlon_stop }; -Index: xen-4.1.1-testing/xen/arch/x86/oprofile/op_x86_model.h +Index: xen-4.1.2-testing/xen/arch/x86/oprofile/op_x86_model.h =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/oprofile/op_x86_model.h -+++ xen-4.1.1-testing/xen/arch/x86/oprofile/op_x86_model.h +--- xen-4.1.2-testing.orig/xen/arch/x86/oprofile/op_x86_model.h ++++ xen-4.1.2-testing/xen/arch/x86/oprofile/op_x86_model.h @@ -48,6 +48,7 @@ extern struct op_x86_model_spec op_arch_ extern struct op_x86_model_spec const op_p4_spec; extern struct op_x86_model_spec const op_p4_ht2_spec; @@ -197,10 +197,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/oprofile/op_x86_model.h void arch_perfmon_setup_counters(void); #endif /* OP_X86_MODEL_H */ -Index: xen-4.1.1-testing/xen/include/asm-x86/msr-index.h +Index: xen-4.1.2-testing/xen/include/asm-x86/msr-index.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/asm-x86/msr-index.h -+++ xen-4.1.1-testing/xen/include/asm-x86/msr-index.h +--- xen-4.1.2-testing.orig/xen/include/asm-x86/msr-index.h ++++ xen-4.1.2-testing/xen/include/asm-x86/msr-index.h @@ -224,6 +224,19 @@ #define MSR_K8_VM_CR 0xc0010114 #define MSR_K8_VM_HSAVE_PA 0xc0010117 diff --git a/23306-amd-fam15-vpmu.patch b/23306-amd-fam15-vpmu.patch index 9d7b0e8..5e4af23 100644 --- a/23306-amd-fam15-vpmu.patch +++ b/23306-amd-fam15-vpmu.patch @@ -13,10 +13,10 @@ to take advantage of the new counters. Signed-off-by: Jacob Shin -Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/svm/svm.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/svm.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c @@ -1142,6 +1142,18 @@ static int svm_msr_read_intercept(unsign case MSR_K7_EVNTSEL1: case MSR_K7_EVNTSEL2: @@ -55,10 +55,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/svm.c vpmu_do_wrmsr(msr, msr_content); break; -Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/vpmu.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/vpmu.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/svm/vpmu.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/svm/vpmu.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/vpmu.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/vpmu.c @@ -36,7 +36,9 @@ #include #include @@ -247,10 +247,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/vpmu.c ctxt = xmalloc_bytes(sizeof(struct amd_vpmu_context)); if ( !ctxt ) -Index: xen-4.1.1-testing/xen/arch/x86/hvm/vpmu.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/vpmu.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/vpmu.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/vpmu.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/vpmu.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/vpmu.c @@ -101,6 +101,7 @@ void vpmu_initialise(struct vcpu *v) switch ( family ) { diff --git a/23334-amd-fam12+14-vpmu.patch b/23334-amd-fam12+14-vpmu.patch index e749d65..dcc7bd8 100644 --- a/23334-amd-fam12+14-vpmu.patch +++ b/23334-amd-fam12+14-vpmu.patch @@ -12,10 +12,10 @@ by taking the same code path as 10h. Signed-off-by: Jacob Shin -Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/vpmu.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/vpmu.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/svm/vpmu.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/svm/vpmu.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/vpmu.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/vpmu.c @@ -317,6 +317,8 @@ static void amd_vpmu_initialise(struct v k7_counters_mirrored = 1; break; @@ -25,10 +25,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/hvm/svm/vpmu.c default: num_counters = F10H_NUM_COUNTERS; counters = AMD_F10H_COUNTERS; -Index: xen-4.1.1-testing/xen/arch/x86/hvm/vpmu.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/vpmu.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/vpmu.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/vpmu.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/vpmu.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/vpmu.c @@ -101,6 +101,8 @@ void vpmu_initialise(struct vcpu *v) switch ( family ) { diff --git a/23383-libxc-rm-static-vars.patch b/23383-libxc-rm-static-vars.patch index 5b0b663..e51d70e 100644 --- a/23383-libxc-rm-static-vars.patch +++ b/23383-libxc-rm-static-vars.patch @@ -17,10 +17,10 @@ Acked-by: Ian Jackson Committed-by: Ian Jackson Acked-by: Vincent Hanquez -Index: xen-4.1.1-testing/tools/libxc/xc_domain_restore.c +Index: xen-4.1.2-testing/tools/libxc/xc_domain_restore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxc/xc_domain_restore.c -+++ xen-4.1.1-testing/tools/libxc/xc_domain_restore.c +--- xen-4.1.2-testing.orig/tools/libxc/xc_domain_restore.c ++++ xen-4.1.2-testing/tools/libxc/xc_domain_restore.c @@ -1134,23 +1134,19 @@ int xc_domain_restore(xc_interface *xch, int orig_io_fd_flags; @@ -49,10 +49,10 @@ Index: xen-4.1.1-testing/tools/libxc/xc_domain_restore.c ctxt = xc_hypercall_buffer_alloc(xch, ctxt, sizeof(*ctxt)); if ( ctxt == NULL ) -Index: xen-4.1.1-testing/tools/libxc/xc_domain_save.c +Index: xen-4.1.2-testing/tools/libxc/xc_domain_save.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxc/xc_domain_save.c -+++ xen-4.1.1-testing/tools/libxc/xc_domain_save.c +--- xen-4.1.2-testing.orig/tools/libxc/xc_domain_save.c ++++ xen-4.1.2-testing/tools/libxc/xc_domain_save.c @@ -958,11 +958,8 @@ int xc_domain_save(xc_interface *xch, in unsigned long mfn; diff --git a/23437-amd-fam15-TSC-scaling.patch b/23437-amd-fam15-TSC-scaling.patch index 7b8a74b..51b5a24 100644 --- a/23437-amd-fam15-TSC-scaling.patch +++ b/23437-amd-fam15-TSC-scaling.patch @@ -21,8 +21,10 @@ rdtsc overhead. Signed-off-by: Wei Huang ---- a/xen/arch/x86/hvm/svm/svm.c -+++ b/xen/arch/x86/hvm/svm/svm.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/svm.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/svm.c @@ -588,6 +588,22 @@ static void svm_set_segment_register(str static void svm_set_tsc_offset(struct vcpu *v, u64 offset) { @@ -66,7 +68,7 @@ Signed-off-by: Wei Huang static void svm_ctxt_switch_from(struct vcpu *v) { int cpu = smp_processor_id(); -@@ -646,6 +675,7 @@ static void svm_ctxt_switch_from(struct +@@ -646,6 +675,7 @@ static void svm_ctxt_switch_from(struct svm_save_dr(v); vpmu_save(v); @@ -82,8 +84,10 @@ Signed-off-by: Wei Huang if ( cpu_has_rdtscp ) wrmsrl(MSR_TSC_AUX, hvm_msr_tsc_aux(v)); ---- a/xen/arch/x86/hvm/svm/vmcb.c -+++ b/xen/arch/x86/hvm/svm/vmcb.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/svm/vmcb.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/svm/vmcb.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/svm/vmcb.c @@ -165,7 +165,9 @@ static int construct_vmcb(struct vcpu *v /* TSC. */ @@ -95,8 +99,10 @@ Signed-off-by: Wei Huang { vmcb->_general1_intercepts |= GENERAL1_INTERCEPT_RDTSC; vmcb->_general2_intercepts |= GENERAL2_INTERCEPT_RDTSCP; ---- a/xen/include/asm-x86/hvm/svm/svm.h -+++ b/xen/include/asm-x86/hvm/svm/svm.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/svm.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/svm.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/svm.h @@ -91,5 +91,13 @@ extern u32 svm_feature_flags; #define cpu_has_svm_cleanbits cpu_has_svm_feature(SVM_FEATURE_VMCBCLEAN) #define cpu_has_svm_decode cpu_has_svm_feature(SVM_FEATURE_DECODEASSISTS) @@ -111,8 +117,10 @@ Signed-off-by: Wei Huang +#define vcpu_tsc_ratio(v) TSC_RATIO((v)->domain->arch.tsc_khz, cpu_khz) #endif /* __ASM_X86_HVM_SVM_H__ */ ---- a/xen/include/asm-x86/msr-index.h -+++ b/xen/include/asm-x86/msr-index.h +Index: xen-4.1.2-testing/xen/include/asm-x86/msr-index.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/msr-index.h ++++ xen-4.1.2-testing/xen/include/asm-x86/msr-index.h @@ -266,6 +266,9 @@ #define MSR_AMD_PATCHLEVEL 0x0000008b #define MSR_AMD_PATCHLOADER 0xc0010020 diff --git a/23462-libxc-cpu-feature.patch b/23462-libxc-cpu-feature.patch index c2566fd..c183964 100644 --- a/23462-libxc-cpu-feature.patch +++ b/23462-libxc-cpu-feature.patch @@ -22,9 +22,11 @@ libxc: Don't refer to meaningless 'word offsets' in xc_cpufeature.h Signed-off-by: Keir Fraser ---- a/tools/libxc/xc_cpufeature.h -+++ b/tools/libxc/xc_cpufeature.h -@@ -17,131 +17,112 @@ +Index: xen-4.1.2-testing/tools/libxc/xc_cpufeature.h +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxc/xc_cpufeature.h ++++ xen-4.1.2-testing/tools/libxc/xc_cpufeature.h +@@ -17,134 +17,115 @@ #ifndef __LIBXC_CPUFEATURE_H #define __LIBXC_CPUFEATURE_H @@ -149,6 +151,7 @@ Signed-off-by: Keir Fraser -#define X86_FEATURE_XSAVE (4*32+26) /* XSAVE/XRSTOR/XSETBV/XGETBV */ -#define X86_FEATURE_AVX (4*32+28) /* Advanced Vector Extensions */ -#define X86_FEATURE_F16C (4*32+29) /* Half-precision convert instruction */ +-#define X86_FEATURE_RDRAND (4*32+30) /* Digital Random Number Generator */ -#define X86_FEATURE_HYPERVISOR (4*32+31) /* Running under some hypervisor */ - -/* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001, word 5 */ @@ -183,6 +186,11 @@ Signed-off-by: Keir Fraser -#define X86_FEATURE_NODEID_MSR (6*32+19) /* NodeId MSR */ -#define X86_FEATURE_TBM (6*32+21) /* trailing bit manipulations */ -#define X86_FEATURE_TOPOEXT (6*32+22) /* topology extensions CPUID leafs */ +- +-/* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 9 */ +-#define X86_FEATURE_FSGSBASE (7*32+ 0) /* {RD,WR}{FS,GS}BASE instructions */ +-#define X86_FEATURE_SMEP (7*32+ 7) /* Supervisor Mode Execution Protection */ +-#define X86_FEATURE_ERMS (7*32+ 9) /* Enhanced REP MOVSB/STOSB */ +#define X86_FEATURE_SYSCALL 11 /* SYSCALL/SYSRET */ +#define X86_FEATURE_MP 19 /* MP Capable. */ +#define X86_FEATURE_NX 20 /* Execute Disable */ @@ -219,6 +227,7 @@ Signed-off-by: Keir Fraser +#define X86_FEATURE_XSAVE 26 /* XSAVE/XRSTOR/XSETBV/XGETBV */ +#define X86_FEATURE_AVX 28 /* Advanced Vector Extensions */ +#define X86_FEATURE_F16C 29 /* Half-precision convert instruction */ ++#define X86_FEATURE_RDRAND 30 /* Digital Random Number Generator */ +#define X86_FEATURE_HYPERVISOR 31 /* Running under some hypervisor */ + +/* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001 */ @@ -253,15 +262,17 @@ Signed-off-by: Keir Fraser +#define X86_FEATURE_NODEID_MSR 19 /* NodeId MSR */ +#define X86_FEATURE_TBM 21 /* trailing bit manipulations */ +#define X86_FEATURE_TOPOEXT 22 /* topology extensions CPUID leafs */ - --/* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 9 */ --#define X86_FEATURE_FSGSBASE (7*32+ 0) /* {RD,WR}{FS,GS}BASE instructions */ ++ +/* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx) */ +#define X86_FEATURE_FSGSBASE 0 /* {RD,WR}{FS,GS}BASE instructions */ ++#define X86_FEATURE_SMEP 7 /* Supervisor Mode Execution Protection */ ++#define X86_FEATURE_ERMS 9 /* Enhanced REP MOVSB/STOSB */ #endif /* __LIBXC_CPUFEATURE_H */ ---- a/tools/libxc/xc_cpuid_x86.c -+++ b/tools/libxc/xc_cpuid_x86.c +Index: xen-4.1.2-testing/tools/libxc/xc_cpuid_x86.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxc/xc_cpuid_x86.c ++++ xen-4.1.2-testing/tools/libxc/xc_cpuid_x86.c @@ -25,9 +25,9 @@ #include "xc_cpufeature.h" #include diff --git a/23481-x86-SMEP.patch b/23481-x86-SMEP.patch deleted file mode 100644 index 03d9ee5..0000000 --- a/23481-x86-SMEP.patch +++ /dev/null @@ -1,284 +0,0 @@ -References: FATE#311951 - -# HG changeset patch -# User Keir Fraser -# Date 1307133540 -3600 -# Node ID 0c0884fd8b494932a4b707e339cbe1b881d09103 -# Parent bcd2476c2e2d00dc6371e52fbff66fe3178b7944 -x86: Enable Supervisor Mode Execution Protection (SMEP) - -Intel new CPU supports SMEP (Supervisor Mode Execution -Protection). SMEP prevents software operating with CPL < 3 (supervisor -mode) from fetching instructions from any linear address with a valid -translation for which the U/S flag (bit 2) is 1 in every -paging-structure entry controlling the translation for the linear -address. - -This patch enables SMEP in Xen to protect Xen hypervisor from -executing pv guest instructions, whose translation paging-structure -entries' U/S flags are all set. - -Signed-off-by: Yang Wei -Signed-off-by: Shan Haitao -Signed-off-by: Li Xin -Signed-off-by: Keir Fraser - ---- a/xen/arch/x86/setup.c -+++ b/xen/arch/x86/setup.c -@@ -62,6 +62,10 @@ integer_param("maxcpus", max_cpus); - static bool_t __initdata opt_watchdog; - boolean_param("watchdog", opt_watchdog); - -+/* smep: Enable/disable Supervisor Mode Execution Protection (default on). */ -+static bool_t __initdata disable_smep; -+invbool_param("smep", disable_smep); -+ - /* **** Linux config option: propagated to domain0. */ - /* "acpi=off": Sisables both ACPI table parsing and interpreter. */ - /* "acpi=force": Override the disable blacklist. */ -@@ -1205,11 +1209,17 @@ void __init __start_xen(unsigned long mb - arch_init_memory(); - - identify_cpu(&boot_cpu_data); -+ - if ( cpu_has_fxsr ) - set_in_cr4(X86_CR4_OSFXSR); - if ( cpu_has_xmm ) - set_in_cr4(X86_CR4_OSXMMEXCPT); - -+ if ( disable_smep ) -+ setup_clear_cpu_cap(X86_FEATURE_SMEP); -+ if ( cpu_has_smep ) -+ set_in_cr4(X86_CR4_SMEP); -+ - local_irq_enable(); - - #ifdef CONFIG_X86_64 ---- a/xen/arch/x86/traps.c -+++ b/xen/arch/x86/traps.c -@@ -1136,7 +1136,13 @@ static int handle_gdt_ldt_mapping_fault( - (((va) >= HYPERVISOR_VIRT_START)) - #endif - --static int __spurious_page_fault( -+enum pf_type { -+ real_fault, -+ smep_fault, -+ spurious_fault -+}; -+ -+static enum pf_type __page_fault_type( - unsigned long addr, unsigned int error_code) - { - unsigned long mfn, cr3 = read_cr3(); -@@ -1148,7 +1154,7 @@ static int __spurious_page_fault( - #endif - l2_pgentry_t l2e, *l2t; - l1_pgentry_t l1e, *l1t; -- unsigned int required_flags, disallowed_flags; -+ unsigned int required_flags, disallowed_flags, page_user; - - /* - * We do not take spurious page faults in IRQ handlers as we do not -@@ -1156,11 +1162,11 @@ static int __spurious_page_fault( - * map_domain_page() is not IRQ-safe. - */ - if ( in_irq() ) -- return 0; -+ return real_fault; - - /* Reserved bit violations are never spurious faults. */ - if ( error_code & PFEC_reserved_bit ) -- return 0; -+ return real_fault; - - required_flags = _PAGE_PRESENT; - if ( error_code & PFEC_write_access ) -@@ -1172,6 +1178,8 @@ static int __spurious_page_fault( - if ( error_code & PFEC_insn_fetch ) - disallowed_flags |= _PAGE_NX; - -+ page_user = _PAGE_USER; -+ - mfn = cr3 >> PAGE_SHIFT; - - #if CONFIG_PAGING_LEVELS >= 4 -@@ -1181,7 +1189,8 @@ static int __spurious_page_fault( - unmap_domain_page(l4t); - if ( ((l4e_get_flags(l4e) & required_flags) != required_flags) || - (l4e_get_flags(l4e) & disallowed_flags) ) -- return 0; -+ return real_fault; -+ page_user &= l4e_get_flags(l4e); - #endif - - #if CONFIG_PAGING_LEVELS >= 3 -@@ -1194,13 +1203,14 @@ static int __spurious_page_fault( - unmap_domain_page(l3t); - #if CONFIG_PAGING_LEVELS == 3 - if ( !(l3e_get_flags(l3e) & _PAGE_PRESENT) ) -- return 0; -+ return real_fault; - #else - if ( ((l3e_get_flags(l3e) & required_flags) != required_flags) || - (l3e_get_flags(l3e) & disallowed_flags) ) -- return 0; -+ return real_fault; -+ page_user &= l3e_get_flags(l3e); - if ( l3e_get_flags(l3e) & _PAGE_PSE ) -- return 1; -+ goto leaf; - #endif - #endif - -@@ -1210,9 +1220,10 @@ static int __spurious_page_fault( - unmap_domain_page(l2t); - if ( ((l2e_get_flags(l2e) & required_flags) != required_flags) || - (l2e_get_flags(l2e) & disallowed_flags) ) -- return 0; -+ return real_fault; -+ page_user &= l2e_get_flags(l2e); - if ( l2e_get_flags(l2e) & _PAGE_PSE ) -- return 1; -+ goto leaf; - - l1t = map_domain_page(mfn); - l1e = l1e_read_atomic(&l1t[l1_table_offset(addr)]); -@@ -1220,26 +1231,36 @@ static int __spurious_page_fault( - unmap_domain_page(l1t); - if ( ((l1e_get_flags(l1e) & required_flags) != required_flags) || - (l1e_get_flags(l1e) & disallowed_flags) ) -- return 0; -+ return real_fault; -+ page_user &= l1e_get_flags(l1e); - -- return 1; -+leaf: -+ /* -+ * Supervisor Mode Execution Protection (SMEP): -+ * Disallow supervisor execution from user-accessible mappings -+ */ -+ if ( (read_cr4() & X86_CR4_SMEP) && page_user && -+ ((error_code & (PFEC_insn_fetch|PFEC_user_mode)) == PFEC_insn_fetch) ) -+ return smep_fault; -+ -+ return spurious_fault; - } - --static int spurious_page_fault( -+static enum pf_type spurious_page_fault( - unsigned long addr, unsigned int error_code) - { - unsigned long flags; -- int is_spurious; -+ enum pf_type pf_type; - - /* - * Disabling interrupts prevents TLB flushing, and hence prevents - * page tables from becoming invalid under our feet during the walk. - */ - local_irq_save(flags); -- is_spurious = __spurious_page_fault(addr, error_code); -+ pf_type = __page_fault_type(addr, error_code); - local_irq_restore(flags); - -- return is_spurious; -+ return pf_type; - } - - static int fixup_page_fault(unsigned long addr, struct cpu_user_regs *regs) -@@ -1314,6 +1335,7 @@ asmlinkage void do_page_fault(struct cpu - { - unsigned long addr, fixup; - unsigned int error_code; -+ enum pf_type pf_type; - - addr = read_cr2(); - -@@ -1329,7 +1351,9 @@ asmlinkage void do_page_fault(struct cpu - - if ( unlikely(!guest_mode(regs)) ) - { -- if ( spurious_page_fault(addr, error_code) ) -+ pf_type = spurious_page_fault(addr, error_code); -+ BUG_ON(pf_type == smep_fault); -+ if ( pf_type != real_fault ) - return; - - if ( likely((fixup = search_exception_table(regs->eip)) != 0) ) -@@ -1351,9 +1375,17 @@ asmlinkage void do_page_fault(struct cpu - error_code, _p(addr)); - } - -- if ( unlikely(current->domain->arch.suppress_spurious_page_faults -- && spurious_page_fault(addr, error_code)) ) -- return; -+ if ( unlikely(current->domain->arch.suppress_spurious_page_faults) ) -+ { -+ pf_type = spurious_page_fault(addr, error_code); -+ if ( pf_type == smep_fault ) -+ { -+ gdprintk(XENLOG_ERR, "Fatal SMEP fault\n"); -+ domain_crash(current->domain); -+ } -+ if ( pf_type != real_fault ) -+ return; -+ } - - propagate_page_fault(addr, regs->error_code); - } ---- a/xen/include/asm-x86/cpufeature.h -+++ b/xen/include/asm-x86/cpufeature.h -@@ -140,8 +140,9 @@ - #define X86_FEATURE_TBM (6*32+21) /* trailing bit manipulations */ - #define X86_FEATURE_TOPOEXT (6*32+22) /* topology extensions CPUID leafs */ - --/* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 9 */ -+/* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 7 */ - #define X86_FEATURE_FSGSBASE (7*32+ 0) /* {RD,WR}{FS,GS}BASE instructions */ -+#define X86_FEATURE_SMEP (7*32+ 7) /* Supervisor Mode Execution Protection */ - - #define cpu_has(c, bit) test_bit(bit, (c)->x86_capability) - #define boot_cpu_has(bit) test_bit(bit, boot_cpu_data.x86_capability) -@@ -201,6 +202,8 @@ - #define cpu_has_fsgsbase boot_cpu_has(X86_FEATURE_FSGSBASE) - #endif - -+#define cpu_has_smep boot_cpu_has(X86_FEATURE_SMEP) -+ - #define cpu_has_ffxsr ((boot_cpu_data.x86_vendor == X86_VENDOR_AMD) \ - && boot_cpu_has(X86_FEATURE_FFXSR)) - ---- a/xen/include/asm-x86/domain.h -+++ b/xen/include/asm-x86/domain.h -@@ -462,12 +462,14 @@ unsigned long pv_guest_cr4_fixup(const s - /* Convert between guest-visible and real CR4 values. */ - #define pv_guest_cr4_to_real_cr4(v) \ - (((v)->arch.guest_context.ctrlreg[4] \ -- | (mmu_cr4_features & (X86_CR4_PGE | X86_CR4_PSE)) \ -- | ((v)->domain->arch.vtsc ? X86_CR4_TSD : 0) \ -- | ((xsave_enabled(v))? X86_CR4_OSXSAVE : 0)) \ -- & ~X86_CR4_DE) --#define real_cr4_to_pv_guest_cr4(c) \ -- ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD | X86_CR4_OSXSAVE)) -+ | (mmu_cr4_features \ -+ & (X86_CR4_PGE | X86_CR4_PSE | X86_CR4_SMEP)) \ -+ | ((v)->domain->arch.vtsc ? X86_CR4_TSD : 0) \ -+ | ((xsave_enabled(v))? X86_CR4_OSXSAVE : 0)) \ -+ & ~X86_CR4_DE) -+#define real_cr4_to_pv_guest_cr4(c) \ -+ ((c) & ~(X86_CR4_PGE | X86_CR4_PSE | X86_CR4_TSD \ -+ | X86_CR4_OSXSAVE | X86_CR4_SMEP)) - - void domain_cpuid(struct domain *d, - unsigned int input, ---- a/xen/include/asm-x86/processor.h -+++ b/xen/include/asm-x86/processor.h -@@ -85,6 +85,7 @@ - #define X86_CR4_SMXE 0x4000 /* enable SMX */ - #define X86_CR4_FSGSBASE 0x10000 /* enable {rd,wr}{fs,gs}base */ - #define X86_CR4_OSXSAVE 0x40000 /* enable XSAVE/XRSTOR */ -+#define X86_CR4_SMEP 0x100000/* enable SMEP */ - - /* - * Trap/fault mnemonics. diff --git a/23504-x86-SMEP-hvm.patch b/23504-x86-SMEP-hvm.patch deleted file mode 100644 index 5861b3b..0000000 --- a/23504-x86-SMEP-hvm.patch +++ /dev/null @@ -1,148 +0,0 @@ -References: FATE#311951 - -# HG changeset patch -# User Tim Deegan -# Date 1307364408 -3600 -# Node ID c34604d5a29336d902837542b915d3b09b27a361 -# Parent 664c419b55681feb233b33e0028d0f0af371bedd -x86/hvm: add SMEP support to HVM guest - -Intel new CPU supports SMEP (Supervisor Mode Execution Protection). SMEP -prevents software operating with CPL < 3 (supervisor mode) from fetching -instructions from any linear address with a valid translation for which the U/S -flag (bit 2) is 1 in every paging-structure entry controlling the translation -for the linear address. - -This patch adds SMEP support to HVM guest. - -Signed-off-by: Yang Wei -Signed-off-by: Shan Haitao -Signed-off-by: Li Xin -Signed-off-by: Tim Deegan - ---- a/tools/libxc/xc_cpufeature.h -+++ b/tools/libxc/xc_cpufeature.h -@@ -124,5 +124,6 @@ - - /* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx) */ - #define X86_FEATURE_FSGSBASE 0 /* {RD,WR}{FS,GS}BASE instructions */ -+#define X86_FEATURE_SMEP 7 /* Supervisor Mode Execution Protection */ - - #endif /* __LIBXC_CPUFEATURE_H */ ---- a/tools/libxc/xc_cpuid_x86.c -+++ b/tools/libxc/xc_cpuid_x86.c -@@ -300,6 +300,14 @@ static void xc_cpuid_hvm_policy( - clear_bit(X86_FEATURE_PAE, regs[3]); - break; - -+ case 0x00000007: /* Intel-defined CPU features */ -+ if ( input[1] == 0 ) { -+ regs[1] &= bitmaskof(X86_FEATURE_SMEP); -+ } else -+ regs[1] = 0; -+ regs[0] = regs[2] = regs[3] = 0; -+ break; -+ - case 0x0000000d: - xc_cpuid_config_xsave(xch, domid, xfeature_mask, input, regs); - break; ---- a/xen/arch/x86/hvm/hvm.c -+++ b/xen/arch/x86/hvm/hvm.c -@@ -1553,8 +1553,9 @@ int hvm_set_cr4(unsigned long value) - v->arch.hvm_vcpu.guest_cr[4] = value; - hvm_update_guest_cr(v, 4); - -- /* Modifying CR4.{PSE,PAE,PGE} invalidates all TLB entries, inc. Global. */ -- if ( (old_cr ^ value) & (X86_CR4_PSE | X86_CR4_PGE | X86_CR4_PAE) ) -+ /* Modifying CR4.{PSE,PAE,PGE,SMEP} invalidates all TLB entries. */ -+ if ( (old_cr ^ value) & (X86_CR4_PSE | X86_CR4_PGE | -+ X86_CR4_PAE | X86_CR4_SMEP) ) - paging_update_paging_modes(v); - - return X86EMUL_OKAY; -@@ -2196,7 +2197,7 @@ enum hvm_copy_result hvm_copy_from_guest - enum hvm_copy_result hvm_fetch_from_guest_virt( - void *buf, unsigned long vaddr, int size, uint32_t pfec) - { -- if ( hvm_nx_enabled(current) ) -+ if ( hvm_nx_enabled(current) || hvm_smep_enabled(current) ) - pfec |= PFEC_insn_fetch; - return __hvm_copy(buf, vaddr, size, - HVMCOPY_from_guest | HVMCOPY_fault | HVMCOPY_virt, -@@ -2222,7 +2223,7 @@ enum hvm_copy_result hvm_copy_from_guest - enum hvm_copy_result hvm_fetch_from_guest_virt_nofault( - void *buf, unsigned long vaddr, int size, uint32_t pfec) - { -- if ( hvm_nx_enabled(current) ) -+ if ( hvm_nx_enabled(current) || hvm_smep_enabled(current) ) - pfec |= PFEC_insn_fetch; - return __hvm_copy(buf, vaddr, size, - HVMCOPY_from_guest | HVMCOPY_no_fault | HVMCOPY_virt, -@@ -2292,6 +2293,10 @@ void hvm_cpuid(unsigned int input, unsig - *ecx |= (v->arch.hvm_vcpu.guest_cr[4] & X86_CR4_OSXSAVE) ? - cpufeat_mask(X86_FEATURE_OSXSAVE) : 0; - break; -+ case 0x7: -+ if ( (count == 0) && !cpu_has_smep ) -+ *ebx &= ~cpufeat_mask(X86_FEATURE_SMEP); -+ break; - case 0xb: - /* Fix the x2APIC identifier. */ - *edx = v->vcpu_id * 2; ---- a/xen/arch/x86/mm/guest_walk.c -+++ b/xen/arch/x86/mm/guest_walk.c -@@ -132,7 +132,7 @@ guest_walk_tables(struct vcpu *v, struct - guest_l4e_t *l4p; - #endif - uint32_t gflags, mflags, iflags, rc = 0; -- int pse; -+ int pse, smep; - - perfc_incr(guest_walk); - memset(gw, 0, sizeof(*gw)); -@@ -145,6 +145,15 @@ guest_walk_tables(struct vcpu *v, struct - mflags = mandatory_flags(v, pfec); - iflags = (_PAGE_NX_BIT | _PAGE_INVALID_BITS); - -+ /* SMEP: kernel-mode instruction fetches from user-mode mappings -+ * should fault. Unlike NX or invalid bits, we're looking for _all_ -+ * entries in the walk to have _PAGE_USER set, so we need to do the -+ * whole walk as if it were a user-mode one and then invert the answer. */ -+ smep = (is_hvm_vcpu(v) && hvm_smep_enabled(v) -+ && (pfec & PFEC_insn_fetch) && !(pfec & PFEC_user_mode) ); -+ if ( smep ) -+ mflags |= _PAGE_USER; -+ - #if GUEST_PAGING_LEVELS >= 3 /* PAE or 64... */ - #if GUEST_PAGING_LEVELS >= 4 /* 64-bit only... */ - -@@ -271,6 +280,10 @@ guest_walk_tables(struct vcpu *v, struct - rc |= ((gflags & mflags) ^ mflags); - } - -+ /* Now re-invert the user-mode requirement for SMEP. */ -+ if ( smep ) -+ rc ^= _PAGE_USER; -+ - /* Go back and set accessed and dirty bits only if the walk was a - * success. Although the PRMs say higher-level _PAGE_ACCESSED bits - * get set whenever a lower-level PT is used, at least some hardware ---- a/xen/include/asm-x86/hvm/hvm.h -+++ b/xen/include/asm-x86/hvm/hvm.h -@@ -181,6 +181,8 @@ int hvm_girq_dest_2_vcpu_id(struct domai - (!!((v)->arch.hvm_vcpu.guest_cr[0] & X86_CR0_WP)) - #define hvm_pae_enabled(v) \ - (hvm_paging_enabled(v) && ((v)->arch.hvm_vcpu.guest_cr[4] & X86_CR4_PAE)) -+#define hvm_smep_enabled(v) \ -+ (hvm_paging_enabled(v) && ((v)->arch.hvm_vcpu.guest_cr[4] & X86_CR4_SMEP)) - #define hvm_nx_enabled(v) \ - (!!((v)->arch.hvm_vcpu.guest_efer & EFER_NX)) - -@@ -294,6 +296,7 @@ static inline int hvm_do_pmu_interrupt(s - X86_CR4_DE | X86_CR4_PSE | X86_CR4_PAE | \ - X86_CR4_MCE | X86_CR4_PGE | X86_CR4_PCE | \ - X86_CR4_OSFXSR | X86_CR4_OSXMMEXCPT | \ -+ (cpu_has_smep ? X86_CR4_SMEP : 0) | \ - (xsave_enabled(_v) ? X86_CR4_OSXSAVE : 0)))) - - /* These exceptions must always be intercepted. */ diff --git a/23505-x86-cpu-add-arg-check.patch b/23505-x86-cpu-add-arg-check.patch deleted file mode 100644 index c452b54..0000000 --- a/23505-x86-cpu-add-arg-check.patch +++ /dev/null @@ -1,24 +0,0 @@ -# HG changeset patch -# User Keir Fraser -# Date 1307689724 -3600 -# Node ID 5a557fda70a99d287735b53957e865c8dac0e351 -# Parent c34604d5a29336d902837542b915d3b09b27a361 -x86: Fix argument checking in (privileged) function cpu_add(). - -Thanks to John McDermott for spotting. - -Signed-off-by: Keir Fraser - ---- a/xen/arch/x86/smpboot.c -+++ b/xen/arch/x86/smpboot.c -@@ -899,7 +899,9 @@ int cpu_add(uint32_t apic_id, uint32_t a - dprintk(XENLOG_DEBUG, "cpu_add apic_id %x acpi_id %x pxm %x\n", - apic_id, acpi_id, pxm); - -- if ( acpi_id > MAX_MADT_ENTRIES || apic_id > MAX_APICS || pxm > 256 ) -+ if ( (acpi_id >= MAX_MADT_ENTRIES) || -+ (apic_id >= MAX_APICS) || -+ (pxm >= 256) ) - return -EINVAL; - - if ( !cpu_hotplug_begin() ) diff --git a/23508-vmx-proc-based-ctls-probe.patch b/23508-vmx-proc-based-ctls-probe.patch index 8f728c4..a2dc76d 100644 --- a/23508-vmx-proc-based-ctls-probe.patch +++ b/23508-vmx-proc-based-ctls-probe.patch @@ -12,8 +12,10 @@ is of use to nestedvmx, and every 64-bit cpu should support it. Signed-off-by: Eddie Dong Signed-off-by: Keir Fraser ---- a/xen/arch/x86/hvm/vmx/vmcs.c -+++ b/xen/arch/x86/hvm/vmx/vmcs.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/vmx/vmcs.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/vmx/vmcs.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/vmx/vmcs.c @@ -147,6 +147,11 @@ static int vmx_init_vmcs_config(void) MSR_IA32_VMX_PINBASED_CTLS, &mismatch); diff --git a/23510-hvm-cpuid-DRNG.patch b/23510-hvm-cpuid-DRNG.patch deleted file mode 100644 index 9961cd9..0000000 --- a/23510-hvm-cpuid-DRNG.patch +++ /dev/null @@ -1,44 +0,0 @@ -# HG changeset patch -# User Yang, Wei -# Date 1308051888 -3600 -# Node ID 864a3dd1d9b4664f1ece44c9eaf390969253b7a8 -# Parent 782bc7b2661a3921af21130f34f599f68911f2ce -x86/hvm: Make DRNG feature visible in CPUID - -This patch exposes DRNG feature to HVM guests. - -The RDRAND instruction can provide software with sequences of -random numbers generated from white noise. - -Signed-off-by: Yang, Wei - ---- a/tools/libxc/xc_cpufeature.h -+++ b/tools/libxc/xc_cpufeature.h -@@ -87,6 +87,7 @@ - #define X86_FEATURE_XSAVE 26 /* XSAVE/XRSTOR/XSETBV/XGETBV */ - #define X86_FEATURE_AVX 28 /* Advanced Vector Extensions */ - #define X86_FEATURE_F16C 29 /* Half-precision convert instruction */ -+#define X86_FEATURE_RDRAND 30 /* Digital Random Number Generator */ - #define X86_FEATURE_HYPERVISOR 31 /* Running under some hypervisor */ - - /* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001 */ ---- a/tools/libxc/xc_cpuid_x86.c -+++ b/tools/libxc/xc_cpuid_x86.c -@@ -262,6 +262,7 @@ static void xc_cpuid_hvm_policy( - bitmaskof(X86_FEATURE_POPCNT) | - bitmaskof(X86_FEATURE_AES) | - bitmaskof(X86_FEATURE_F16C) | -+ bitmaskof(X86_FEATURE_RDRAND) | - ((xfeature_mask != 0) ? - (bitmaskof(X86_FEATURE_AVX) | - bitmaskof(X86_FEATURE_XSAVE)) : 0)); ---- a/xen/include/asm-x86/cpufeature.h -+++ b/xen/include/asm-x86/cpufeature.h -@@ -105,6 +105,7 @@ - #define X86_FEATURE_OSXSAVE (4*32+27) /* OSXSAVE */ - #define X86_FEATURE_AVX (4*32+28) /* Advanced Vector Extensions */ - #define X86_FEATURE_F16C (4*32+29) /* Half-precision convert instruction */ -+#define X86_FEATURE_RDRAND (4*32+30) /* Digital Random Number Generator */ - #define X86_FEATURE_HYPERVISOR (4*32+31) /* Running under some hypervisor */ - - /* VIA/Cyrix/Centaur-defined CPU features, CPUID level 0xC0000001, word 5 */ diff --git a/23511-amd-fam15-no-flush-for-C3.patch b/23511-amd-fam15-no-flush-for-C3.patch index 4c4d56f..684a2c2 100644 --- a/23511-amd-fam15-no-flush-for-C3.patch +++ b/23511-amd-fam15-no-flush-for-C3.patch @@ -14,9 +14,11 @@ prevent these processors from flushing when entering C3. Signed-off-by: Mark Langsdorf ---- a/xen/arch/x86/acpi/cpu_idle.c -+++ b/xen/arch/x86/acpi/cpu_idle.c -@@ -680,7 +680,8 @@ static void acpi_processor_power_init_bm +Index: xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c ++++ xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c +@@ -710,7 +710,8 @@ static void acpi_processor_power_init_bm flags->bm_check = 0; if ( num_online_cpus() == 1 ) flags->bm_check = 1; diff --git a/23516-cpuid-ERMS.patch b/23516-cpuid-ERMS.patch deleted file mode 100644 index 81fe65f..0000000 --- a/23516-cpuid-ERMS.patch +++ /dev/null @@ -1,67 +0,0 @@ -# HG changeset patch -# User Yang, Wei -# Date 1308053598 -3600 -# Node ID f4a47275aebf383cf565e0a265a56a8c1110d45e -# Parent 337520d94cba906e64dbd3089d65cda8cf97d1d0 -x86: Pass through ERMS CPUID feature for HVM and PV guests - -This patch exposes ERMS feature to HVM and PV guests. - -The REP MOVSB/STOSB instruction can enhance fast strings attempts to -move as much of the data with larger size load/stores as possible. - -Signed-off-by: Yang, Wei - ---- a/tools/libxc/xc_cpufeature.h -+++ b/tools/libxc/xc_cpufeature.h -@@ -126,5 +126,6 @@ - /* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx) */ - #define X86_FEATURE_FSGSBASE 0 /* {RD,WR}{FS,GS}BASE instructions */ - #define X86_FEATURE_SMEP 7 /* Supervisor Mode Execution Protection */ -+#define X86_FEATURE_ERMS 9 /* Enhanced REP MOVSB/STOSB */ - - #endif /* __LIBXC_CPUFEATURE_H */ ---- a/tools/libxc/xc_cpuid_x86.c -+++ b/tools/libxc/xc_cpuid_x86.c -@@ -303,7 +303,8 @@ static void xc_cpuid_hvm_policy( - - case 0x00000007: /* Intel-defined CPU features */ - if ( input[1] == 0 ) { -- regs[1] &= bitmaskof(X86_FEATURE_SMEP); -+ regs[1] &= (bitmaskof(X86_FEATURE_SMEP) | -+ bitmaskof(X86_FEATURE_ERMS)); - } else - regs[1] = 0; - regs[0] = regs[2] = regs[3] = 0; -@@ -425,7 +426,8 @@ static void xc_cpuid_pv_policy( - - case 7: - if ( input[1] == 0 ) -- regs[1] &= bitmaskof(X86_FEATURE_FSGSBASE); -+ regs[1] &= (bitmaskof(X86_FEATURE_FSGSBASE) | -+ bitmaskof(X86_FEATURE_ERMS)); - else - regs[1] = 0; - regs[0] = regs[2] = regs[3] = 0; ---- a/xen/arch/x86/traps.c -+++ b/xen/arch/x86/traps.c -@@ -812,7 +812,8 @@ static void pv_cpuid(struct cpu_user_reg - break; - case 7: - if ( regs->ecx == 0 ) -- b &= cpufeat_mask(X86_FEATURE_FSGSBASE); -+ b &= (cpufeat_mask(X86_FEATURE_FSGSBASE) | -+ cpufeat_mask(X86_FEATURE_ERMS)); - else - b = 0; - a = c = d = 0; ---- a/xen/include/asm-x86/cpufeature.h -+++ b/xen/include/asm-x86/cpufeature.h -@@ -144,6 +144,7 @@ - /* Intel-defined CPU features, CPUID level 0x00000007:0 (ebx), word 7 */ - #define X86_FEATURE_FSGSBASE (7*32+ 0) /* {RD,WR}{FS,GS}BASE instructions */ - #define X86_FEATURE_SMEP (7*32+ 7) /* Supervisor Mode Execution Protection */ -+#define X86_FEATURE_ERMS (7*32+ 9) /* Enhanced REP MOVSB/STOSB */ - - #define cpu_has(c, bit) test_bit(bit, (c)->x86_capability) - #define boot_cpu_has(bit) test_bit(bit, boot_cpu_data.x86_capability) diff --git a/23538-hvm-pio-emul-no-host-crash.patch b/23538-hvm-pio-emul-no-host-crash.patch deleted file mode 100644 index e7f3f59..0000000 --- a/23538-hvm-pio-emul-no-host-crash.patch +++ /dev/null @@ -1,33 +0,0 @@ -# HG changeset patch -# User George Dunlap -# Date 1308150314 -3600 -# Node ID 35b4220c98bc89b7162d19ed6c858e027fabff69 -# Parent cac82bc1ea23bc213ece4c84db2703dd46df7f25 -x86/hvm: Crash domain rather than guest on unexpected PIO IO state - -Under certain conditions, if an IO gets into an unexpected state, -hvmemul_do_io can return X86EMUL_UNHANDLEABLE. Unfortunately, -handle_pio() does not expect this state, and calls BUG() if it sees -it, crashing the host. - -Other HVM io-related code crashes the guest in this case. This patch -makes handle_pio() do the same. - -The crash was seen when executing crash_guest in dom0 to forcibly -crash the guest. - -Signed-off-by: George Dunlap - ---- a/xen/arch/x86/hvm/io.c -+++ b/xen/arch/x86/hvm/io.c -@@ -239,7 +239,9 @@ int handle_pio(uint16_t port, int size, - curr->arch.hvm_vcpu.io_state = HVMIO_handle_pio_awaiting_completion; - break; - default: -- BUG(); -+ gdprintk(XENLOG_ERR, "Weird HVM ioemulation status %d.\n", rc); -+ domain_crash(curr->domain); -+ break; - } - - return 1; diff --git a/23539-hvm-cpuid-FSGSBASE.patch b/23539-hvm-cpuid-FSGSBASE.patch deleted file mode 100644 index eb070d8..0000000 --- a/23539-hvm-cpuid-FSGSBASE.patch +++ /dev/null @@ -1,34 +0,0 @@ -# HG changeset patch -# User Yang, Wei -# Date 1308150408 -3600 -# Node ID 8c75f35d55f60cb2f374e3b5c7c520f8633d733f -# Parent 35b4220c98bc89b7162d19ed6c858e027fabff69 -Enable RDWRGSFS feature support for HVM guests - -Write/read FS/GS base instructions enable user level code to -read/write FS & GS segment base registers for thread local storage. - -Signed-off-by: Yang, Wei - ---- a/tools/libxc/xc_cpuid_x86.c -+++ b/tools/libxc/xc_cpuid_x86.c -@@ -304,7 +304,8 @@ static void xc_cpuid_hvm_policy( - case 0x00000007: /* Intel-defined CPU features */ - if ( input[1] == 0 ) { - regs[1] &= (bitmaskof(X86_FEATURE_SMEP) | -- bitmaskof(X86_FEATURE_ERMS)); -+ bitmaskof(X86_FEATURE_ERMS) | -+ bitmaskof(X86_FEATURE_FSGSBASE)); - } else - regs[1] = 0; - regs[0] = regs[2] = regs[3] = 0; ---- a/xen/include/asm-x86/hvm/hvm.h -+++ b/xen/include/asm-x86/hvm/hvm.h -@@ -297,6 +297,7 @@ static inline int hvm_do_pmu_interrupt(s - X86_CR4_MCE | X86_CR4_PGE | X86_CR4_PCE | \ - X86_CR4_OSFXSR | X86_CR4_OSXMMEXCPT | \ - (cpu_has_smep ? X86_CR4_SMEP : 0) | \ -+ (cpu_has_fsgsbase ? X86_CR4_FSGSBASE : 0) | \ - (xsave_enabled(_v) ? X86_CR4_OSXSAVE : 0)))) - - /* These exceptions must always be intercepted. */ diff --git a/23543-x86_64-maddr_to_virt-assertion.patch b/23543-x86_64-maddr_to_virt-assertion.patch deleted file mode 100644 index 76df278..0000000 --- a/23543-x86_64-maddr_to_virt-assertion.patch +++ /dev/null @@ -1,24 +0,0 @@ -# HG changeset patch -# User Jan Beulich -# Date 1308165849 -3600 -# Node ID a8edfacd4b5e2cecb78d2ff93e57e7efa1bf2db2 -# Parent 23c068b109236657ededa3e3b7f180346a5cd9f9 -x86-64: fix incorrect assertion in __maddr_to_virt() - -When memory map sparseness reduction is in use, machine address ranges -can't validly be compared directly against the total size of the -direct mapping range. - -Signed-off-by: Jan Beulich - ---- a/xen/include/asm-x86/x86_64/page.h -+++ b/xen/include/asm-x86/x86_64/page.h -@@ -95,7 +95,7 @@ static inline unsigned long __virt_to_ma - - static inline void *__maddr_to_virt(unsigned long ma) - { -- ASSERT(ma < DIRECTMAP_VIRT_END - DIRECTMAP_VIRT_START); -+ ASSERT(pfn_to_pdx(ma >> PAGE_SHIFT) < (DIRECTMAP_SIZE >> PAGE_SHIFT)); - return (void *)(DIRECTMAP_VIRT_START + - ((ma & ma_va_bottom_mask) | - ((ma & ma_top_mask) >> pfn_pdx_hole_shift))); diff --git a/23546-fucomip.patch b/23546-fucomip.patch deleted file mode 100644 index 8536986..0000000 --- a/23546-fucomip.patch +++ /dev/null @@ -1,23 +0,0 @@ -# HG changeset patch -# User Keir Fraser -# Date 1308167438 -3600 -# Node ID b58c4ec2f6939b31d56307599b517b5bcfc90279 -# Parent 649372e3d46a795040a358075869336b15b6b627 -x86_emulate: Fix decode of FUCOMIP %stN. - -Signed-off-by: Keir Fraser -xen-unstable changeset: 23546:d25f2c114ace -xen-unstable date: Wed Jun 15 20:33:58 2011 +0100 - ---- a/xen/arch/x86/x86_emulate/x86_emulate.c -+++ b/xen/arch/x86/x86_emulate/x86_emulate.c -@@ -2936,8 +2936,8 @@ x86_emulate( - dst.reg = (unsigned long *)&_regs.eax; - emulate_fpu_insn_memdst("fnstsw", dst.val); - break; -+ case 0xe8 ... 0xef: /* fucomip %stN */ - case 0xf0 ... 0xf7: /* fcomip %stN */ -- case 0xf8 ... 0xff: /* fucomip %stN */ - emulate_fpu_insn_stub(0xdf, modrm); - break; - default: diff --git a/23571-vtd-fault-verbosity.patch b/23571-vtd-fault-verbosity.patch index fa20b09..0ac5a60 100644 --- a/23571-vtd-fault-verbosity.patch +++ b/23571-vtd-fault-verbosity.patch @@ -10,8 +10,10 @@ iommu=debug is set xen boot parameter. Signed-off-by: Allen Kay ---- a/xen/drivers/passthrough/amd/iommu_acpi.c -+++ b/xen/drivers/passthrough/amd/iommu_acpi.c +Index: xen-4.1.2-testing/xen/drivers/passthrough/amd/iommu_acpi.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/amd/iommu_acpi.c ++++ xen-4.1.2-testing/xen/drivers/passthrough/amd/iommu_acpi.c @@ -822,7 +822,7 @@ static int __init parse_ivrs_table(struc BUG_ON(!table); @@ -21,8 +23,10 @@ Signed-off-by: Allen Kay dump_acpi_table_header(table); /* parse IVRS blocks */ ---- a/xen/drivers/passthrough/iommu.c -+++ b/xen/drivers/passthrough/iommu.c +Index: xen-4.1.2-testing/xen/drivers/passthrough/iommu.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/iommu.c ++++ xen-4.1.2-testing/xen/drivers/passthrough/iommu.c @@ -48,7 +48,7 @@ bool_t __read_mostly iommu_snoop = 1; bool_t __read_mostly iommu_qinval = 1; bool_t __read_mostly iommu_intremap = 1; @@ -43,8 +47,10 @@ Signed-off-by: Allen Kay else if ( !strcmp(s, "amd-iommu-perdev-intremap") ) amd_iommu_perdev_intremap = 1; else if ( !strcmp(s, "dom0-passthrough") ) ---- a/xen/drivers/passthrough/vtd/iommu.c -+++ b/xen/drivers/passthrough/vtd/iommu.c +Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/iommu.c ++++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.c @@ -821,7 +821,7 @@ static int iommu_page_fault_do_one(struc if ( fault_type == DMA_REMAP ) @@ -104,8 +110,10 @@ Signed-off-by: Allen Kay } #define PRIMARY_FAULT_REG_LEN (16) ---- a/xen/drivers/passthrough/vtd/iommu.h -+++ b/xen/drivers/passthrough/vtd/iommu.h +Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/iommu.h ++++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/iommu.h @@ -512,4 +512,11 @@ struct intel_iommu { struct acpi_drhd_unit *drhd; }; @@ -118,8 +126,10 @@ Signed-off-by: Allen Kay + } while(0) + #endif ---- a/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h -+++ b/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hvm/svm/amd-iommu-proto.h @@ -34,7 +34,7 @@ #define AMD_IOMMU_DEBUG(fmt, args...) \ do \ @@ -129,8 +139,10 @@ Signed-off-by: Allen Kay printk(XENLOG_INFO "AMD-Vi: " fmt, ## args); \ } while(0) ---- a/xen/include/xen/iommu.h -+++ b/xen/include/xen/iommu.h +Index: xen-4.1.2-testing/xen/include/xen/iommu.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xen/iommu.h ++++ xen-4.1.2-testing/xen/include/xen/iommu.h @@ -31,7 +31,7 @@ extern bool_t force_iommu, iommu_verbose extern bool_t iommu_workaround_bios_bug, iommu_passthrough; extern bool_t iommu_snoop, iommu_qinval, iommu_intremap; @@ -139,4 +151,4 @@ Signed-off-by: Allen Kay +extern bool_t iommu_debug; extern bool_t amd_iommu_perdev_intremap; - extern struct rangeset *mmio_ro_ranges; + /* Does this domain have a P2M table we can use as its IOMMU pagetable? */ diff --git a/23574-x86-dom0-compressed-ELF.patch b/23574-x86-dom0-compressed-ELF.patch index 92bcbb3..25c1e93 100644 --- a/23574-x86-dom0-compressed-ELF.patch +++ b/23574-x86-dom0-compressed-ELF.patch @@ -17,8 +17,10 @@ in compressed form). Signed-off-by: Jan Beulich ---- a/xen/arch/x86/bzimage.c -+++ b/xen/arch/x86/bzimage.c +Index: xen-4.1.2-testing/xen/arch/x86/bzimage.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/bzimage.c ++++ xen-4.1.2-testing/xen/arch/x86/bzimage.c @@ -5,6 +5,7 @@ #include #include @@ -105,8 +107,10 @@ Signed-off-by: Jan Beulich if ( !err ) { ---- a/xen/include/asm-x86/bzimage.h -+++ b/xen/include/asm-x86/bzimage.h +Index: xen-4.1.2-testing/xen/include/asm-x86/bzimage.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/bzimage.h ++++ xen-4.1.2-testing/xen/include/asm-x86/bzimage.h @@ -4,10 +4,9 @@ #include #include diff --git a/23575-x86-DMI.patch b/23575-x86-DMI.patch index 19124e2..1f9db41 100644 --- a/23575-x86-DMI.patch +++ b/23575-x86-DMI.patch @@ -12,8 +12,10 @@ another prerequisite for native EFI booting support. Signed-off-by: Jan Beulich ---- a/xen/arch/x86/dmi_scan.c -+++ b/xen/arch/x86/dmi_scan.c +Index: xen-4.1.2-testing/xen/arch/x86/dmi_scan.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/dmi_scan.c ++++ xen-4.1.2-testing/xen/arch/x86/dmi_scan.c @@ -10,11 +10,31 @@ #include #include diff --git a/23610-x86-topology-info.patch b/23610-x86-topology-info.patch index 7925ac2..79c77b4 100644 --- a/23610-x86-topology-info.patch +++ b/23610-x86-topology-info.patch @@ -12,8 +12,10 @@ structure. This is similar to upstream Linux kernel's approach. Signed-off-by: Wei Huang ---- a/xen/arch/x86/cpu/amd.c -+++ b/xen/arch/x86/cpu/amd.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/amd.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/amd.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/amd.c @@ -579,11 +579,11 @@ static void __devinit init_amd(struct cp while ((1 << bits) < c->x86_max_cores) bits++; @@ -29,8 +31,10 @@ Signed-off-by: Wei Huang } #endif ---- a/xen/arch/x86/cpu/common.c -+++ b/xen/arch/x86/cpu/common.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/common.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/common.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/common.c @@ -326,7 +326,7 @@ void __cpuinit generic_identify(struct c early_intel_workaround(c); @@ -119,8 +123,10 @@ Signed-off-by: Wei Huang } } #endif ---- a/xen/arch/x86/cpu/mcheck/mce.c -+++ b/xen/arch/x86/cpu/mcheck/mce.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/mcheck/mce.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce.c @@ -1041,9 +1041,9 @@ void x86_mc_get_cpu_info(unsigned cpu, u if (nthreads != NULL) *nthreads = 1; @@ -133,9 +139,11 @@ Signed-off-by: Wei Huang else *coreid = 0; *threadid = c->apicid & ((1 << (c->x86_num_siblings - 1)) - 1); ---- a/xen/arch/x86/smpboot.c -+++ b/xen/arch/x86/smpboot.c -@@ -52,12 +52,6 @@ +Index: xen-4.1.2-testing/xen/arch/x86/smpboot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/smpboot.c ++++ xen-4.1.2-testing/xen/arch/x86/smpboot.c +@@ -51,12 +51,6 @@ /* Set if we find a B stepping CPU */ static int smp_b_stepping; @@ -148,7 +156,7 @@ Signed-off-by: Wei Huang /* representing HT siblings of each logical CPU */ DEFINE_PER_CPU_READ_MOSTLY(cpumask_t, cpu_sibling_map); /* representing HT and core siblings of each logical CPU */ -@@ -258,8 +252,8 @@ static void set_cpu_sibling_map(int cpu) +@@ -257,8 +251,8 @@ static void set_cpu_sibling_map(int cpu) { for_each_cpu_mask ( i, cpu_sibling_setup_map ) { @@ -159,7 +167,7 @@ Signed-off-by: Wei Huang { cpu_set(i, per_cpu(cpu_sibling_map, cpu)); cpu_set(cpu, per_cpu(cpu_sibling_map, i)); -@@ -282,7 +276,7 @@ static void set_cpu_sibling_map(int cpu) +@@ -281,7 +275,7 @@ static void set_cpu_sibling_map(int cpu) for_each_cpu_mask ( i, cpu_sibling_setup_map ) { @@ -168,7 +176,7 @@ Signed-off-by: Wei Huang { cpu_set(i, per_cpu(cpu_core_map, cpu)); cpu_set(cpu, per_cpu(cpu_core_map, i)); -@@ -843,8 +837,8 @@ remove_siblinginfo(int cpu) +@@ -842,8 +836,8 @@ remove_siblinginfo(int cpu) cpu_clear(cpu, per_cpu(cpu_sibling_map, sibling)); cpus_clear(per_cpu(cpu_sibling_map, cpu)); cpus_clear(per_cpu(cpu_core_map, cpu)); @@ -179,8 +187,10 @@ Signed-off-by: Wei Huang cpu_clear(cpu, cpu_sibling_setup_map); } ---- a/xen/include/asm-x86/processor.h -+++ b/xen/include/asm-x86/processor.h +Index: xen-4.1.2-testing/xen/include/asm-x86/processor.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/processor.h ++++ xen-4.1.2-testing/xen/include/asm-x86/processor.h @@ -175,6 +175,8 @@ struct cpuinfo_x86 { __u32 x86_max_cores; /* cpuid returned max cores value */ __u32 booted_cores; /* number of cores as seen by OS */ diff --git a/23611-amd-fam15-topology.patch b/23611-amd-fam15-topology.patch index 057f42c..d507127 100644 --- a/23611-amd-fam15-topology.patch +++ b/23611-amd-fam15-topology.patch @@ -16,8 +16,10 @@ stored in the sibling map in Xen hypervisor. Signed-off-by: Wei Huang ---- a/xen/arch/x86/cpu/amd.c -+++ b/xen/arch/x86/cpu/amd.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/amd.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/amd.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/amd.c @@ -344,6 +344,49 @@ static void check_syscfg_dram_mod_en(voi wrmsrl(MSR_K8_SYSCFG, syscfg); } @@ -96,8 +98,10 @@ Signed-off-by: Wei Huang /* Pointless to use MWAIT on Family10 as it does not deep sleep. */ if (c->x86 >= 0x10 && !force_mwait) ---- a/xen/arch/x86/cpu/common.c -+++ b/xen/arch/x86/cpu/common.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/common.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/common.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/common.c @@ -364,6 +364,7 @@ void __cpuinit identify_cpu(struct cpuin c->x86_clflush_size = 0; c->phys_proc_id = BAD_APICID; @@ -106,9 +110,11 @@ Signed-off-by: Wei Huang memset(&c->x86_capability, 0, sizeof c->x86_capability); if (!have_cpuid_p()) { ---- a/xen/arch/x86/smpboot.c -+++ b/xen/arch/x86/smpboot.c -@@ -241,6 +241,14 @@ static int booting_cpu; +Index: xen-4.1.2-testing/xen/arch/x86/smpboot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/smpboot.c ++++ xen-4.1.2-testing/xen/arch/x86/smpboot.c +@@ -240,6 +240,14 @@ static int booting_cpu; /* CPUs for which sibling maps can be computed. */ static cpumask_t cpu_sibling_setup_map; @@ -123,7 +129,7 @@ Signed-off-by: Wei Huang static void set_cpu_sibling_map(int cpu) { int i; -@@ -252,13 +260,13 @@ static void set_cpu_sibling_map(int cpu) +@@ -251,13 +259,13 @@ static void set_cpu_sibling_map(int cpu) { for_each_cpu_mask ( i, cpu_sibling_setup_map ) { @@ -144,7 +150,7 @@ Signed-off-by: Wei Huang } } } -@@ -839,6 +847,7 @@ remove_siblinginfo(int cpu) +@@ -838,6 +846,7 @@ remove_siblinginfo(int cpu) cpus_clear(per_cpu(cpu_core_map, cpu)); c[cpu].phys_proc_id = BAD_APICID; c[cpu].cpu_core_id = BAD_APICID; @@ -152,8 +158,10 @@ Signed-off-by: Wei Huang cpu_clear(cpu, cpu_sibling_setup_map); } ---- a/xen/include/asm-x86/processor.h -+++ b/xen/include/asm-x86/processor.h +Index: xen-4.1.2-testing/xen/include/asm-x86/processor.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/processor.h ++++ xen-4.1.2-testing/xen/include/asm-x86/processor.h @@ -175,9 +175,10 @@ struct cpuinfo_x86 { __u32 x86_max_cores; /* cpuid returned max cores value */ __u32 booted_cores; /* number of cores as seen by OS */ diff --git a/23613-EFI-headers.patch b/23613-EFI-headers.patch index 1e02f66..c82ed9d 100644 --- a/23613-EFI-headers.patch +++ b/23613-EFI-headers.patch @@ -11,8 +11,10 @@ Taken from gnu-efi-3.0k (slightly edited). Signed-off-by: Jan Beulich +Index: xen-4.1.2-testing/xen/include/asm-x86/efibind.h +=================================================================== --- /dev/null -+++ b/xen/include/asm-x86/efibind.h ++++ xen-4.1.2-testing/xen/include/asm-x86/efibind.h @@ -0,0 +1,6 @@ +#include +#if defined(__i386__) @@ -20,8 +22,10 @@ Signed-off-by: Jan Beulich +#elif defined(__x86_64__) +# include +#endif +Index: xen-4.1.2-testing/xen/include/asm-x86/x86_64/efibind.h +=================================================================== --- /dev/null -+++ b/xen/include/asm-x86/x86_64/efibind.h ++++ xen-4.1.2-testing/xen/include/asm-x86/x86_64/efibind.h @@ -0,0 +1,276 @@ +/*++ + @@ -299,8 +303,10 @@ Signed-off-by: Jan Beulich +#pragma warning ( disable : 4731 ) // Suppress warnings about modification of EBP +#endif + +Index: xen-4.1.2-testing/xen/include/efi/efiapi.h +=================================================================== --- /dev/null -+++ b/xen/include/efi/efiapi.h ++++ xen-4.1.2-testing/xen/include/efi/efiapi.h @@ -0,0 +1,718 @@ +#ifndef _EFI_API_H +#define _EFI_API_H @@ -1020,8 +1026,10 @@ Signed-off-by: Jan Beulich + +#endif + +Index: xen-4.1.2-testing/xen/include/efi/eficon.h +=================================================================== --- /dev/null -+++ b/xen/include/efi/eficon.h ++++ xen-4.1.2-testing/xen/include/efi/eficon.h @@ -0,0 +1,302 @@ +#ifndef _EFI_CON_H +#define _EFI_CON_H @@ -1325,8 +1333,10 @@ Signed-off-by: Jan Beulich + +#endif + +Index: xen-4.1.2-testing/xen/include/efi/efidef.h +=================================================================== --- /dev/null -+++ b/xen/include/efi/efidef.h ++++ xen-4.1.2-testing/xen/include/efi/efidef.h @@ -0,0 +1,196 @@ +#ifndef _EFI_DEF_H +#define _EFI_DEF_H @@ -1524,8 +1534,10 @@ Signed-off-by: Jan Beulich + ( ((a) >> EFI_PAGE_SHIFT) + ((a) & EFI_PAGE_MASK ? 1 : 0) ) + +#endif +Index: xen-4.1.2-testing/xen/include/efi/efidevp.h +=================================================================== --- /dev/null -+++ b/xen/include/efi/efidevp.h ++++ xen-4.1.2-testing/xen/include/efi/efidevp.h @@ -0,0 +1,402 @@ +#ifndef _DEVPATH_H +#define _DEVPATH_H @@ -1929,8 +1941,10 @@ Signed-off-by: Jan Beulich + + +#endif +Index: xen-4.1.2-testing/xen/include/efi/efierr.h +=================================================================== --- /dev/null -+++ b/xen/include/efi/efierr.h ++++ xen-4.1.2-testing/xen/include/efi/efierr.h @@ -0,0 +1,60 @@ +#ifndef _EFI_ERR_H +#define _EFI_ERR_H @@ -1992,8 +2006,10 @@ Signed-off-by: Jan Beulich + +#endif + +Index: xen-4.1.2-testing/xen/include/efi/efiprot.h +=================================================================== --- /dev/null -+++ b/xen/include/efi/efiprot.h ++++ xen-4.1.2-testing/xen/include/efi/efiprot.h @@ -0,0 +1,728 @@ +#ifndef _EFI_PROT_H +#define _EFI_PROT_H diff --git a/23614-x86_64-EFI-boot.patch b/23614-x86_64-EFI-boot.patch index c719d44..44fa199 100644 --- a/23614-x86_64-EFI-boot.patch +++ b/23614-x86_64-EFI-boot.patch @@ -59,8 +59,10 @@ corrupt other data. Signed-off-by: Jan Beulich ---- a/xen/Makefile -+++ b/xen/Makefile +Index: xen-4.1.2-testing/xen/Makefile +=================================================================== +--- xen-4.1.2-testing.orig/xen/Makefile ++++ xen-4.1.2-testing/xen/Makefile @@ -11,6 +11,8 @@ export XEN_DOMAIN ?= $(shell ([ -x /bin/ export BASEDIR := $(CURDIR) @@ -89,8 +91,10 @@ Signed-off-by: Jan Beulich .PHONY: _debug _debug: ---- a/xen/arch/x86/Makefile -+++ b/xen/arch/x86/Makefile +Index: xen-4.1.2-testing/xen/arch/x86/Makefile +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/Makefile ++++ xen-4.1.2-testing/xen/arch/x86/Makefile @@ -61,14 +61,21 @@ obj-$(crash_debug) += gdbstub.o x86_emulate.o: x86_emulate/x86_emulate.c x86_emulate/x86_emulate.h @@ -178,8 +182,10 @@ Signed-off-by: Jan Beulich rm -f $(BASEDIR)/.xen-syms.[0-9]* boot/.*.d + rm -f $(BASEDIR)/.xen.efi.[0-9]* efi/*.o efi/mkreloc rm -f boot/reloc.S boot/reloc.lnk boot/reloc.bin ---- a/xen/arch/x86/boot/trampoline.S -+++ b/xen/arch/x86/boot/trampoline.S +Index: xen-4.1.2-testing/xen/arch/x86/boot/trampoline.S +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/boot/trampoline.S ++++ xen-4.1.2-testing/xen/arch/x86/boot/trampoline.S @@ -38,6 +38,7 @@ trampoline_gdt: .long 0x0000ffff | ((BOOT_TRAMPOLINE & 0x00ffff) << 16) .long 0x00009200 | ((BOOT_TRAMPOLINE & 0xff0000) >> 16) @@ -188,8 +194,10 @@ Signed-off-by: Jan Beulich cpuid_ext_features: .long 0 ---- a/xen/arch/x86/boot/x86_64.S -+++ b/xen/arch/x86/boot/x86_64.S +Index: xen-4.1.2-testing/xen/arch/x86/boot/x86_64.S +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/boot/x86_64.S ++++ xen-4.1.2-testing/xen/arch/x86/boot/x86_64.S @@ -84,11 +84,13 @@ multiboot_ptr: .long 0 @@ -204,8 +212,10 @@ Signed-off-by: Jan Beulich idt_descr: .word 256*16-1 .quad idt_table ---- a/xen/arch/x86/dmi_scan.c -+++ b/xen/arch/x86/dmi_scan.c +Index: xen-4.1.2-testing/xen/arch/x86/dmi_scan.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/dmi_scan.c ++++ xen-4.1.2-testing/xen/arch/x86/dmi_scan.c @@ -9,6 +9,7 @@ #include #include @@ -305,8 +315,10 @@ Signed-off-by: Jan Beulich dmi_check_system(dmi_blacklist); else printk(KERN_INFO "DMI not present.\n"); +Index: xen-4.1.2-testing/xen/arch/x86/efi/Makefile +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/Makefile ++++ xen-4.1.2-testing/xen/arch/x86/efi/Makefile @@ -0,0 +1,17 @@ +CFLAGS += -fshort-wchar -mno-sse + @@ -325,8 +337,10 @@ Signed-off-by: Jan Beulich + +clean:: + rm -f disabled *.efi +Index: xen-4.1.2-testing/xen/arch/x86/efi/boot.c +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/boot.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/boot.c @@ -0,0 +1,1221 @@ +#include "efi.h" +#include @@ -1549,15 +1563,19 @@ Signed-off-by: Jan Beulich + mdesc_ver, efi_memmap); +#endif +} +Index: xen-4.1.2-testing/xen/arch/x86/efi/check.c +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/check.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/check.c @@ -0,0 +1,4 @@ +int __attribute__((__ms_abi__)) test(int i) +{ + return i; +} +Index: xen-4.1.2-testing/xen/arch/x86/efi/compat.c +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/compat.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/compat.c @@ -0,0 +1,16 @@ +#include +#include @@ -1575,8 +1593,10 @@ Signed-off-by: Jan Beulich +#undef __copy_to_guest_offset +#define __copy_to_guest_offset __copy_to_compat_offset +#include "runtime.c" +Index: xen-4.1.2-testing/xen/arch/x86/efi/efi.h +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/efi.h ++++ xen-4.1.2-testing/xen/arch/x86/efi/efi.h @@ -0,0 +1,18 @@ +#include +#include @@ -1596,8 +1616,10 @@ Signed-off-by: Jan Beulich + +extern UINTN efi_memmap_size, efi_mdesc_size; +extern void *efi_memmap; +Index: xen-4.1.2-testing/xen/arch/x86/efi/mkreloc.c +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/mkreloc.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/mkreloc.c @@ -0,0 +1,377 @@ +#include +#include @@ -1976,8 +1998,10 @@ Signed-off-by: Jan Beulich + + return 0; +} +Index: xen-4.1.2-testing/xen/arch/x86/efi/relocs-dummy.S +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/relocs-dummy.S ++++ xen-4.1.2-testing/xen/arch/x86/efi/relocs-dummy.S @@ -0,0 +1,13 @@ +#include + @@ -1992,8 +2016,10 @@ Signed-off-by: Jan Beulich + .globl VIRT_START, ALT_START + .equ VIRT_START, XEN_VIRT_START + .equ ALT_START, XEN_VIRT_END +Index: xen-4.1.2-testing/xen/arch/x86/efi/runtime.c +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/runtime.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/runtime.c @@ -0,0 +1,88 @@ +#include "efi.h" +#include @@ -2083,8 +2109,10 @@ Signed-off-by: Jan Beulich + + return 0; +} +Index: xen-4.1.2-testing/xen/arch/x86/efi/stub.c +=================================================================== --- /dev/null -+++ b/xen/arch/x86/efi/stub.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/stub.c @@ -0,0 +1,17 @@ +#include +#include @@ -2103,8 +2131,10 @@ Signed-off-by: Jan Beulich + +int efi_compat_get_info(uint32_t idx, union compat_pf_efi_info *) + __attribute__((__alias__("efi_get_info"))); ---- a/xen/arch/x86/mm.c -+++ b/xen/arch/x86/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/mm.c @@ -100,6 +100,7 @@ #include #include @@ -2122,8 +2152,10 @@ Signed-off-by: Jan Beulich mem_sharing_init(); } ---- a/xen/arch/x86/platform_hypercall.c -+++ b/xen/arch/x86/platform_hypercall.c +Index: xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/platform_hypercall.c ++++ xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c @@ -19,6 +19,7 @@ #include #include @@ -2147,8 +2179,10 @@ Signed-off-by: Jan Beulich default: ret = -EINVAL; break; ---- a/xen/arch/x86/setup.c -+++ b/xen/arch/x86/setup.c +Index: xen-4.1.2-testing/xen/arch/x86/setup.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/setup.c ++++ xen-4.1.2-testing/xen/arch/x86/setup.c @@ -7,6 +7,7 @@ #include #include @@ -2229,8 +2263,10 @@ Signed-off-by: Jan Beulich #endif /* Late kexec reservation (dynamic start address). */ ---- a/xen/arch/x86/x86_32/mm.c -+++ b/xen/arch/x86/x86_32/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c @@ -34,8 +34,6 @@ l2_pgentry_t __attribute__ ((__section__ (".bss.page_aligned"))) idle_pg_table_l2[4 * L2_PAGETABLE_ENTRIES]; @@ -2240,8 +2276,10 @@ Signed-off-by: Jan Beulich unsigned int __read_mostly PAGE_HYPERVISOR = __PAGE_HYPERVISOR; unsigned int __read_mostly PAGE_HYPERVISOR_NOCACHE = __PAGE_HYPERVISOR_NOCACHE; ---- a/xen/arch/x86/x86_64/mm.c -+++ b/xen/arch/x86/x86_64/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c @@ -21,6 +21,7 @@ #include #include @@ -2260,8 +2298,10 @@ Signed-off-by: Jan Beulich } void *compat_arg_xlat_virt_base(void) ---- a/xen/arch/x86/x86_64/platform_hypercall.c -+++ b/xen/arch/x86/x86_64/platform_hypercall.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/platform_hypercall.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/platform_hypercall.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/platform_hypercall.c @@ -11,6 +11,8 @@ DEFINE_XEN_GUEST_HANDLE(compat_platform_ #define xen_platform_op_t compat_platform_op_t #define do_platform_op(x) compat_platform_op(_##x) @@ -2271,8 +2311,10 @@ Signed-off-by: Jan Beulich #define xen_processor_px compat_processor_px #define xen_processor_px_t compat_processor_px_t #define xen_processor_performance compat_processor_performance ---- a/xen/arch/x86/xen.lds.S -+++ b/xen/arch/x86/xen.lds.S +Index: xen-4.1.2-testing/xen/arch/x86/xen.lds.S +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/xen.lds.S ++++ xen-4.1.2-testing/xen/arch/x86/xen.lds.S @@ -8,15 +8,34 @@ #undef ENTRY #undef ALIGN @@ -2342,8 +2384,10 @@ Signed-off-by: Jan Beulich } /* Stabs debugging sections. */ ---- a/xen/drivers/acpi/osl.c -+++ b/xen/drivers/acpi/osl.c +Index: xen-4.1.2-testing/xen/drivers/acpi/osl.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/drivers/acpi/osl.c ++++ xen-4.1.2-testing/xen/drivers/acpi/osl.c @@ -37,9 +37,7 @@ #include #include @@ -2374,8 +2418,10 @@ Signed-off-by: Jan Beulich acpi_physical_address pa = 0; acpi_find_root_pointer(&pa); ---- a/xen/drivers/video/vga.c -+++ b/xen/drivers/video/vga.c +Index: xen-4.1.2-testing/xen/drivers/video/vga.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/drivers/video/vga.c ++++ xen-4.1.2-testing/xen/drivers/video/vga.c @@ -89,6 +89,7 @@ void __init vga_init(void) vga_puts = vga_text_puts; break; @@ -2392,8 +2438,10 @@ Signed-off-by: Jan Beulich vesa_endboot(vgacon_keep); break; default: ---- a/xen/include/asm-x86/page.h -+++ b/xen/include/asm-x86/page.h +Index: xen-4.1.2-testing/xen/include/asm-x86/page.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/page.h ++++ xen-4.1.2-testing/xen/include/asm-x86/page.h @@ -301,8 +301,14 @@ extern l2_pgentry_t idle_pg_table_l2[ #elif CONFIG_PAGING_LEVELS == 4 extern l2_pgentry_t *compat_idle_pg_table_l2; @@ -2409,8 +2457,10 @@ Signed-off-by: Jan Beulich void paging_init(void); void setup_idle_pagetable(void); #endif /* !defined(__ASSEMBLY__) */ ---- a/xen/include/public/platform.h -+++ b/xen/include/public/platform.h +Index: xen-4.1.2-testing/xen/include/public/platform.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/public/platform.h ++++ xen-4.1.2-testing/xen/include/public/platform.h @@ -118,6 +118,11 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_platform_q #define XEN_FW_DISK_INFO 1 /* from int 13 AH=08/41/48 */ #define XEN_FW_DISK_MBR_SIGNATURE 2 /* from MBR offset 0x1b8 */ @@ -2448,8 +2498,10 @@ Signed-off-by: Jan Beulich } u; }; typedef struct xenpf_firmware_info xenpf_firmware_info_t; ---- a/xen/include/public/xen.h -+++ b/xen/include/public/xen.h +Index: xen-4.1.2-testing/xen/include/public/xen.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/public/xen.h ++++ xen-4.1.2-testing/xen/include/public/xen.h @@ -638,6 +638,7 @@ typedef struct dom0_vga_console_info { uint8_t video_type; /* DOM0_VGA_CONSOLE_??? */ #define XEN_VGATYPE_TEXT_MODE_3 0x03 @@ -2458,8 +2510,10 @@ Signed-off-by: Jan Beulich union { struct { ---- a/xen/include/xen/compat.h -+++ b/xen/include/xen/compat.h +Index: xen-4.1.2-testing/xen/include/xen/compat.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xen/compat.h ++++ xen-4.1.2-testing/xen/include/xen/compat.h @@ -34,7 +34,7 @@ /* Cast a compat handle to the specified type of handle. */ #define compat_handle_cast(chnd, type) ({ \ @@ -2469,8 +2523,10 @@ Signed-off-by: Jan Beulich }) #define guest_from_compat_handle(ghnd, chnd) \ ---- a/xen/include/xen/dmi.h -+++ b/xen/include/xen/dmi.h +Index: xen-4.1.2-testing/xen/include/xen/dmi.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xen/dmi.h ++++ xen-4.1.2-testing/xen/include/xen/dmi.h @@ -36,5 +36,6 @@ extern int dmi_check_system(struct dmi_s extern char * dmi_get_system_info(int field); extern void dmi_scan_machine(void); @@ -2478,8 +2534,10 @@ Signed-off-by: Jan Beulich +extern void dmi_efi_get_table(void *); #endif /* __DMI_H__ */ +Index: xen-4.1.2-testing/xen/include/xen/efi.h +=================================================================== --- /dev/null -+++ b/xen/include/xen/efi.h ++++ xen-4.1.2-testing/xen/include/xen/efi.h @@ -0,0 +1,38 @@ +#ifndef __XEN_EFI_H__ +#define __XEN_EFI_H__ diff --git a/23615-x86_64-EFI-runtime.patch b/23615-x86_64-EFI-runtime.patch index 428dd85..171adb6 100644 --- a/23615-x86_64-EFI-runtime.patch +++ b/23615-x86_64-EFI-runtime.patch @@ -44,8 +44,10 @@ through efi_halt_system()) does. Signed-off-by: Jan Beulich ---- a/xen/arch/x86/efi/boot.c -+++ b/xen/arch/x86/efi/boot.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/boot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/boot.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/boot.c @@ -16,6 +16,7 @@ #include #include @@ -157,8 +159,10 @@ Signed-off-by: Jan Beulich + efi_l4_pgtable[i] = idle_pg_table[i]; #endif } ---- a/xen/arch/x86/efi/compat.c -+++ b/xen/arch/x86/efi/compat.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/compat.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/compat.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/compat.c @@ -4,13 +4,27 @@ #define efi_get_info efi_compat_get_info #define xenpf_efi_info compat_pf_efi_info @@ -187,8 +191,10 @@ Signed-off-by: Jan Beulich #undef __copy_to_guest_offset #define __copy_to_guest_offset __copy_to_compat_offset #include "runtime.c" ---- a/xen/arch/x86/efi/efi.h -+++ b/xen/arch/x86/efi/efi.h +Index: xen-4.1.2-testing/xen/arch/x86/efi/efi.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/efi.h ++++ xen-4.1.2-testing/xen/arch/x86/efi/efi.h @@ -5,6 +5,8 @@ #include #include @@ -207,8 +213,10 @@ Signed-off-by: Jan Beulich + +unsigned long efi_rs_enter(void); +void efi_rs_leave(unsigned long); ---- a/xen/arch/x86/efi/runtime.c -+++ b/xen/arch/x86/efi/runtime.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/runtime.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/runtime.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/runtime.c @@ -2,6 +2,7 @@ #include #include @@ -582,8 +590,10 @@ Signed-off-by: Jan Beulich + + return rc; +} ---- a/xen/arch/x86/efi/stub.c -+++ b/xen/arch/x86/efi/stub.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/stub.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/stub.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/stub.c @@ -1,6 +1,7 @@ #include #include @@ -620,8 +630,10 @@ Signed-off-by: Jan Beulich + +int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *) + __attribute__((__alias__("efi_runtime_call"))); ---- a/xen/arch/x86/platform_hypercall.c -+++ b/xen/arch/x86/platform_hypercall.c +Index: xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/platform_hypercall.c ++++ xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c @@ -309,6 +309,17 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe } break; @@ -640,8 +652,10 @@ Signed-off-by: Jan Beulich case XENPF_enter_acpi_sleep: ret = xsm_acpi_sleep(); if ( ret ) ---- a/xen/arch/x86/shutdown.c -+++ b/xen/arch/x86/shutdown.c +Index: xen-4.1.2-testing/xen/arch/x86/shutdown.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/shutdown.c ++++ xen-4.1.2-testing/xen/arch/x86/shutdown.c @@ -15,6 +15,7 @@ #include #include @@ -659,8 +673,10 @@ Signed-off-by: Jan Beulich /* Rebooting needs to touch the page at absolute address 0. */ *((unsigned short *)__va(0x472)) = reboot_mode; ---- a/xen/arch/x86/time.c -+++ b/xen/arch/x86/time.c +Index: xen-4.1.2-testing/xen/arch/x86/time.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/time.c ++++ xen-4.1.2-testing/xen/arch/x86/time.c @@ -21,6 +21,7 @@ #include #include @@ -683,8 +699,10 @@ Signed-off-by: Jan Beulich spin_lock_irqsave(&rtc_lock, flags); /* read RTC exactly on falling edge of update flag */ ---- a/xen/arch/x86/x86_64/platform_hypercall.c -+++ b/xen/arch/x86/x86_64/platform_hypercall.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/platform_hypercall.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/platform_hypercall.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/platform_hypercall.c @@ -12,6 +12,7 @@ DEFINE_XEN_GUEST_HANDLE(compat_platform_ #define do_platform_op(x) compat_platform_op(_##x) @@ -693,8 +711,10 @@ Signed-off-by: Jan Beulich #define xen_processor_px compat_processor_px #define xen_processor_px_t compat_processor_px_t ---- a/xen/include/public/platform.h -+++ b/xen/include/public/platform.h +Index: xen-4.1.2-testing/xen/include/public/platform.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/public/platform.h ++++ xen-4.1.2-testing/xen/include/public/platform.h @@ -114,6 +114,77 @@ struct xenpf_platform_quirk { typedef struct xenpf_platform_quirk xenpf_platform_quirk_t; DEFINE_XEN_GUEST_HANDLE(xenpf_platform_quirk_t); @@ -781,8 +801,10 @@ Signed-off-by: Jan Beulich struct xenpf_firmware_info firmware_info; struct xenpf_enter_acpi_sleep enter_acpi_sleep; struct xenpf_change_freq change_freq; ---- a/xen/include/xen/efi.h -+++ b/xen/include/xen/efi.h +Index: xen-4.1.2-testing/xen/include/xen/efi.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xen/efi.h ++++ xen-4.1.2-testing/xen/include/xen/efi.h @@ -29,10 +29,18 @@ extern struct efi efi; union xenpf_efi_info; union compat_pf_efi_info; @@ -802,8 +824,10 @@ Signed-off-by: Jan Beulich +int efi_compat_runtime_call(struct compat_pf_efi_runtime_call *); #endif /* __XEN_EFI_H__ */ ---- a/xen/include/xsm/xsm.h -+++ b/xen/include/xsm/xsm.h +Index: xen-4.1.2-testing/xen/include/xsm/xsm.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xsm/xsm.h ++++ xen-4.1.2-testing/xen/include/xsm/xsm.h @@ -131,6 +131,7 @@ struct xsm_operations { int (*physinfo) (void); int (*platform_quirk) (uint32_t); diff --git a/23616-x86_64-EFI-MPS.patch b/23616-x86_64-EFI-MPS.patch index 1ea3742..7c61f49 100644 --- a/23616-x86_64-EFI-MPS.patch +++ b/23616-x86_64-EFI-MPS.patch @@ -21,8 +21,10 @@ x86_32: Fix build after EFI MPS patch. Signed-off-by: Keir Fraser ---- a/xen/arch/x86/efi/boot.c -+++ b/xen/arch/x86/efi/boot.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/boot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/boot.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/boot.c @@ -897,12 +897,15 @@ efi_start(EFI_HANDLE ImageHandle, EFI_SY { static EFI_GUID __initdata acpi2_guid = ACPI_20_TABLE_GUID; @@ -39,8 +41,10 @@ Signed-off-by: Keir Fraser if ( match_guid(&smbios_guid, &efi_ct[i].VendorGuid) ) efi.smbios = (long)efi_ct[i].VendorTable; } ---- a/xen/arch/x86/efi/runtime.c -+++ b/xen/arch/x86/efi/runtime.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/runtime.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/runtime.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/runtime.c @@ -29,6 +29,7 @@ void *__read_mostly efi_memmap; struct efi __read_mostly efi = { .acpi = EFI_INVALID_TABLE_ADDR, @@ -49,8 +53,10 @@ Signed-off-by: Keir Fraser .smbios = EFI_INVALID_TABLE_ADDR, }; ---- a/xen/arch/x86/mpparse.c -+++ b/xen/arch/x86/mpparse.c +Index: xen-4.1.2-testing/xen/arch/x86/mpparse.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mpparse.c ++++ xen-4.1.2-testing/xen/arch/x86/mpparse.c @@ -19,6 +19,8 @@ #include #include @@ -83,7 +89,7 @@ Signed-off-by: Keir Fraser printk(KERN_INFO "Using ACPI (MADT) for SMP configuration information\n"); return; } -@@ -699,6 +709,7 @@ void __init get_smp_config (void) +@@ -699,6 +710,7 @@ void __init get_smp_config (void) * override the defaults. */ if (!smp_read_mpc((void *)(unsigned long)mpf->mpf_physptr)) { @@ -138,8 +144,10 @@ Signed-off-by: Keir Fraser /* * FIXME: Linux assumes you have 640K of base ram.. * this continues the error... ---- a/xen/include/xen/efi.h -+++ b/xen/include/xen/efi.h +Index: xen-4.1.2-testing/xen/include/xen/efi.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xen/efi.h ++++ xen-4.1.2-testing/xen/include/xen/efi.h @@ -17,6 +17,7 @@ extern const bool_t efi_enabled; /* Add fields here only if they need to be referenced from non-EFI code. */ diff --git a/23676-x86_64-image-map-bounds.patch b/23676-x86_64-image-map-bounds.patch index a15a158..2cf47d4 100644 --- a/23676-x86_64-image-map-bounds.patch +++ b/23676-x86_64-image-map-bounds.patch @@ -14,9 +14,11 @@ other pages beyond _end when checking for aliases. Signed-off-by: Jan Beulich ---- a/xen/arch/x86/mm.c -+++ b/xen/arch/x86/mm.c -@@ -776,7 +776,7 @@ static int update_xen_mappings(unsigned +Index: xen-4.1.2-testing/xen/arch/x86/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/mm.c +@@ -776,7 +776,7 @@ static int update_xen_mappings(unsigned int err = 0; #ifdef __x86_64__ bool_t alias = mfn >= PFN_DOWN(xen_phys_start) && @@ -25,8 +27,10 @@ Signed-off-by: Jan Beulich unsigned long xen_va = XEN_VIRT_START + ((mfn - PFN_DOWN(xen_phys_start)) << PAGE_SHIFT); ---- a/xen/arch/x86/setup.c -+++ b/xen/arch/x86/setup.c +Index: xen-4.1.2-testing/xen/arch/x86/setup.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/setup.c ++++ xen-4.1.2-testing/xen/arch/x86/setup.c @@ -99,6 +99,8 @@ unsigned long __read_mostly xen_phys_sta /* Limits of Xen heap, used to initialise the allocator. */ unsigned long __initdata xenheap_initial_phys_start; @@ -46,8 +50,10 @@ Signed-off-by: Jan Beulich #endif memguard_init(); ---- a/xen/include/asm-x86/x86_64/page.h -+++ b/xen/include/asm-x86/x86_64/page.h +Index: xen-4.1.2-testing/xen/include/asm-x86/x86_64/page.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/x86_64/page.h ++++ xen-4.1.2-testing/xen/include/asm-x86/x86_64/page.h @@ -34,6 +34,8 @@ #include #include diff --git a/23685-libxl-segfault-fix.patch b/23685-libxl-segfault-fix.patch index 233b19e..73857b5 100644 --- a/23685-libxl-segfault-fix.patch +++ b/23685-libxl-segfault-fix.patch @@ -16,10 +16,10 @@ want to add a new pci device to the array. Signed-off-by: Stefano Stabellini Committed-by: Ian Jackson -Index: xen-4.1.1-testing/tools/libxl/libxl_pci.c +Index: xen-4.1.2-testing/tools/libxl/libxl_pci.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxl/libxl_pci.c -+++ xen-4.1.1-testing/tools/libxl/libxl_pci.c +--- xen-4.1.2-testing.orig/tools/libxl/libxl_pci.c ++++ xen-4.1.2-testing/tools/libxl/libxl_pci.c @@ -434,7 +434,6 @@ retry_transaction2: static int get_all_assigned_devices(libxl__gc *gc, libxl_device_pci **list, int *num) diff --git a/23706-fix-20892.patch b/23706-fix-20892.patch deleted file mode 100644 index 1c9209b..0000000 --- a/23706-fix-20892.patch +++ /dev/null @@ -1,28 +0,0 @@ -# HG changeset patch -# User Jan Beulich -# Date 1310804301 -3600 -# Node ID 3dd399873c9ef7762f4353f3259e502394f56a34 -# Parent 24e9ca968a2bc09d1aac927fcdbb7b769901d067 -x86: fix guest migration after c/s 20892:d311d1efc25e - -Guests would not manage to run successfully after being migrated to a -host having sufficiently much more memory than the host they were -originally started on. - -Subsequently the plan is to re-enable the changes behavior under the -control of a guest kernel announced feature flag. - -Signed-off-by: Jan Beulich -Acked-by: Ian Campbell - ---- a/xen/arch/x86/mm.c -+++ b/xen/arch/x86/mm.c -@@ -4791,7 +4791,7 @@ long arch_memory_op(int op, XEN_GUEST_HA - .max_mfn = MACH2PHYS_NR_ENTRIES - 1 - }; - -- if ( !mem_hotplug ) -+ if ( !mem_hotplug && current->domain == dom0 ) - mapping.max_mfn = max_page - 1; - if ( copy_to_guest(arg, &mapping, 1) ) - return -EFAULT; diff --git a/23723-x86-CMOS-lock.patch b/23723-x86-CMOS-lock.patch index e7a915d..39b4ef3 100644 --- a/23723-x86-CMOS-lock.patch +++ b/23723-x86-CMOS-lock.patch @@ -18,8 +18,10 @@ for PCI config space method 1 accesses. Signed-off-by: Jan Beulich ---- a/xen/arch/x86/efi/runtime.c -+++ b/xen/arch/x86/efi/runtime.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/runtime.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/runtime.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/runtime.c @@ -3,6 +3,7 @@ #include #include @@ -96,8 +98,10 @@ Signed-off-by: Jan Beulich efi_rs_leave(cr3); op->misc = 0; ---- a/xen/arch/x86/hpet.c -+++ b/xen/arch/x86/hpet.c +Index: xen-4.1.2-testing/xen/arch/x86/hpet.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/hpet.c ++++ xen-4.1.2-testing/xen/arch/x86/hpet.c @@ -525,18 +525,10 @@ static void hpet_detach_channel(int cpu, #include @@ -119,8 +123,10 @@ Signed-off-by: Jan Beulich if ( index != RTC_REG_B ) return; ---- a/xen/arch/x86/traps.c -+++ b/xen/arch/x86/traps.c +Index: xen-4.1.2-testing/xen/arch/x86/traps.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/traps.c ++++ xen-4.1.2-testing/xen/arch/x86/traps.c @@ -67,6 +67,8 @@ #include #include @@ -130,7 +136,7 @@ Signed-off-by: Jan Beulich #include /* -@@ -1620,6 +1622,10 @@ static int admin_io_okay( +@@ -1629,6 +1631,10 @@ static int admin_io_okay( if ( (port == 0xcf8) && (bytes == 4) ) return 0; @@ -141,7 +147,7 @@ Signed-off-by: Jan Beulich return ioports_access_permitted(v->domain, port, port + bytes - 1); } -@@ -1649,6 +1655,21 @@ static uint32_t guest_io_read( +@@ -1658,6 +1664,21 @@ static uint32_t guest_io_read( { sub_data = pv_pit_handler(port, 0, 0); } @@ -163,7 +169,7 @@ Signed-off-by: Jan Beulich else if ( (port == 0xcf8) && (bytes == 4) ) { size = 4; -@@ -1674,8 +1695,6 @@ static uint32_t guest_io_read( +@@ -1683,8 +1704,6 @@ static uint32_t guest_io_read( return data; } @@ -172,7 +178,7 @@ Signed-off-by: Jan Beulich static void guest_io_write( unsigned int port, unsigned int bytes, uint32_t data, struct vcpu *v, struct cpu_user_regs *regs) -@@ -1684,8 +1703,6 @@ static void guest_io_write( +@@ -1693,8 +1712,6 @@ static void guest_io_write( { switch ( bytes ) { case 1: @@ -181,7 +187,7 @@ Signed-off-by: Jan Beulich outb((uint8_t)data, port); if ( pv_post_outb_hook ) pv_post_outb_hook(port, (uint8_t)data); -@@ -1708,6 +1725,23 @@ static void guest_io_write( +@@ -1717,6 +1734,23 @@ static void guest_io_write( { pv_pit_handler(port, (uint8_t)data, 1); } @@ -205,7 +211,7 @@ Signed-off-by: Jan Beulich else if ( (port == 0xcf8) && (bytes == 4) ) { size = 4; -@@ -2073,10 +2107,6 @@ static int emulate_privileged_op(struct +@@ -2082,10 +2116,6 @@ static int emulate_privileged_op(struct goto fail; if ( admin_io_okay(port, op_bytes, v, regs) ) { @@ -216,8 +222,10 @@ Signed-off-by: Jan Beulich io_emul(regs); if ( (op_bytes == 1) && pv_post_outb_hook ) pv_post_outb_hook(port, regs->eax); ---- a/xen/include/asm-x86/domain.h -+++ b/xen/include/asm-x86/domain.h +Index: xen-4.1.2-testing/xen/include/asm-x86/domain.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/domain.h ++++ xen-4.1.2-testing/xen/include/asm-x86/domain.h @@ -251,6 +251,7 @@ struct arch_domain /* I/O-port admin-specified access capabilities. */ struct rangeset *ioport_caps; @@ -226,8 +234,10 @@ Signed-off-by: Jan Beulich struct list_head pdev_list; struct hvm_domain hvm_domain; ---- a/xen/include/asm-x86/hpet.h -+++ b/xen/include/asm-x86/hpet.h +Index: xen-4.1.2-testing/xen/include/asm-x86/hpet.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/hpet.h ++++ xen-4.1.2-testing/xen/include/asm-x86/hpet.h @@ -52,6 +52,7 @@ #define HPET_TN_FSB_CAP 0x8000 #define HPET_TN_ROUTE_SHIFT 9 @@ -236,8 +246,10 @@ Signed-off-by: Jan Beulich #define hpet_read32(x) \ (*(volatile u32 *)(fix_to_virt(FIX_HPET_BASE) + (x))) ---- a/xen/include/asm-x86/mach-default/smpboot_hooks.h -+++ b/xen/include/asm-x86/mach-default/smpboot_hooks.h +Index: xen-4.1.2-testing/xen/include/asm-x86/mach-default/smpboot_hooks.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/mach-default/smpboot_hooks.h ++++ xen-4.1.2-testing/xen/include/asm-x86/mach-default/smpboot_hooks.h @@ -3,7 +3,11 @@ static inline void smpboot_setup_warm_reset_vector(unsigned long start_eip) diff --git a/23724-x86-smpboot-x2apic.patch b/23724-x86-smpboot-x2apic.patch index 4ca49a7..c490ec6 100644 --- a/23724-x86-smpboot-x2apic.patch +++ b/23724-x86-smpboot-x2apic.patch @@ -12,9 +12,11 @@ removing them makes AP bringup much more reliable on some test boxes. Signed-off-by: Tim Deegan ---- a/xen/arch/x86/smpboot.c -+++ b/xen/arch/x86/smpboot.c -@@ -448,29 +448,30 @@ static int wakeup_secondary_cpu(int phys +Index: xen-4.1.2-testing/xen/arch/x86/smpboot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/smpboot.c ++++ xen-4.1.2-testing/xen/arch/x86/smpboot.c +@@ -447,29 +447,30 @@ static int wakeup_secondary_cpu(int phys apic_icr_write(APIC_INT_LEVELTRIG | APIC_INT_ASSERT | APIC_DM_INIT, phys_apicid); @@ -62,20 +64,15 @@ Signed-off-by: Tim Deegan /* * Should we send STARTUP IPIs ? -@@ -499,22 +500,24 @@ static int wakeup_secondary_cpu(int phys +@@ -498,22 +499,24 @@ static int wakeup_secondary_cpu(int phys */ apic_icr_write(APIC_DM_STARTUP | (start_eip >> 12), phys_apicid); - /* Give the other CPU some time to accept the IPI. */ - udelay(300); -+ if ( !x2apic_enabled ) -+ { -+ /* Give the other CPU some time to accept the IPI. */ -+ udelay(300); - +- - Dprintk("Startup point 1.\n"); -+ Dprintk("Startup point 1.\n"); - +- - Dprintk("Waiting for send to finish...\n"); - timeout = 0; - do { @@ -84,6 +81,16 @@ Signed-off-by: Tim Deegan - if ( !x2apic_enabled ) - send_status = apic_read(APIC_ICR) & APIC_ICR_BUSY; - } while ( send_status && (timeout++ < 1000) ); +- +- /* Give the other CPU some time to accept the IPI. */ +- udelay(200); ++ if ( !x2apic_enabled ) ++ { ++ /* Give the other CPU some time to accept the IPI. */ ++ udelay(300); ++ ++ Dprintk("Startup point 1.\n"); ++ + Dprintk("Waiting for send to finish...\n"); + timeout = 0; + do { @@ -91,9 +98,7 @@ Signed-off-by: Tim Deegan + udelay(100); + send_status = apic_read(APIC_ICR) & APIC_ICR_BUSY; + } while ( send_status && (timeout++ < 1000) ); - -- /* Give the other CPU some time to accept the IPI. */ -- udelay(200); ++ + /* Give the other CPU some time to accept the IPI. */ + udelay(200); + } diff --git a/23725-pci-add-device.patch b/23725-pci-add-device.patch deleted file mode 100644 index f710960..0000000 --- a/23725-pci-add-device.patch +++ /dev/null @@ -1,174 +0,0 @@ -# HG changeset patch -# User Jan Beulich -# Date 1311081248 -3600 -# Node ID 4dc6a9ba90d60fdf0cc0898fc9a8fe84ae9030fc -# Parent b3434f24b0827c5ef34e4b4a72893288e2ffbe40 -PCI: consolidate interface for adding devices - -The functionality of pci_add_device_ext() can be easily folded into -pci_add_device(), and eliminates the need to change two functions for -future adjustments. - -Signed-off-by: Jan Beulich - ---- a/xen/arch/ia64/xen/hypercall.c -+++ b/xen/arch/ia64/xen/hypercall.c -@@ -662,8 +662,8 @@ long do_physdev_op(int cmd, XEN_GUEST_HA - if ( copy_from_guest(&manage_pci, arg, 1) != 0 ) - break; - -- ret = pci_add_device(manage_pci.bus, manage_pci.devfn); -- break; -+ ret = pci_add_device(manage_pci.bus, manage_pci.devfn, NULL); -+ break; - } - - case PHYSDEVOP_manage_pci_remove: { -@@ -695,10 +695,10 @@ long do_physdev_op(int cmd, XEN_GUEST_HA - pdev_info.is_virtfn = manage_pci_ext.is_virtfn; - pdev_info.physfn.bus = manage_pci_ext.physfn.bus; - pdev_info.physfn.devfn = manage_pci_ext.physfn.devfn; -- ret = pci_add_device_ext(manage_pci_ext.bus, -- manage_pci_ext.devfn, -- &pdev_info); -- break; -+ ret = pci_add_device(manage_pci_ext.bus, -+ manage_pci_ext.devfn, -+ &pdev_info); -+ break; - } - - default: ---- a/xen/arch/x86/physdev.c -+++ b/xen/arch/x86/physdev.c -@@ -472,7 +472,7 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H - if ( copy_from_guest(&manage_pci, arg, 1) != 0 ) - break; - -- ret = pci_add_device(manage_pci.bus, manage_pci.devfn); -+ ret = pci_add_device(manage_pci.bus, manage_pci.devfn, NULL); - break; - } - -@@ -509,9 +509,9 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H - pdev_info.is_virtfn = manage_pci_ext.is_virtfn; - pdev_info.physfn.bus = manage_pci_ext.physfn.bus; - pdev_info.physfn.devfn = manage_pci_ext.physfn.devfn; -- ret = pci_add_device_ext(manage_pci_ext.bus, -- manage_pci_ext.devfn, -- &pdev_info); -+ ret = pci_add_device(manage_pci_ext.bus, -+ manage_pci_ext.devfn, -+ &pdev_info); - break; - } - ---- a/xen/drivers/passthrough/pci.c -+++ b/xen/drivers/passthrough/pci.c -@@ -142,16 +142,29 @@ void pci_enable_acs(struct pci_dev *pdev - pci_conf_write16(bus, dev, func, pos + PCI_ACS_CTRL, ctrl); - } - --int pci_add_device(u8 bus, u8 devfn) -+int pci_add_device(u8 bus, u8 devfn, const struct pci_dev_info *info) - { - struct pci_dev *pdev; -+ const char *pdev_type; - int ret = -ENOMEM; - -+ if (!info) -+ pdev_type = "device"; -+ else if (info->is_extfn) -+ pdev_type = "extended function"; -+ else if (info->is_virtfn) -+ pdev_type = "virtual function"; -+ else -+ return -EINVAL; -+ - spin_lock(&pcidevs_lock); - pdev = alloc_pdev(bus, devfn); - if ( !pdev ) - goto out; - -+ if ( info ) -+ pdev->info = *info; -+ - ret = 0; - if ( !pdev->domain ) - { -@@ -169,8 +182,8 @@ int pci_add_device(u8 bus, u8 devfn) - - out: - spin_unlock(&pcidevs_lock); -- printk(XENLOG_DEBUG "PCI add device %02x:%02x.%x\n", bus, -- PCI_SLOT(devfn), PCI_FUNC(devfn)); -+ printk(XENLOG_DEBUG "PCI add %s %02x:%02x.%x\n", pdev_type, -+ bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); - return ret; - } - -@@ -197,51 +210,6 @@ int pci_remove_device(u8 bus, u8 devfn) - return ret; - } - --int pci_add_device_ext(u8 bus, u8 devfn, struct pci_dev_info *info) --{ -- int ret; -- char *pdev_type; -- struct pci_dev *pdev; -- -- if (info->is_extfn) -- pdev_type = "Extended Function"; -- else if (info->is_virtfn) -- pdev_type = "Virtual Function"; -- else -- return -EINVAL; -- -- -- ret = -ENOMEM; -- spin_lock(&pcidevs_lock); -- pdev = alloc_pdev(bus, devfn); -- if ( !pdev ) -- goto out; -- -- pdev->info = *info; -- -- ret = 0; -- if ( !pdev->domain ) -- { -- pdev->domain = dom0; -- ret = iommu_add_device(pdev); -- if ( ret ) -- { -- pdev->domain = NULL; -- goto out; -- } -- -- list_add(&pdev->domain_list, &dom0->arch.pdev_list); -- pci_enable_acs(pdev); -- } -- --out: -- spin_unlock(&pcidevs_lock); -- printk(XENLOG_DEBUG "PCI add %s %02x:%02x.%x\n", pdev_type, -- bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); -- -- return ret; --} -- - static void pci_clean_dpci_irqs(struct domain *d) - { - struct hvm_irq_dpci *hvm_irq_dpci = NULL; ---- a/xen/include/xen/pci.h -+++ b/xen/include/xen/pci.h -@@ -86,9 +86,8 @@ struct pci_dev *pci_lock_pdev(int bus, i - struct pci_dev *pci_lock_domain_pdev(struct domain *d, int bus, int devfn); - - void pci_release_devices(struct domain *d); --int pci_add_device(u8 bus, u8 devfn); -+int pci_add_device(u8 bus, u8 devfn, const struct pci_dev_info *); - int pci_remove_device(u8 bus, u8 devfn); --int pci_add_device_ext(u8 bus, u8 devfn, struct pci_dev_info *info); - struct pci_dev *pci_get_pdev(int bus, int devfn); - struct pci_dev *pci_get_pdev_by_domain(struct domain *d, int bus, int devfn); - diff --git a/23726-x86-intel-flexmigration.patch b/23726-x86-intel-flexmigration.patch deleted file mode 100644 index f7cef73..0000000 --- a/23726-x86-intel-flexmigration.patch +++ /dev/null @@ -1,128 +0,0 @@ -# HG changeset patch -# User Jan Beulich -# Date 1311081291 -3600 -# Node ID fd97ca086df6808bffc6ecf3f79cebca64c60bc3 -# Parent 4dc6a9ba90d60fdf0cc0898fc9a8fe84ae9030fc -x86: update Intel CPUID masking code to latest spec - -..., which adds masking of the xsave feature leaf. - -Also add back (and fix to actually make it do what it was supposed to -do from the beginning) the printing of what specific masking couldn't -be done in case the user requested something the hardware doesn't -support. - -Signed-off-by: Jan Beulich - -# HG changeset patch -# User Jan Beulich -# Date 1311255291 -3600 -# Node ID 48f72b389b04cfa8d44924577a69ed59e48fbe77 -# Parent dd5eecf739d152fb16bd44897875ea878d4c9d59 -x86: add change missing in c/s 23726:fd97ca086df6 - -The early "do we need to do anything" check needs adjustment, too. -Thanks to Haitao Shan for pointing this out. - -Signed-off-by: Jan Beulich - ---- a/xen/arch/x86/cpu/common.c -+++ b/xen/arch/x86/cpu/common.c -@@ -27,10 +27,15 @@ boolean_param("noserialnumber", disable_ - - static bool_t __cpuinitdata use_xsave; - boolean_param("xsave", use_xsave); -+ - 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_xsave_eax = ~0u; -+integer_param("cpuid_mask_xsave_eax", opt_cpuid_mask_xsave_eax); -+ - 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; ---- a/xen/arch/x86/cpu/cpu.h -+++ b/xen/arch/x86/cpu/cpu.h -@@ -22,6 +22,7 @@ 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_xsave_eax; - extern unsigned int opt_cpuid_mask_ext_ecx, opt_cpuid_mask_ext_edx; - - extern int get_model_name(struct cpuinfo_x86 *c); ---- a/xen/arch/x86/cpu/intel.c -+++ b/xen/arch/x86/cpu/intel.c -@@ -35,10 +35,12 @@ struct movsl_mask movsl_mask __read_most - */ - static void __devinit set_cpuidmask(const struct cpuinfo_x86 *c) - { -+ u32 eax, edx; - const char *extra = ""; - - if (!~(opt_cpuid_mask_ecx & opt_cpuid_mask_edx & -- opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) -+ opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx & -+ opt_cpuid_mask_xsave_eax)) - return; - - /* Only family 6 supports this feature */ -@@ -51,9 +53,12 @@ static void __devinit set_cpuidmask(cons - 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)) -+ if (~(opt_cpuid_mask_ext_ecx & opt_cpuid_mask_ext_edx)) -+ extra = "extended "; -+ else if (~opt_cpuid_mask_xsave_eax) -+ extra = "xsave "; -+ else - return; -- extra = "extended "; - break; - /* - * CPU supports this feature if the processor signature meets the following: -@@ -73,11 +78,25 @@ static void __devinit set_cpuidmask(cons - wrmsr(MSR_INTEL_CPUID80000001_FEATURE_MASK, - opt_cpuid_mask_ext_ecx, - opt_cpuid_mask_ext_edx); -+ if (!~opt_cpuid_mask_xsave_eax) -+ return; -+ extra = "xsave "; -+ break; -+ case 0x2a: -+ wrmsr(MSR_INTEL_CPUID1_FEATURE_MASK_V2, -+ opt_cpuid_mask_ecx, -+ opt_cpuid_mask_edx); -+ rdmsr(MSR_INTEL_CPUIDD_01_FEATURE_MASK, eax, edx); -+ wrmsr(MSR_INTEL_CPUIDD_01_FEATURE_MASK, -+ opt_cpuid_mask_xsave_eax, edx); -+ wrmsr(MSR_INTEL_CPUID80000001_FEATURE_MASK_V2, -+ opt_cpuid_mask_ext_ecx, -+ opt_cpuid_mask_ext_edx); - return; - } - -- printk(XENLOG_ERR "Cannot set CPU feature mask on CPU#%d\n", -- smp_processor_id()); -+ printk(XENLOG_ERR "Cannot set CPU %sfeature mask on CPU#%d\n", -+ extra, smp_processor_id()); - } - - void __devinit early_intel_workaround(struct cpuinfo_x86 *c) ---- a/xen/include/asm-x86/msr-index.h -+++ b/xen/include/asm-x86/msr-index.h -@@ -161,6 +161,10 @@ - #define MSR_INTEL_CPUID1_FEATURE_MASK 0x00000130 - #define MSR_INTEL_CPUID80000001_FEATURE_MASK 0x00000131 - -+#define MSR_INTEL_CPUID1_FEATURE_MASK_V2 0x00000132 -+#define MSR_INTEL_CPUID80000001_FEATURE_MASK_V2 0x00000133 -+#define MSR_INTEL_CPUIDD_01_FEATURE_MASK 0x00000134 -+ - /* MSRs & bits used for VMX enabling */ - #define MSR_IA32_VMX_BASIC 0x480 - #define MSR_IA32_VMX_PINBASED_CTLS 0x481 diff --git a/23732-sedf.patch b/23732-sedf.patch deleted file mode 100644 index ae283e8..0000000 --- a/23732-sedf.patch +++ /dev/null @@ -1,60 +0,0 @@ -# HG changeset patch -# User George Dunlap -# Date 1311255331 -3600 -# Node ID 3795d79c740b2aa50aacb7bf7e3503862a7b436c -# Parent 48f72b389b04cfa8d44924577a69ed59e48fbe77 -xen: Fix sedf scheduler - -Update the sedf scheduler to be compatible with the most recent -generic scheduler interface changes. - -Signed-off-by: George Dunlap - ---- a/xen/common/sched_sedf.c -+++ b/xen/common/sched_sedf.c -@@ -331,6 +331,19 @@ static inline void __add_to_runqueue_sor - } - - -+static void sedf_insert_vcpu(const struct scheduler *ops, struct vcpu *v) -+{ -+ if ( !is_idle_vcpu(v) ) -+ { -+ extraq_check(v); -+ } -+ else -+ { -+ EDOM_INFO(v)->deadl_abs = 0; -+ EDOM_INFO(v)->status &= ~SEDF_ASLEEP; -+ } -+} -+ - static void *sedf_alloc_vdata(const struct scheduler *ops, struct vcpu *v, void *dd) - { - struct sedf_vcpu_info *inf; -@@ -365,16 +378,6 @@ static void *sedf_alloc_vdata(const stru - INIT_LIST_HEAD(&(inf->list)); - INIT_LIST_HEAD(&(inf->extralist[EXTRA_PEN_Q])); - INIT_LIST_HEAD(&(inf->extralist[EXTRA_UTIL_Q])); -- -- if ( !is_idle_vcpu(v) ) -- { -- extraq_check(v); -- } -- else -- { -- inf->deadl_abs = 0; -- inf->status &= ~SEDF_ASLEEP; -- } - - return inf; - } -@@ -1498,6 +1501,8 @@ const struct scheduler sched_sedf_def = - .init_domain = sedf_init_domain, - .destroy_domain = sedf_destroy_domain, - -+ .insert_vcpu = sedf_insert_vcpu, -+ - .alloc_vdata = sedf_alloc_vdata, - .free_vdata = sedf_free_vdata, - .alloc_pdata = sedf_alloc_pdata, diff --git a/23735-guest-dom0-cap.patch b/23735-guest-dom0-cap.patch index 7b8cb21..cdb0b36 100644 --- a/23735-guest-dom0-cap.patch +++ b/23735-guest-dom0-cap.patch @@ -42,8 +42,10 @@ tests... Signed-off-by: Jan Beulich ---- a/tools/libxc/xc_dom_elfloader.c -+++ b/tools/libxc/xc_dom_elfloader.c +Index: xen-4.1.2-testing/tools/libxc/xc_dom_elfloader.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxc/xc_dom_elfloader.c ++++ xen-4.1.2-testing/tools/libxc/xc_dom_elfloader.c @@ -286,6 +286,13 @@ static int xc_dom_parse_elf_kernel(struc if ( (rc = elf_xen_parse(elf, &dom->parms)) != 0 ) return rc; @@ -58,9 +60,11 @@ Signed-off-by: Jan Beulich /* find kernel segment */ dom->kernel_seg.vstart = dom->parms.virt_kstart; dom->kernel_seg.vend = dom->parms.virt_kend; ---- a/xen/arch/ia64/xen/domain.c -+++ b/xen/arch/ia64/xen/domain.c -@@ -2164,6 +2164,13 @@ int __init construct_dom0(struct domain +Index: xen-4.1.2-testing/xen/arch/ia64/xen/domain.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/ia64/xen/domain.c ++++ xen-4.1.2-testing/xen/arch/ia64/xen/domain.c +@@ -2164,6 +2164,13 @@ int __init construct_dom0(struct domain return -1; } @@ -74,9 +78,11 @@ Signed-off-by: Jan Beulich p_start = parms.virt_base; pkern_start = parms.virt_kstart; pkern_end = parms.virt_kend; ---- a/xen/arch/x86/domain_build.c -+++ b/xen/arch/x86/domain_build.c -@@ -415,6 +415,13 @@ int __init construct_dom0( +Index: xen-4.1.2-testing/xen/arch/x86/domain_build.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/domain_build.c ++++ xen-4.1.2-testing/xen/arch/x86/domain_build.c +@@ -417,6 +417,13 @@ int __init construct_dom0( return -EINVAL; } @@ -90,8 +96,10 @@ Signed-off-by: Jan Beulich #if defined(__x86_64__) if ( compat32 ) { ---- a/xen/common/kernel.c -+++ b/xen/common/kernel.c +Index: xen-4.1.2-testing/xen/common/kernel.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/kernel.c ++++ xen-4.1.2-testing/xen/common/kernel.c @@ -287,6 +287,8 @@ DO(xen_version)(int cmd, XEN_GUEST_HANDL (1U << XENFEAT_auto_translated_physmap); if ( supervisor_mode_kernel ) @@ -101,8 +109,10 @@ Signed-off-by: Jan Beulich #ifdef CONFIG_X86 if ( !is_hvm_vcpu(current) ) fi.submap |= (1U << XENFEAT_mmu_pt_update_preserve_ad) | ---- a/xen/common/libelf/libelf-dominfo.c -+++ b/xen/common/libelf/libelf-dominfo.c +Index: xen-4.1.2-testing/xen/common/libelf/libelf-dominfo.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/libelf/libelf-dominfo.c ++++ xen-4.1.2-testing/xen/common/libelf/libelf-dominfo.c @@ -26,7 +26,8 @@ static const char *const elf_xen_feature [XENFEAT_writable_descriptor_tables] = "writable_descriptor_tables", [XENFEAT_auto_translated_physmap] = "auto_translated_physmap", @@ -151,8 +161,10 @@ Signed-off-by: Jan Beulich } return 0; } ---- a/xen/common/libelf/libelf-tools.c -+++ b/xen/common/libelf/libelf-tools.c +Index: xen-4.1.2-testing/xen/common/libelf/libelf-tools.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/libelf/libelf-tools.c ++++ xen-4.1.2-testing/xen/common/libelf/libelf-tools.c @@ -227,6 +227,27 @@ uint64_t elf_note_numeric(struct elf_bin return 0; } @@ -181,8 +193,10 @@ Signed-off-by: Jan Beulich const elf_note *elf_note_next(struct elf_binary *elf, const elf_note * note) { int namesz = (elf_uval(elf, note, namesz) + 3) & ~3; ---- a/xen/include/public/elfnote.h -+++ b/xen/include/public/elfnote.h +Index: xen-4.1.2-testing/xen/include/public/elfnote.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/public/elfnote.h ++++ xen-4.1.2-testing/xen/include/public/elfnote.h @@ -179,9 +179,22 @@ #define XEN_ELFNOTE_MOD_START_PFN 16 @@ -207,8 +221,10 @@ Signed-off-by: Jan Beulich /* * System information exported through crash notes. ---- a/xen/include/public/features.h -+++ b/xen/include/public/features.h +Index: xen-4.1.2-testing/xen/include/public/features.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/public/features.h ++++ xen-4.1.2-testing/xen/include/public/features.h @@ -75,7 +75,10 @@ #define XENFEAT_hvm_safe_pvclock 9 @@ -221,8 +237,10 @@ Signed-off-by: Jan Beulich #define XENFEAT_NR_SUBMAPS 1 ---- a/xen/include/xen/libelf.h -+++ b/xen/include/xen/libelf.h +Index: xen-4.1.2-testing/xen/include/xen/libelf.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xen/libelf.h ++++ xen-4.1.2-testing/xen/include/xen/libelf.h @@ -179,6 +179,8 @@ const elf_sym *elf_sym_by_index(struct e const char *elf_note_name(struct elf_binary *elf, const elf_note * note); const void *elf_note_desc(struct elf_binary *elf, const elf_note * note); diff --git a/23746-vtd-cleanup-timers.patch b/23746-vtd-cleanup-timers.patch deleted file mode 100644 index 36e3694..0000000 --- a/23746-vtd-cleanup-timers.patch +++ /dev/null @@ -1,43 +0,0 @@ -# HG changeset patch -# User Tim Deegan -# Date 1311608493 -3600 -# Node ID aa54b8175954bd6ffeb3bcf72e782e133896b388 -# Parent 9dbbf1631193bb6df679f5eaaee192ef4ef91fd9 -VT-d: always clean up dpci timers. - -If a VM has all its PCI devices deassigned, need_iommu(d) becomes -false but it might still have DPCI EOI timers that were init_timer()d -but not yet kill_timer()d. That causes xen to crash later because the -linked list of inactive timers gets corrupted, e.g.: - -(XEN) Xen call trace: -(XEN) [] set_timer+0x1c2/0x24f -(XEN) [] schedule+0x129/0x5dd -(XEN) [] __do_softirq+0x7e/0x89 -(XEN) [] do_softirq+0x26/0x28 -(XEN) [] idle_loop+0x5a/0x5c -(XEN) -(XEN) -(XEN) **************************************** -(XEN) Panic on CPU 0: -(XEN) Assertion 'entry->next->prev == entry' failed at -/local/scratch/tdeegan/xen-unstable.hg/xen/include:172 -(XEN) **************************************** - -The following patch makes sure that the domain destruction path always -clears up the DPCI state even if !needs_iommu(d). - -Signed-off-by: Tim Deegan - ---- a/xen/drivers/passthrough/pci.c -+++ b/xen/drivers/passthrough/pci.c -@@ -220,9 +220,6 @@ static void pci_clean_dpci_irqs(struct d - if ( !iommu_enabled ) - return; - -- if ( !need_iommu(d) ) -- return; -- - spin_lock(&d->event_lock); - hvm_irq_dpci = domain_get_irq_dpci(d); - if ( hvm_irq_dpci != NULL ) diff --git a/23747-mmcfg-base-address.patch b/23747-mmcfg-base-address.patch index 661cd87..5e23e5f 100644 --- a/23747-mmcfg-base-address.patch +++ b/23747-mmcfg-base-address.patch @@ -14,8 +14,10 @@ doing accesses. Signed-off-by: Jan Beulich ---- a/xen/arch/x86/x86_64/mmconfig_64.c -+++ b/xen/arch/x86/x86_64/mmconfig_64.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mmconfig_64.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mmconfig_64.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/mmconfig_64.c @@ -25,7 +25,7 @@ struct mmcfg_virt { static struct mmcfg_virt *pci_mmcfg_virt; static int __initdata mmcfg_pci_segment_shift; diff --git a/23749-mmcfg-reservation.patch b/23749-mmcfg-reservation.patch index 54c1b96..8d69c33 100644 --- a/23749-mmcfg-reservation.patch +++ b/23749-mmcfg-reservation.patch @@ -16,8 +16,10 @@ a new physdevop hypercall). Signed-off-by: Jan Beulich ---- a/xen/arch/x86/physdev.c -+++ b/xen/arch/x86/physdev.c +Index: xen-4.1.2-testing/xen/arch/x86/physdev.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/physdev.c ++++ xen-4.1.2-testing/xen/arch/x86/physdev.c @@ -16,6 +16,10 @@ #include #include @@ -29,7 +31,7 @@ Signed-off-by: Jan Beulich #ifndef COMPAT typedef long ret_t; #endif -@@ -515,6 +519,24 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H +@@ -512,6 +516,24 @@ ret_t do_physdev_op(int cmd, XEN_GUEST_H break; } @@ -54,8 +56,10 @@ Signed-off-by: Jan Beulich case PHYSDEVOP_restore_msi: { struct physdev_restore_msi restore_msi; struct pci_dev *pdev; ---- a/xen/arch/x86/x86_64/mmconfig.h -+++ b/xen/arch/x86/x86_64/mmconfig.h +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mmconfig.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mmconfig.h ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/mmconfig.h @@ -84,6 +84,11 @@ extern int pci_mmcfg_config_num; extern struct acpi_mcfg_allocation *pci_mmcfg_config; @@ -69,8 +73,10 @@ Signed-off-by: Jan Beulich -void pci_mmcfg_arch_free(void); +int pci_mmcfg_arch_enable(unsigned int); +void pci_mmcfg_arch_disable(unsigned int); ---- a/xen/arch/x86/x86_64/mmconfig-shared.c -+++ b/xen/arch/x86/x86_64/mmconfig-shared.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mmconfig-shared.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mmconfig-shared.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/mmconfig-shared.c @@ -22,10 +22,10 @@ #include #include @@ -176,12 +182,12 @@ Signed-off-by: Jan Beulich - /* for late to exit */ - if (known_bridge) - return; -- -- if (pci_mmcfg_check_hostbridge()) -- known_bridge = 1; + if (pci_mmcfg_check_hostbridge()) { + unsigned int i; +- if (pci_mmcfg_check_hostbridge()) +- known_bridge = 1; +- - if (!known_bridge) { + pci_mmcfg_arch_init(); + for (i = 0; i < pci_mmcfg_config_num; ++i) @@ -238,8 +244,10 @@ Signed-off-by: Jan Beulich } /** ---- a/xen/arch/x86/x86_64/mmconfig_64.c -+++ b/xen/arch/x86/x86_64/mmconfig_64.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mmconfig_64.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mmconfig_64.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/mmconfig_64.c @@ -112,7 +112,8 @@ int pci_mmcfg_write(unsigned int seg, un return 0; } @@ -342,8 +350,10 @@ Signed-off-by: Jan Beulich - xfree(pci_mmcfg_virt); - pci_mmcfg_virt = NULL; -} ---- a/xen/arch/x86/x86_64/physdev.c -+++ b/xen/arch/x86/x86_64/physdev.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/physdev.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/physdev.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/physdev.c @@ -54,6 +54,10 @@ #define physdev_get_free_pirq compat_physdev_get_free_pirq #define physdev_get_free_pirq_t physdev_get_free_pirq_compat_t @@ -355,8 +365,10 @@ Signed-off-by: Jan Beulich #define COMPAT #undef guest_handle_okay #define guest_handle_okay compat_handle_okay ---- a/xen/include/public/physdev.h -+++ b/xen/include/public/physdev.h +Index: xen-4.1.2-testing/xen/include/public/physdev.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/public/physdev.h ++++ xen-4.1.2-testing/xen/include/public/physdev.h @@ -255,6 +255,19 @@ struct physdev_get_free_pirq { typedef struct physdev_get_free_pirq physdev_get_free_pirq_t; DEFINE_XEN_GUEST_HANDLE(physdev_get_free_pirq_t); @@ -377,8 +389,10 @@ Signed-off-by: Jan Beulich /* * Notify that some PIRQ-bound event channels have been unmasked. * ** This command is obsolete since interface version 0x00030202 and is ** ---- a/xen/include/xlat.lst -+++ b/xen/include/xlat.lst +Index: xen-4.1.2-testing/xen/include/xlat.lst +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xlat.lst ++++ xen-4.1.2-testing/xen/include/xlat.lst @@ -60,6 +60,7 @@ ! memory_map memory.h ! memory_reservation memory.h diff --git a/23762-iommu-fault-bm-off.patch b/23762-iommu-fault-bm-off.patch deleted file mode 100644 index c3933e4..0000000 --- a/23762-iommu-fault-bm-off.patch +++ /dev/null @@ -1,72 +0,0 @@ -References: bnc#712051, CVE-2011-3131 - -# HG changeset patch -# User Tim Deegan -# Date 1313144964 -3600 -# Node ID 537ed3b74b3f13267cfb3eb0e1483f432f3685cd -# Parent 1f08b380d4386cdd6714786a9163e5f51aecab5d -Passthrough: disable bus-mastering on any card that causes an IOMMU fault. - -This stops the card from raising back-to-back faults and live-locking -the CPU that handles them. - -Signed-off-by: Tim Deegan -Acked-by: Wei Wang2 -Acked-by: Allen M Kay - ---- a/xen/drivers/passthrough/amd/iommu_init.c -+++ b/xen/drivers/passthrough/amd/iommu_init.c -@@ -462,7 +462,7 @@ static hw_irq_controller iommu_msi_type - - static void parse_event_log_entry(u32 entry[]) - { -- u16 domain_id, device_id; -+ u16 domain_id, device_id, bdf, cword; - u32 code; - u64 *addr; - char * event_str[] = {"ILLEGAL_DEV_TABLE_ENTRY", -@@ -497,6 +497,18 @@ static void parse_event_log_entry(u32 en - "%s: domain = %d, device id = 0x%04x, " - "fault address = 0x%"PRIx64"\n", - event_str[code-1], domain_id, device_id, *addr); -+ -+ /* Tell the device to stop DMAing; we can't rely on the guest to -+ * control it for us. */ -+ for ( bdf = 0; bdf < ivrs_bdf_entries; bdf++ ) -+ if ( get_dma_requestor_id(bdf) == device_id ) -+ { -+ cword = pci_conf_read16(PCI_BUS(bdf), PCI_SLOT(bdf), -+ PCI_FUNC(bdf), PCI_COMMAND); -+ pci_conf_write16(PCI_BUS(bdf), PCI_SLOT(bdf), -+ PCI_FUNC(bdf), PCI_COMMAND, -+ cword & ~PCI_COMMAND_MASTER); -+ } - } - else - { ---- a/xen/drivers/passthrough/vtd/iommu.c -+++ b/xen/drivers/passthrough/vtd/iommu.c -@@ -887,7 +887,7 @@ static void iommu_page_fault(int irq, vo - while (1) - { - u8 fault_reason; -- u16 source_id; -+ u16 source_id, cword; - u32 data; - u64 guest_addr; - int type; -@@ -920,6 +920,14 @@ static void iommu_page_fault(int irq, vo - iommu_page_fault_do_one(iommu, type, fault_reason, - source_id, guest_addr); - -+ /* Tell the device to stop DMAing; we can't rely on the guest to -+ * control it for us. */ -+ cword = pci_conf_read16(PCI_BUS(source_id), PCI_SLOT(source_id), -+ PCI_FUNC(source_id), PCI_COMMAND); -+ pci_conf_write16(PCI_BUS(source_id), PCI_SLOT(source_id), -+ PCI_FUNC(source_id), PCI_COMMAND, -+ cword & ~PCI_COMMAND_MASTER); -+ - fault_index++; - if ( fault_index > cap_num_fault_regs(iommu->cap) ) - fault_index = 0; diff --git a/23763-pci-multi-seg-x2apic-vtd-no-crash.patch b/23763-pci-multi-seg-x2apic-vtd-no-crash.patch deleted file mode 100644 index 81c06a6..0000000 --- a/23763-pci-multi-seg-x2apic-vtd-no-crash.patch +++ /dev/null @@ -1,55 +0,0 @@ -# HG changeset patch -# User Jan Beulich -# Date 1313226769 -3600 -# Node ID 8f647d409196f1d018f6284af03d1625cf8f93af -# Parent 537ed3b74b3f13267cfb3eb0e1483f432f3685cd -VT-d: don't reject valid DMAR/ATSR tables on systems with multiple PCI segments - -On multi-PCI-segment systems, each segment has to be expected to have -an include-all DRHD and an all-ports ATSR, so the firmware consistency -check incorrectly rejects valid configurations there (which is -particularly problematic when the firmware also pre-enabled x2apic -mode, as the system will panic in that case due to being unable to -enable interrupt remapping). Thus constrain the check to just segment -0 for now; once full multi-segment support is there (which I'm working -on), it can be revisited whether we'd want to track this per segment, -or whether we trust the firmware of such large systems. - -Signed-off-by: Jan Beulich - ---- a/xen/drivers/passthrough/vtd/dmar.c -+++ b/xen/drivers/passthrough/vtd/dmar.c -@@ -427,13 +427,14 @@ acpi_parse_one_drhd(struct acpi_dmar_ent - if ( iommu_verbose ) - dprintk(VTDPREFIX, " flags: INCLUDE_ALL\n"); - /* Only allow one INCLUDE_ALL */ -- if ( include_all ) -+ if ( drhd->segment == 0 && include_all ) - { - dprintk(XENLOG_WARNING VTDPREFIX, - "Only one INCLUDE_ALL device scope is allowed\n"); - ret = -EINVAL; - } -- include_all = 1; -+ if ( drhd->segment == 0 ) -+ include_all = 1; - } - - if ( ret ) -@@ -633,13 +634,14 @@ acpi_parse_one_atsr(struct acpi_dmar_ent - if ( iommu_verbose ) - dprintk(VTDPREFIX, " flags: ALL_PORTS\n"); - /* Only allow one ALL_PORTS */ -- if ( all_ports ) -+ if ( atsr->segment == 0 && all_ports ) - { - dprintk(XENLOG_WARNING VTDPREFIX, - "Only one ALL_PORTS device scope is allowed\n"); - ret = -EINVAL; - } -- all_ports = 1; -+ if ( atsr->segment == 0 ) -+ all_ports = 1; - } - - if ( ret ) diff --git a/23765-x86-irq-vector-leak.patch b/23765-x86-irq-vector-leak.patch deleted file mode 100644 index b9a49f5..0000000 --- a/23765-x86-irq-vector-leak.patch +++ /dev/null @@ -1,29 +0,0 @@ -# HG changeset patch -# User Andrew Cooper -# Date 1313226868 -3600 -# Node ID 68b903bb1b01b2a6ef9c6e8ead3be3c1c2208341 -# Parent 67b883402736ef1746cd6654da4c898f70f40723 -x86: IRQ fix incorrect logic in __clear_irq_vector - -In the old code, tmp_mask is the cpu_and of cfg->cpu_mask and -cpu_online_map. However, in the usual case of moving an IRQ from one -PCPU to another because the scheduler decides its a good idea, -cfg->cpu_mask and cfg->old_cpu_mask do not intersect. This causes the -old cpu vector_irq table to keep the irq reference when it shouldn't. - -This leads to a resource leak if a domain is shut down wile an irq has -a move pending, which results in Xen's create_irq() eventually failing -with -ENOSPC when all vector_irq tables are full of stale references. - -Signed-off-by: Andrew Cooper - ---- a/xen/arch/x86/irq.c -+++ b/xen/arch/x86/irq.c -@@ -190,6 +190,7 @@ static void __clear_irq_vector(int irq) - - if (likely(!cfg->move_in_progress)) - return; -+ cpus_and(tmp_mask, cfg->old_cpu_mask, cpu_online_map); - for_each_cpu_mask(cpu, tmp_mask) { - for (vector = FIRST_DYNAMIC_VECTOR; vector <= LAST_DYNAMIC_VECTOR; - vector++) { diff --git a/23766-x86-msi-vf-bars.patch b/23766-x86-msi-vf-bars.patch deleted file mode 100644 index d745b76..0000000 --- a/23766-x86-msi-vf-bars.patch +++ /dev/null @@ -1,295 +0,0 @@ -# HG changeset patch -# User Jan Beulich -# Date 1313226898 -3600 -# Node ID 8d6edc3d26d26931f3732a2008fb4818bc7bab2d -# Parent 68b903bb1b01b2a6ef9c6e8ead3be3c1c2208341 -x86/PCI-MSI: properly determine VF BAR values - -As was discussed a couple of times on this list, SR-IOV virtual -functions have their BARs read as zero - the physical function's -SR-IOV capability structure must be consulted instead. The bogus -warnings people complained about are being eliminated with this -change. - -Signed-off-by: Jan Beulich - ---- a/xen/arch/x86/msi.c -+++ b/xen/arch/x86/msi.c -@@ -522,12 +522,48 @@ static int msi_capability_init(struct pc - return 0; - } - --static u64 read_pci_mem_bar(u8 bus, u8 slot, u8 func, u8 bir) -+static u64 read_pci_mem_bar(u8 bus, u8 slot, u8 func, u8 bir, int vf) - { - u8 limit; -- u32 addr; -+ u32 addr, base = PCI_BASE_ADDRESS_0, disp = 0; - -- switch ( pci_conf_read8(bus, slot, func, PCI_HEADER_TYPE) & 0x7f ) -+ if ( vf >= 0 ) -+ { -+ struct pci_dev *pdev = pci_get_pdev(bus, PCI_DEVFN(slot, func)); -+ unsigned int pos = pci_find_ext_capability(0, bus, -+ PCI_DEVFN(slot, func), -+ PCI_EXT_CAP_ID_SRIOV); -+ u16 ctrl = pci_conf_read16(bus, slot, func, pos + PCI_SRIOV_CTRL); -+ u16 num_vf = pci_conf_read16(bus, slot, func, pos + PCI_SRIOV_NUM_VF); -+ u16 offset = pci_conf_read16(bus, slot, func, -+ pos + PCI_SRIOV_VF_OFFSET); -+ u16 stride = pci_conf_read16(bus, slot, func, -+ pos + PCI_SRIOV_VF_STRIDE); -+ -+ if ( !pdev || !pos || -+ !(ctrl & PCI_SRIOV_CTRL_VFE) || -+ !(ctrl & PCI_SRIOV_CTRL_MSE) || -+ !num_vf || !offset || (num_vf > 1 && !stride) || -+ bir >= PCI_SRIOV_NUM_BARS || -+ !pdev->vf_rlen[bir] ) -+ return 0; -+ base = pos + PCI_SRIOV_BAR; -+ vf -= PCI_BDF(bus, slot, func) + offset; -+ if ( vf < 0 || (vf && vf % stride) ) -+ return 0; -+ if ( stride ) -+ { -+ if ( vf % stride ) -+ return 0; -+ vf /= stride; -+ } -+ if ( vf >= num_vf ) -+ return 0; -+ BUILD_BUG_ON(ARRAY_SIZE(pdev->vf_rlen) != PCI_SRIOV_NUM_BARS); -+ disp = vf * pdev->vf_rlen[bir]; -+ limit = PCI_SRIOV_NUM_BARS; -+ } -+ else switch ( pci_conf_read8(bus, slot, func, PCI_HEADER_TYPE) & 0x7f ) - { - case PCI_HEADER_TYPE_NORMAL: - limit = 6; -@@ -544,7 +580,7 @@ static u64 read_pci_mem_bar(u8 bus, u8 s - - if ( bir >= limit ) - return 0; -- addr = pci_conf_read32(bus, slot, func, PCI_BASE_ADDRESS_0 + bir * 4); -+ addr = pci_conf_read32(bus, slot, func, base + bir * 4); - if ( (addr & PCI_BASE_ADDRESS_SPACE) == PCI_BASE_ADDRESS_SPACE_IO ) - return 0; - if ( (addr & PCI_BASE_ADDRESS_MEM_TYPE_MASK) == PCI_BASE_ADDRESS_MEM_TYPE_64 ) -@@ -552,11 +588,10 @@ static u64 read_pci_mem_bar(u8 bus, u8 s - addr &= PCI_BASE_ADDRESS_MEM_MASK; - if ( ++bir >= limit ) - return 0; -- return addr | -- ((u64)pci_conf_read32(bus, slot, func, -- PCI_BASE_ADDRESS_0 + bir * 4) << 32); -+ return addr + disp + -+ ((u64)pci_conf_read32(bus, slot, func, base + bir * 4) << 32); - } -- return addr & PCI_BASE_ADDRESS_MEM_MASK; -+ return (addr & PCI_BASE_ADDRESS_MEM_MASK) + disp; - } - - /** -@@ -629,11 +664,29 @@ static int msix_capability_init(struct p - - if ( !dev->msix_nr_entries ) - { -+ u8 pbus, pslot, pfunc; -+ int vf; - u64 pba_paddr; - u32 pba_offset; - -+ if ( !dev->info.is_virtfn ) -+ { -+ pbus = bus; -+ pslot = slot; -+ pfunc = func; -+ vf = -1; -+ } -+ else -+ { -+ pbus = dev->info.physfn.bus; -+ pslot = PCI_SLOT(dev->info.physfn.devfn); -+ pfunc = PCI_FUNC(dev->info.physfn.devfn); -+ vf = PCI_BDF2(dev->bus, dev->devfn); -+ } -+ - ASSERT(!dev->msix_used_entries); -- WARN_ON(msi->table_base != read_pci_mem_bar(bus, slot, func, bir)); -+ WARN_ON(msi->table_base != -+ read_pci_mem_bar(pbus, pslot, pfunc, bir, vf)); - - dev->msix_nr_entries = nr_entries; - dev->msix_table.first = PFN_DOWN(table_paddr); -@@ -645,7 +698,7 @@ static int msix_capability_init(struct p - pba_offset = pci_conf_read32(bus, slot, func, - msix_pba_offset_reg(pos)); - bir = (u8)(pba_offset & PCI_MSIX_BIRMASK); -- pba_paddr = read_pci_mem_bar(bus, slot, func, bir); -+ pba_paddr = read_pci_mem_bar(pbus, pslot, pfunc, bir, vf); - WARN_ON(!pba_paddr); - pba_paddr += pba_offset & ~PCI_MSIX_BIRMASK; - ---- a/xen/drivers/passthrough/pci.c -+++ b/xen/drivers/passthrough/pci.c -@@ -145,6 +145,7 @@ void pci_enable_acs(struct pci_dev *pdev - int pci_add_device(u8 bus, u8 devfn, const struct pci_dev_info *info) - { - struct pci_dev *pdev; -+ unsigned int slot = PCI_SLOT(devfn), func = PCI_FUNC(devfn); - const char *pdev_type; - int ret = -ENOMEM; - -@@ -153,7 +154,14 @@ int pci_add_device(u8 bus, u8 devfn, con - else if (info->is_extfn) - pdev_type = "extended function"; - else if (info->is_virtfn) -+ { -+ spin_lock(&pcidevs_lock); -+ pdev = pci_get_pdev(info->physfn.bus, info->physfn.devfn); -+ spin_unlock(&pcidevs_lock); -+ if ( !pdev ) -+ pci_add_device(info->physfn.bus, info->physfn.devfn, NULL); - pdev_type = "virtual function"; -+ } - else - return -EINVAL; - -@@ -164,6 +172,70 @@ int pci_add_device(u8 bus, u8 devfn, con - - if ( info ) - pdev->info = *info; -+ else if ( !pdev->vf_rlen[0] ) -+ { -+ unsigned int pos = pci_find_ext_capability(0, bus, devfn, -+ PCI_EXT_CAP_ID_SRIOV); -+ u16 ctrl = pci_conf_read16(bus, slot, func, pos + PCI_SRIOV_CTRL); -+ -+ if ( !pos ) -+ /* Nothing */; -+ else if ( !(ctrl & (PCI_SRIOV_CTRL_VFE | PCI_SRIOV_CTRL_MSE)) ) -+ { -+ unsigned int i; -+ -+ BUILD_BUG_ON(ARRAY_SIZE(pdev->vf_rlen) != PCI_SRIOV_NUM_BARS); -+ for ( i = 0; i < PCI_SRIOV_NUM_BARS; ++i ) -+ { -+ unsigned int idx = pos + PCI_SRIOV_BAR + i * 4; -+ u32 bar = pci_conf_read32(bus, slot, func, idx); -+ u32 hi = 0; -+ -+ if ( (bar & PCI_BASE_ADDRESS_SPACE) == -+ PCI_BASE_ADDRESS_SPACE_IO ) -+ { -+ printk(XENLOG_WARNING "SR-IOV device %02x:%02x.%x with vf" -+ " BAR%u in IO space\n", -+ bus, slot, func, i); -+ continue; -+ } -+ pci_conf_write32(bus, slot, func, idx, ~0); -+ if ( (bar & PCI_BASE_ADDRESS_MEM_TYPE_MASK) == -+ PCI_BASE_ADDRESS_MEM_TYPE_64 ) -+ { -+ if ( i >= PCI_SRIOV_NUM_BARS ) -+ { -+ printk(XENLOG_WARNING "SR-IOV device %02x:%02x.%x with" -+ " 64-bit vf BAR in last slot\n", -+ bus, slot, func); -+ break; -+ } -+ hi = pci_conf_read32(bus, slot, func, idx + 4); -+ pci_conf_write32(bus, slot, func, idx + 4, ~0); -+ } -+ pdev->vf_rlen[i] = pci_conf_read32(bus, slot, func, idx) & -+ PCI_BASE_ADDRESS_MEM_MASK; -+ if ( (bar & PCI_BASE_ADDRESS_MEM_TYPE_MASK) == -+ PCI_BASE_ADDRESS_MEM_TYPE_64 ) -+ { -+ pdev->vf_rlen[i] |= (u64)pci_conf_read32(bus, slot, func, -+ idx + 4) << 32; -+ pci_conf_write32(bus, slot, func, idx + 4, hi); -+ } -+ else if ( pdev->vf_rlen[i] ) -+ pdev->vf_rlen[i] |= (u64)~0 << 32; -+ pci_conf_write32(bus, slot, func, idx, bar); -+ pdev->vf_rlen[i] = -pdev->vf_rlen[i]; -+ if ( (bar & PCI_BASE_ADDRESS_MEM_TYPE_MASK) == -+ PCI_BASE_ADDRESS_MEM_TYPE_64 ) -+ ++i; -+ } -+ } -+ else -+ printk(XENLOG_WARNING "SR-IOV device %02x:%02x.%x has its virtual" -+ " functions already enabled (%04x)\n", -+ bus, slot, func, ctrl); -+ } - - ret = 0; - if ( !pdev->domain ) -@@ -183,7 +255,7 @@ int pci_add_device(u8 bus, u8 devfn, con - out: - spin_unlock(&pcidevs_lock); - printk(XENLOG_DEBUG "PCI add %s %02x:%02x.%x\n", pdev_type, -- bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); -+ bus, slot, func); - return ret; - } - ---- a/xen/include/xen/pci.h -+++ b/xen/include/xen/pci.h -@@ -57,6 +57,7 @@ struct pci_dev { - const u8 bus; - const u8 devfn; - struct pci_dev_info info; -+ u64 vf_rlen[6]; - }; - - #define for_each_pdev(domain, pdev) \ ---- a/xen/include/xen/pci_regs.h -+++ b/xen/include/xen/pci_regs.h -@@ -425,7 +425,7 @@ - #define PCI_EXT_CAP_ID_ACS 13 - #define PCI_EXT_CAP_ID_ARI 14 - #define PCI_EXT_CAP_ID_ATS 15 --#define PCI_EXT_CAP_ID_IOV 16 -+#define PCI_EXT_CAP_ID_SRIOV 16 - - /* Advanced Error Reporting */ - #define PCI_ERR_UNCOR_STATUS 4 /* Uncorrectable Error Status */ -@@ -545,4 +545,35 @@ - #define PCI_ACS_CTRL 0x06 /* ACS Control Register */ - #define PCI_ACS_EGRESS_CTL_V 0x08 /* ACS Egress Control Vector */ - -+/* Single Root I/O Virtualization */ -+#define PCI_SRIOV_CAP 0x04 /* SR-IOV Capabilities */ -+#define PCI_SRIOV_CAP_VFM 0x01 /* VF Migration Capable */ -+#define PCI_SRIOV_CAP_INTR(x) ((x) >> 21) /* Interrupt Message Number */ -+#define PCI_SRIOV_CTRL 0x08 /* SR-IOV Control */ -+#define PCI_SRIOV_CTRL_VFE 0x01 /* VF Enable */ -+#define PCI_SRIOV_CTRL_VFM 0x02 /* VF Migration Enable */ -+#define PCI_SRIOV_CTRL_INTR 0x04 /* VF Migration Interrupt Enable */ -+#define PCI_SRIOV_CTRL_MSE 0x08 /* VF Memory Space Enable */ -+#define PCI_SRIOV_CTRL_ARI 0x10 /* ARI Capable Hierarchy */ -+#define PCI_SRIOV_STATUS 0x0a /* SR-IOV Status */ -+#define PCI_SRIOV_STATUS_VFM 0x01 /* VF Migration Status */ -+#define PCI_SRIOV_INITIAL_VF 0x0c /* Initial VFs */ -+#define PCI_SRIOV_TOTAL_VF 0x0e /* Total VFs */ -+#define PCI_SRIOV_NUM_VF 0x10 /* Number of VFs */ -+#define PCI_SRIOV_FUNC_LINK 0x12 /* Function Dependency Link */ -+#define PCI_SRIOV_VF_OFFSET 0x14 /* First VF Offset */ -+#define PCI_SRIOV_VF_STRIDE 0x16 /* Following VF Stride */ -+#define PCI_SRIOV_VF_DID 0x1a /* VF Device ID */ -+#define PCI_SRIOV_SUP_PGSIZE 0x1c /* Supported Page Sizes */ -+#define PCI_SRIOV_SYS_PGSIZE 0x20 /* System Page Size */ -+#define PCI_SRIOV_BAR 0x24 /* VF BAR0 */ -+#define PCI_SRIOV_NUM_BARS 6 /* Number of VF BARs */ -+#define PCI_SRIOV_VFM 0x3c /* VF Migration State Array Offset*/ -+#define PCI_SRIOV_VFM_BIR(x) ((x) & 7) /* State BIR */ -+#define PCI_SRIOV_VFM_OFFSET(x) ((x) & ~7) /* State Offset */ -+#define PCI_SRIOV_VFM_UA 0x0 /* Inactive.Unavailable */ -+#define PCI_SRIOV_VFM_MI 0x1 /* Dormant.MigrateIn */ -+#define PCI_SRIOV_VFM_MO 0x2 /* Active.MigrateOut */ -+#define PCI_SRIOV_VFM_AV 0x3 /* Active.Available */ -+ - #endif /* LINUX_PCI_REGS_H */ diff --git a/23771-x86-ioapic-clear-pin.patch b/23771-x86-ioapic-clear-pin.patch index 4fa34da..98c7cf3 100644 --- a/23771-x86-ioapic-clear-pin.patch +++ b/23771-x86-ioapic-clear-pin.patch @@ -19,8 +19,10 @@ in the "raw" pass, though I haven't observed this case in practice). Signed-off-by: Jan Beulich ---- a/xen/arch/x86/io_apic.c -+++ b/xen/arch/x86/io_apic.c +Index: xen-4.1.2-testing/xen/arch/x86/io_apic.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/io_apic.c ++++ xen-4.1.2-testing/xen/arch/x86/io_apic.c @@ -365,14 +365,12 @@ static void eoi_IO_APIC_irq(unsigned int spin_unlock_irqrestore(&ioapic_lock, flags); } diff --git a/23772-x86-trampoline.patch b/23772-x86-trampoline.patch index 0f1f4db..e8eea59 100644 --- a/23772-x86-trampoline.patch +++ b/23772-x86-trampoline.patch @@ -17,8 +17,10 @@ code. Signed-off-by: Jan Beulich ---- a/xen/arch/x86/boot/Makefile -+++ b/xen/arch/x86/boot/Makefile +Index: xen-4.1.2-testing/xen/arch/x86/boot/Makefile +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/boot/Makefile ++++ xen-4.1.2-testing/xen/arch/x86/boot/Makefile @@ -2,8 +2,8 @@ obj-y += head.o head.o: reloc.S @@ -30,8 +32,10 @@ Signed-off-by: Jan Beulich -reloc.S: $(BASEDIR)/include/asm-x86/config.h +reloc.S: head.S ---- a/xen/arch/x86/boot/head.S -+++ b/xen/arch/x86/boot/head.S +Index: xen-4.1.2-testing/xen/arch/x86/boot/head.S +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/boot/head.S ++++ xen-4.1.2-testing/xen/arch/x86/boot/head.S @@ -9,7 +9,7 @@ .text .code32 @@ -59,8 +63,10 @@ Signed-off-by: Jan Beulich /* Copy bootstrap trampoline to low memory, below 1MB. */ mov $sym_phys(trampoline_start),%esi mov $bootsym_phys(trampoline_start),%edi ---- a/xen/arch/x86/boot/trampoline.S -+++ b/xen/arch/x86/boot/trampoline.S +Index: xen-4.1.2-testing/xen/arch/x86/boot/trampoline.S +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/boot/trampoline.S ++++ xen-4.1.2-testing/xen/arch/x86/boot/trampoline.S @@ -4,6 +4,13 @@ #undef bootsym #define bootsym(s) ((s)-trampoline_start) @@ -133,8 +139,10 @@ Signed-off-by: Jan Beulich .code64 start64: ---- a/xen/arch/x86/boot/wakeup.S -+++ b/xen/arch/x86/boot/wakeup.S +Index: xen-4.1.2-testing/xen/arch/x86/boot/wakeup.S +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/boot/wakeup.S ++++ xen-4.1.2-testing/xen/arch/x86/boot/wakeup.S @@ -42,15 +42,13 @@ ENTRY(wakeup_start) # boot trampoline is under 1M, and shift its start into @@ -202,8 +210,10 @@ Signed-off-by: Jan Beulich .code64 wakeup_64: ---- a/xen/arch/x86/efi/boot.c -+++ b/xen/arch/x86/efi/boot.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/boot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/boot.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/boot.c @@ -599,6 +599,9 @@ static void __init relocate_image(unsign } } @@ -281,9 +291,11 @@ Signed-off-by: Jan Beulich /* Set system registers and transfer control. */ asm volatile("pushq $0\n\tpopfq"); ---- a/xen/arch/x86/smpboot.c -+++ b/xen/arch/x86/smpboot.c -@@ -49,6 +49,8 @@ +Index: xen-4.1.2-testing/xen/arch/x86/smpboot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/smpboot.c ++++ xen-4.1.2-testing/xen/arch/x86/smpboot.c +@@ -48,6 +48,8 @@ #define setup_trampoline() (bootsym_phys(trampoline_realmode_entry)) @@ -292,8 +304,10 @@ Signed-off-by: Jan Beulich /* Set if we find a B stepping CPU */ static int smp_b_stepping; ---- a/xen/arch/x86/x86_32/mm.c -+++ b/xen/arch/x86/x86_32/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c @@ -22,6 +22,7 @@ #include #include @@ -314,8 +328,10 @@ Signed-off-by: Jan Beulich } void __init subarch_init_memory(void) ---- a/xen/arch/x86/x86_64/mm.c -+++ b/xen/arch/x86/x86_64/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c @@ -828,7 +828,7 @@ void __init zap_low_mappings(void) flush_local(FLUSH_TLB_GLOBAL); @@ -325,8 +341,10 @@ Signed-off-by: Jan Beulich PFN_UP(trampoline_end - trampoline_start), __PAGE_HYPERVISOR); } ---- a/xen/arch/x86/xen.lds.S -+++ b/xen/arch/x86/xen.lds.S +Index: xen-4.1.2-testing/xen/arch/x86/xen.lds.S +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/xen.lds.S ++++ xen-4.1.2-testing/xen/arch/x86/xen.lds.S @@ -103,6 +103,13 @@ SECTIONS *(.init.data) *(.init.data.rel) @@ -341,8 +359,10 @@ Signed-off-by: Jan Beulich } :text . = ALIGN(32); .init.setup : { ---- a/xen/include/asm-x86/config.h -+++ b/xen/include/asm-x86/config.h +Index: xen-4.1.2-testing/xen/include/asm-x86/config.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/config.h ++++ xen-4.1.2-testing/xen/include/asm-x86/config.h @@ -95,13 +95,13 @@ /* Primary stack is restricted to 8kB by guard pages. */ #define PRIMARY_STACK_SIZE 8192 diff --git a/23774-x86_64-EFI-EDD.patch b/23774-x86_64-EFI-EDD.patch index 8c76c93..44ba7ff 100644 --- a/23774-x86_64-EFI-EDD.patch +++ b/23774-x86_64-EFI-EDD.patch @@ -10,8 +10,10 @@ must be constructed artificially instead when booted from EFI. Signed-off-by: Jan Beulich ---- a/xen/arch/x86/boot/edd.S -+++ b/xen/arch/x86/boot/edd.S +Index: xen-4.1.2-testing/xen/arch/x86/boot/edd.S +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/boot/edd.S ++++ xen-4.1.2-testing/xen/arch/x86/boot/edd.S @@ -16,21 +16,13 @@ * Updated and ported for Xen by Keir Fraser June 2007 */ @@ -36,8 +38,10 @@ Signed-off-by: Jan Beulich get_edd: cmpb $2, bootsym(opt_edd) # edd=off ? je edd_done ---- a/xen/arch/x86/efi/boot.c -+++ b/xen/arch/x86/efi/boot.c +Index: xen-4.1.2-testing/xen/arch/x86/efi/boot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/efi/boot.c ++++ xen-4.1.2-testing/xen/arch/x86/efi/boot.c @@ -16,6 +16,7 @@ #include #include @@ -224,8 +228,10 @@ Signed-off-by: Jan Beulich /* XXX Collect EDID info. */ if ( cpuid_eax(0x80000000) > 0x80000000 ) ---- a/xen/include/asm-x86/edd.h -+++ b/xen/include/asm-x86/edd.h +Index: xen-4.1.2-testing/xen/include/asm-x86/edd.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/edd.h ++++ xen-4.1.2-testing/xen/include/asm-x86/edd.h @@ -23,6 +23,8 @@ #ifndef __XEN_EDD_H__ #define __XEN_EDD_H__ diff --git a/23776-x86-kexec-hpet-legacy-bcast-disable.patch b/23776-x86-kexec-hpet-legacy-bcast-disable.patch deleted file mode 100644 index 02bffc0..0000000 --- a/23776-x86-kexec-hpet-legacy-bcast-disable.patch +++ /dev/null @@ -1,56 +0,0 @@ -# HG changeset patch -# User Andrew Cooper -# Date 1313744302 -3600 -# Node ID 0ddb4481f883ddf55c12a0b8d1445cf137ef0b63 -# Parent 9957bef3e7b4511f83ed8883cd5ecd49ea3ee95d -x86/KEXEC: disable hpet legacy broadcasts earlier - -On x2apic machines which booted in xapic mode, -hpet_disable_legacy_broadcast() sends an event check IPI to all online -processors. This leads to a protection fault as the genapic blindly -pokes x2apic MSRs while the local apic is in xapic mode. - -One option is to change genapic when we shut down the local apic, but -there are still problems with trying to IPI processors in the online -processor map which are actually sitting in NMI loops - -Another option is to have each CPU take itself out of the online CPU -map during the NMI shootdown. - -Realistically however, disabling hpet legacy broadcasts earlier in the -kexec path is the easiest fix to the problem. - -Signed-off-by: Andrew Cooper - ---- a/xen/arch/x86/crash.c -+++ b/xen/arch/x86/crash.c -@@ -27,6 +27,7 @@ - #include - #include - #include -+#include - - static atomic_t waiting_for_crash_ipi; - static unsigned int crashing_cpu; -@@ -59,6 +60,9 @@ static void nmi_shootdown_cpus(void) - - local_irq_disable(); - -+ if ( hpet_broadcast_is_available() ) -+ hpet_disable_legacy_broadcast(); -+ - crashing_cpu = smp_processor_id(); - local_irq_count(crashing_cpu) = 0; - ---- a/xen/arch/x86/machine_kexec.c -+++ b/xen/arch/x86/machine_kexec.c -@@ -96,9 +96,6 @@ void machine_kexec(xen_kexec_image_t *im - .limit = LAST_RESERVED_GDT_BYTE - }; - -- if ( hpet_broadcast_is_available() ) -- hpet_disable_legacy_broadcast(); -- - /* - * compat_machine_kexec() returns to idle pagetables, which requires us - * to be running on a static GDT mapping (idle pagetables have no GDT diff --git a/23781-pm-wide-ACPI-ids.patch b/23781-pm-wide-ACPI-ids.patch index 2c7ce33..c04fb94 100644 --- a/23781-pm-wide-ACPI-ids.patch +++ b/23781-pm-wide-ACPI-ids.patch @@ -10,8 +10,10 @@ This is just another adjustment to allow systems with very many CPUs Signed-off-by: Jan Beulich ---- a/xen/arch/ia64/linux-xen/acpi.c -+++ b/xen/arch/ia64/linux-xen/acpi.c +Index: xen-4.1.2-testing/xen/arch/ia64/linux-xen/acpi.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/ia64/linux-xen/acpi.c ++++ xen-4.1.2-testing/xen/arch/ia64/linux-xen/acpi.c @@ -223,11 +223,14 @@ static u16 ia64_acpiid_to_sapicid[ MAX_L {[0 ... MAX_LOCAL_SAPIC - 1] = 0xffff }; @@ -28,9 +30,11 @@ Signed-off-by: Jan Beulich apic_id = ia64_acpiid_to_sapicid[acpi_id]; if ( apic_id == 0xffff ) return -EINVAL; ---- a/xen/arch/x86/acpi/cpu_idle.c -+++ b/xen/arch/x86/acpi/cpu_idle.c -@@ -871,11 +871,14 @@ static void set_cx( +Index: xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c ++++ xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c +@@ -901,11 +901,14 @@ static void set_cx( acpi_power->safe_state = cx; } @@ -46,7 +50,7 @@ Signed-off-by: Jan Beulich apic_id = x86_acpiid_to_apicid[acpi_id]; if ( apic_id == BAD_APICID ) return -1; -@@ -952,7 +955,7 @@ long set_cx_pminfo(uint32_t cpu, struct +@@ -982,7 +985,7 @@ long set_cx_pminfo(uint32_t cpu, struct print_cx_pminfo(cpu, power); /* map from acpi_id to cpu_id */ @@ -55,8 +59,10 @@ Signed-off-by: Jan Beulich if ( cpu_id == -1 ) { printk(XENLOG_ERR "no cpu_id for acpi_id %d\n", cpu); ---- a/xen/include/acpi/cpufreq/processor_perf.h -+++ b/xen/include/acpi/cpufreq/processor_perf.h +Index: xen-4.1.2-testing/xen/include/acpi/cpufreq/processor_perf.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/acpi/cpufreq/processor_perf.h ++++ xen-4.1.2-testing/xen/include/acpi/cpufreq/processor_perf.h @@ -6,7 +6,7 @@ #define XEN_PX_INIT 0x80000000 diff --git a/23782-x86-ioapic-clear-irr.patch b/23782-x86-ioapic-clear-irr.patch index 1d9a3f2..1177788 100644 --- a/23782-x86-ioapic-clear-irr.patch +++ b/23782-x86-ioapic-clear-irr.patch @@ -20,8 +20,10 @@ Based on a Linux patch from suresh.b.siddha@intel.com. Signed-off-by: Jan Beulich ---- a/xen/arch/x86/io_apic.c -+++ b/xen/arch/x86/io_apic.c +Index: xen-4.1.2-testing/xen/arch/x86/io_apic.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/io_apic.c ++++ xen-4.1.2-testing/xen/arch/x86/io_apic.c @@ -375,11 +375,46 @@ static void clear_IO_APIC_pin(unsigned i return; diff --git a/23783-ACPI-set-_PDC-bits.patch b/23783-ACPI-set-_PDC-bits.patch index 895ff93..be1570b 100644 --- a/23783-ACPI-set-_PDC-bits.patch +++ b/23783-ACPI-set-_PDC-bits.patch @@ -17,8 +17,10 @@ extension (which the Dom0 kernel should have no need to know about). Signed-off-by: Jan Beulich ---- a/xen/arch/ia64/linux-xen/acpi.c -+++ b/xen/arch/ia64/linux-xen/acpi.c +Index: xen-4.1.2-testing/xen/arch/ia64/linux-xen/acpi.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/ia64/linux-xen/acpi.c ++++ xen-4.1.2-testing/xen/arch/ia64/linux-xen/acpi.c @@ -243,6 +243,13 @@ int get_cpu_id(u32 acpi_id) return -1; @@ -33,9 +35,11 @@ Signed-off-by: Jan Beulich #endif static int __init ---- a/xen/arch/x86/acpi/cpu_idle.c -+++ b/xen/arch/x86/acpi/cpu_idle.c -@@ -619,12 +619,6 @@ static int init_cx_pminfo(struct acpi_pr +Index: xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c ++++ xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c +@@ -649,12 +649,6 @@ static int cpuidle_init_cpu(int cpu) return 0; } @@ -48,8 +52,10 @@ Signed-off-by: Jan Beulich #define MWAIT_SUBSTATE_MASK (0xf) #define MWAIT_SUBSTATE_SIZE (4) ---- a/xen/arch/x86/acpi/boot.c -+++ b/xen/arch/x86/acpi/boot.c +Index: xen-4.1.2-testing/xen/arch/x86/acpi/boot.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/acpi/boot.c ++++ xen-4.1.2-testing/xen/arch/x86/acpi/boot.c @@ -1006,3 +1006,47 @@ unsigned int acpi_get_processor_id(unsig return INVALID_ACPIID; @@ -98,8 +104,10 @@ Signed-off-by: Jan Beulich + + return 0; +} ---- a/xen/arch/x86/platform_hypercall.c -+++ b/xen/arch/x86/platform_hypercall.c +Index: xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/platform_hypercall.c ++++ xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c @@ -419,6 +419,15 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe ret = -EINVAL; break; @@ -116,8 +124,10 @@ Signed-off-by: Jan Beulich default: ret = -EINVAL; break; ---- a/xen/drivers/acpi/pmstat.c -+++ b/xen/drivers/acpi/pmstat.c +Index: xen-4.1.2-testing/xen/drivers/acpi/pmstat.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/drivers/acpi/pmstat.c ++++ xen-4.1.2-testing/xen/drivers/acpi/pmstat.c @@ -519,3 +519,34 @@ int do_pm_op(struct xen_sysctl_pm_op *op return ret; @@ -153,8 +163,10 @@ Signed-off-by: Jan Beulich + + return ret; +} ---- a/xen/include/acpi/cpufreq/processor_perf.h -+++ b/xen/include/acpi/cpufreq/processor_perf.h +Index: xen-4.1.2-testing/xen/include/acpi/cpufreq/processor_perf.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/acpi/cpufreq/processor_perf.h ++++ xen-4.1.2-testing/xen/include/acpi/cpufreq/processor_perf.h @@ -3,10 +3,10 @@ #include @@ -167,8 +179,10 @@ Signed-off-by: Jan Beulich int powernow_cpufreq_init(void); unsigned int powernow_register_driver(void); unsigned int get_measured_perf(unsigned int cpu, unsigned int flag); ---- a/xen/include/acpi/pdc_intel.h -+++ b/xen/include/acpi/pdc_intel.h +Index: xen-4.1.2-testing/xen/include/acpi/pdc_intel.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/acpi/pdc_intel.h ++++ xen-4.1.2-testing/xen/include/acpi/pdc_intel.h @@ -4,6 +4,8 @@ #ifndef __PDC_INTEL_H__ #define __PDC_INTEL_H__ @@ -212,8 +226,10 @@ Signed-off-by: Jan Beulich + ACPI_PDC_SMP_T_SWCOORD) + #endif /* __PDC_INTEL_H__ */ ---- a/xen/include/asm-x86/cpufeature.h -+++ b/xen/include/asm-x86/cpufeature.h +Index: xen-4.1.2-testing/xen/include/asm-x86/cpufeature.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/cpufeature.h ++++ xen-4.1.2-testing/xen/include/asm-x86/cpufeature.h @@ -150,6 +150,10 @@ #define boot_cpu_has(bit) test_bit(bit, boot_cpu_data.x86_capability) #define cpufeat_mask(idx) (1u << ((idx) & 31)) @@ -225,8 +241,10 @@ Signed-off-by: Jan Beulich #ifdef __i386__ #define cpu_has_vme boot_cpu_has(X86_FEATURE_VME) #define cpu_has_de boot_cpu_has(X86_FEATURE_DE) ---- a/xen/include/public/platform.h -+++ b/xen/include/public/platform.h +Index: xen-4.1.2-testing/xen/include/public/platform.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/public/platform.h ++++ xen-4.1.2-testing/xen/include/public/platform.h @@ -304,6 +304,7 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_getidletim #define XEN_PM_CX 0 #define XEN_PM_PX 1 @@ -243,8 +261,10 @@ Signed-off-by: Jan Beulich } u; }; typedef struct xenpf_set_processor_pminfo xenpf_set_processor_pminfo_t; ---- a/xen/include/xen/acpi.h -+++ b/xen/include/xen/acpi.h +Index: xen-4.1.2-testing/xen/include/xen/acpi.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/xen/acpi.h ++++ xen-4.1.2-testing/xen/include/xen/acpi.h @@ -334,6 +334,8 @@ static inline int acpi_boot_table_init(v #endif /*!CONFIG_ACPI_BOOT*/ diff --git a/23795-intel-ich10-quirk.patch b/23795-intel-ich10-quirk.patch new file mode 100644 index 0000000..7bff26e --- /dev/null +++ b/23795-intel-ich10-quirk.patch @@ -0,0 +1,82 @@ +References: bnc#683580 + +# HG changeset patch +# User Jan Beulich +# Date 1314443678 -3600 +# Node ID e17f70940d1f57fe04dde3bf4e243f75c89f0d0e +# Parent 4705eca37c9fac9d13867a856bdcfa8b7bad56c6 +x86: work around certain Intel BIOSes causing (transient) hangs during boot + +They apparently leave the USB legacy emulation bits set in ICH10's +SMI Control and Enable register, but fail to handle the resulting SMIs +gracefully. The hangs can apparently extend indefinitely, but are +commonly observed to last between a few seconds and a minute. + +This assumes that only ICH10-based systems on Intel main boards with +Intel BIOS may be affected. Until Intel comes up with a more precise +identification of affected BIOSes, all Intel ones on Intel boards +will get this workaround applied. + +Signed-off-by: Jan Beulich + +Index: xen-4.1.2-testing/xen/arch/x86/dmi_scan.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/dmi_scan.c ++++ xen-4.1.2-testing/xen/arch/x86/dmi_scan.c +@@ -10,6 +10,8 @@ + #include + #include + #include ++#include ++#include + + #define bt_ioremap(b,l) ((void *)__acpi_map_table(b,l)) + #define bt_iounmap(b,l) ((void)0) +@@ -278,6 +280,28 @@ static __init int broken_toshiba_keyboar + return 0; + } + ++static int __init ich10_bios_quirk(struct dmi_system_id *d) ++{ ++ u32 port, smictl; ++ ++ if ( pci_conf_read16(0, 0x1f, 0, PCI_VENDOR_ID) != 0x8086 ) ++ return 0; ++ ++ switch ( pci_conf_read16(0, 0x1f, 0, PCI_DEVICE_ID) ) { ++ case 0x3a14: ++ case 0x3a16: ++ case 0x3a18: ++ case 0x3a1a: ++ port = (pci_conf_read16(0, 0x1f, 0, 0x40) & 0xff80) + 0x30; ++ smictl = inl(port); ++ /* turn off LEGACY_USB{,2}_EN if enabled */ ++ if ( smictl & 0x20008 ) ++ outl(smictl & ~0x20008, port); ++ break; ++ } ++ ++ return 0; ++} + + #ifdef CONFIG_ACPI_SLEEP + static __init int reset_videomode_after_s3(struct dmi_blacklist *d) +@@ -363,6 +387,18 @@ static __initdata struct dmi_blacklist d + } }, + #endif + ++ { ich10_bios_quirk, "Intel board & BIOS", ++ /* ++ * BIOS leaves legacy USB emulation enabled while ++ * SMM can't properly handle it. ++ */ ++ { ++ MATCH(DMI_BOARD_VENDOR, "Intel Corp"), ++ MATCH(DMI_BIOS_VENDOR, "Intel Corp"), ++ NO_MATCH, NO_MATCH ++ } ++ }, ++ + #ifdef CONFIG_ACPI_BOOT + /* + * If your system is blacklisted here, but you find that acpi=force diff --git a/23800-x86_64-guest-addr-range.patch b/23800-x86_64-guest-addr-range.patch new file mode 100644 index 0000000..9503c26 --- /dev/null +++ b/23800-x86_64-guest-addr-range.patch @@ -0,0 +1,23 @@ +# HG changeset patch +# User Keir Fraser +# Date 1314800089 -3600 +# Node ID 72edc40e2942a3cf0ee8e0d3a330d2e5c2bdfb53 +# Parent ac9aa65050e9abc8f1c12c8603acf3b99e22cddc +x86-64: Fix off-by-one error in __addr_ok() macro + +Signed-off-by: Laszlo Ersek +Signed-off-by: Keir Fraser + +Index: xen-4.1.2-testing/xen/include/asm-x86/x86_64/uaccess.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/x86_64/uaccess.h ++++ xen-4.1.2-testing/xen/include/asm-x86/x86_64/uaccess.h +@@ -21,7 +21,7 @@ void free_compat_arg_xlat(struct vcpu *v + * non-canonical address (and thus fault) before ever reaching VIRT_START. + */ + #define __addr_ok(addr) \ +- (((unsigned long)(addr) < (1UL<<48)) || \ ++ (((unsigned long)(addr) < (1UL<<47)) || \ + ((unsigned long)(addr) >= HYPERVISOR_VIRT_END)) + + #define access_ok(addr, size) \ diff --git a/23804-x86-IPI-counts.patch b/23804-x86-IPI-counts.patch new file mode 100644 index 0000000..98a8136 --- /dev/null +++ b/23804-x86-IPI-counts.patch @@ -0,0 +1,109 @@ +# HG changeset patch +# User Kevin Tian +# Date 1314800303 -3600 +# Node ID 42d76c68b2bfbedee3e5f79d32344e14bce48b0f +# Parent 51983821efa4db4040ae1c5063a4404791597699 +x86: add irq count for IPIs + +such count is useful to assist decision make in cpuidle governor, +while w/o this patch only device interrupts through do_IRQ is +currently counted. + +Signed-off-by: Kevin Tian + +Index: xen-4.1.2-testing/xen/arch/x86/apic.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/apic.c ++++ xen-4.1.2-testing/xen/arch/x86/apic.c +@@ -1372,6 +1372,7 @@ fastcall void smp_apic_timer_interrupt(s + struct cpu_user_regs *old_regs = set_irq_regs(regs); + ack_APIC_irq(); + perfc_incr(apic_timer); ++ this_cpu(irq_count)++; + raise_softirq(TIMER_SOFTIRQ); + set_irq_regs(old_regs); + } +@@ -1393,6 +1394,7 @@ fastcall void smp_spurious_interrupt(str + unsigned long v; + struct cpu_user_regs *old_regs = set_irq_regs(regs); + ++ this_cpu(irq_count)++; + irq_enter(); + + /* +@@ -1428,6 +1430,7 @@ fastcall void smp_error_interrupt(struct + unsigned long v, v1; + struct cpu_user_regs *old_regs = set_irq_regs(regs); + ++ this_cpu(irq_count)++; + irq_enter(); + /* First tickle the hardware, only then report what went on. -- REW */ + v = apic_read(APIC_ESR); +@@ -1459,6 +1462,7 @@ fastcall void smp_pmu_apic_interrupt(str + { + struct cpu_user_regs *old_regs = set_irq_regs(regs); + ack_APIC_irq(); ++ this_cpu(irq_count)++; + hvm_do_pmu_interrupt(regs); + set_irq_regs(old_regs); + } +Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce_intel.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/mcheck/mce_intel.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce_intel.c +@@ -66,6 +66,7 @@ static void (*vendor_thermal_interrupt)( + fastcall void smp_thermal_interrupt(struct cpu_user_regs *regs) + { + struct cpu_user_regs *old_regs = set_irq_regs(regs); ++ this_cpu(irq_count)++; + irq_enter(); + vendor_thermal_interrupt(regs); + irq_exit(); +@@ -1094,6 +1095,7 @@ fastcall void smp_cmci_interrupt(struct + struct cpu_user_regs *old_regs = set_irq_regs(regs); + + ack_APIC_irq(); ++ this_cpu(irq_count)++; + irq_enter(); + + mctc = mcheck_mca_logout( +Index: xen-4.1.2-testing/xen/arch/x86/io_apic.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/io_apic.c ++++ xen-4.1.2-testing/xen/arch/x86/io_apic.c +@@ -434,6 +434,7 @@ fastcall void smp_irq_move_cleanup_inter + struct cpu_user_regs *old_regs = set_irq_regs(regs); + + ack_APIC_irq(); ++ this_cpu(irq_count)++; + irq_enter(); + + me = smp_processor_id(); +Index: xen-4.1.2-testing/xen/arch/x86/smp.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/smp.c ++++ xen-4.1.2-testing/xen/arch/x86/smp.c +@@ -221,6 +221,7 @@ fastcall void smp_invalidate_interrupt(v + { + ack_APIC_irq(); + perfc_incr(ipis); ++ this_cpu(irq_count)++; + irq_enter(); + if ( !__sync_local_execstate() || + (flush_flags & (FLUSH_TLB_GLOBAL | FLUSH_CACHE)) ) +@@ -385,6 +386,7 @@ fastcall void smp_event_check_interrupt( + struct cpu_user_regs *old_regs = set_irq_regs(regs); + ack_APIC_irq(); + perfc_incr(ipis); ++ this_cpu(irq_count)++; + set_irq_regs(old_regs); + } + +@@ -421,6 +423,7 @@ fastcall void smp_call_function_interrup + + ack_APIC_irq(); + perfc_incr(ipis); ++ this_cpu(irq_count)++; + __smp_call_function_interrupt(); + set_irq_regs(old_regs); + } diff --git a/23833-x86-IO-APIC-EOI.patch b/23833-x86-IO-APIC-EOI.patch new file mode 100644 index 0000000..5f40861 --- /dev/null +++ b/23833-x86-IO-APIC-EOI.patch @@ -0,0 +1,199 @@ +# HG changeset patch +# User Andrew Cooper +# Date 1315906390 -3600 +# Node ID ffe8e65f6687cde49b2cb2bf991bd3f5dff9c189 +# Parent ad3b4bb097cb6308f73e597c5412395ad783ea4a +IRQ: IO-APIC support End Of Interrupt for older IO-APICs + +The old io_apic_eoi() function using the EOI register only works for +IO-APICs with a version of 0x20. Older IO-APICs do not have an EOI +register so line level interrupts have to be EOI'd by flipping the +mode to edge and back, which clears the IRR and Delivery Status bits. + +This patch replaces the current io_apic_eoi() function with one which +takes into account the version of the IO-APIC and EOI's +appropriately. + +v2: make recursive call to __io_apic_eoi() to reduce code size. + +Signed-off-by: Andrew Cooper + +--- a/xen/arch/x86/io_apic.c ++++ b/xen/arch/x86/io_apic.c +@@ -66,6 +66,13 @@ int __read_mostly nr_ioapics; + #define MAX_PLUS_SHARED_IRQS nr_irqs_gsi + #define PIN_MAP_SIZE (MAX_PLUS_SHARED_IRQS + nr_irqs_gsi) + ++ ++#define ioapic_has_eoi_reg(apic) (mp_ioapics[(apic)].mpc_apicver >= 0x20) ++ ++#define io_apic_eoi_vector(apic, vector) io_apic_eoi((apic), (vector), -1) ++#define io_apic_eoi_pin(apic, pin) io_apic_eoi((apic), -1, (pin)) ++ ++ + /* + * This is performance-critical, we want to do it O(1) + * +@@ -201,6 +208,105 @@ static void ioapic_write_entry(int apic, + spin_unlock_irqrestore(&ioapic_lock, flags); + } + ++/* EOI an IO-APIC entry. One of vector or pin may be -1, indicating that ++ * it should be worked out using the other. This function expect that the ++ * ioapic_lock is taken, and interrupts are disabled (or there is a good reason ++ * not to), and that if both pin and vector are passed, that they refer to the ++ * same redirection entry in the IO-APIC. */ ++static void __io_apic_eoi(unsigned int apic, unsigned int vector, unsigned int pin) ++{ ++ /* Ensure some useful information is passed in */ ++ BUG_ON( (vector == -1 && pin == -1) ); ++ ++ /* Prefer the use of the EOI register if available */ ++ if ( ioapic_has_eoi_reg(apic) ) ++ { ++ /* If vector is unknown, read it from the IO-APIC */ ++ if ( vector == -1 ) ++ vector = __ioapic_read_entry(apic, pin, TRUE).vector; ++ ++ *(IO_APIC_BASE(apic)+16) = vector; ++ } ++ else ++ { ++ /* Else fake an EOI by switching to edge triggered mode ++ * and back */ ++ struct IO_APIC_route_entry entry; ++ bool_t need_to_unmask = 0; ++ ++ /* If pin is unknown, search for it */ ++ if ( pin == -1 ) ++ { ++ unsigned int p; ++ for ( p = 0; p < nr_ioapic_registers[apic]; ++p ) ++ { ++ entry = __ioapic_read_entry(apic, p, TRUE); ++ if ( entry.vector == vector ) ++ { ++ pin = p; ++ /* break; */ ++ ++ /* Here should be a break out of the loop, but at the ++ * Xen code doesn't actually prevent multiple IO-APIC ++ * entries being assigned the same vector, so EOI all ++ * pins which have the correct vector. ++ * ++ * Remove the following code when the above assertion ++ * is fulfilled. */ ++ __io_apic_eoi(apic, vector, p); ++ } ++ } ++ ++ /* If search fails, nothing to do */ ++ ++ /* if ( pin == -1 ) */ ++ ++ /* Because the loop wasn't broken out of (see comment above), ++ * all relevant pins have been EOI, so we can always return. ++ * ++ * Re-instate the if statement above when the Xen logic has been ++ * fixed.*/ ++ ++ return; ++ } ++ ++ entry = __ioapic_read_entry(apic, pin, TRUE); ++ ++ if ( ! entry.mask ) ++ { ++ /* If entry is not currently masked, mask it and make ++ * a note to unmask it later */ ++ entry.mask = 1; ++ __ioapic_write_entry(apic, pin, TRUE, entry); ++ need_to_unmask = 1; ++ } ++ ++ /* Flip the trigger mode to edge and back */ ++ entry.trigger = 0; ++ __ioapic_write_entry(apic, pin, TRUE, entry); ++ entry.trigger = 1; ++ __ioapic_write_entry(apic, pin, TRUE, entry); ++ ++ if ( need_to_unmask ) ++ { ++ /* Unmask if neccesary */ ++ entry.mask = 0; ++ __ioapic_write_entry(apic, pin, TRUE, entry); ++ } ++ } ++} ++ ++/* EOI an IO-APIC entry. One of vector or pin may be -1, indicating that ++ * it should be worked out using the other. This function disables interrupts ++ * and takes the ioapic_lock */ ++static void io_apic_eoi(unsigned int apic, unsigned int vector, unsigned int pin) ++{ ++ unsigned int flags; ++ spin_lock_irqsave(&ioapic_lock, flags); ++ __io_apic_eoi(apic, vector, pin); ++ spin_unlock_irqrestore(&ioapic_lock, flags); ++} ++ + /* + * Saves all the IO-APIC RTE's + */ +@@ -350,7 +456,7 @@ static void __eoi_IO_APIC_irq(unsigned i + pin = entry->pin; + if (pin == -1) + break; +- io_apic_eoi(entry->apic, vector); ++ __io_apic_eoi(entry->apic, vector, pin); + if (!entry->next) + break; + entry = irq_2_pin + entry->next; +@@ -390,18 +496,7 @@ static void clear_IO_APIC_pin(unsigned i + entry.trigger = 1; + __ioapic_write_entry(apic, pin, TRUE, entry); + } +- if (mp_ioapics[apic].mpc_apicver >= 0x20) +- io_apic_eoi(apic, entry.vector); +- else { +- /* +- * Mechanism by which we clear remoteIRR in this case is by +- * changing the trigger mode to edge and back to level. +- */ +- entry.trigger = 0; +- __ioapic_write_entry(apic, pin, TRUE, entry); +- entry.trigger = 1; +- __ioapic_write_entry(apic, pin, TRUE, entry); +- } ++ __io_apic_eoi(apic, entry.vector, pin); + } + + /* +@@ -1731,7 +1826,7 @@ static void end_level_ioapic_irq (unsign + { + int ioapic; + for (ioapic = 0; ioapic < nr_ioapics; ioapic++) +- io_apic_eoi(ioapic, i); ++ io_apic_eoi_vector(ioapic, i); + } + + v = apic_read(APIC_TMR + ((i & ~0x1f) >> 1)); +@@ -2604,3 +2699,4 @@ void __init init_ioapic_mappings(void) + printk(XENLOG_INFO "IRQ limits: %u GSI, %u MSI/MSI-X\n", + nr_irqs_gsi, nr_irqs - nr_irqs_gsi); + } ++ +--- a/xen/include/asm-x86/io_apic.h ++++ b/xen/include/asm-x86/io_apic.h +@@ -157,11 +157,6 @@ static inline void io_apic_write(unsigne + __io_apic_write(apic, reg, value); + } + +-static inline void io_apic_eoi(unsigned int apic, unsigned int vector) +-{ +- *(IO_APIC_BASE(apic)+16) = vector; +-} +- + /* + * Re-write a value: to be used for read-modify-write + * cycles where the read already set up the index register. diff --git a/32on64-extra-mem.patch b/32on64-extra-mem.patch index dac00d1..f022bde 100644 --- a/32on64-extra-mem.patch +++ b/32on64-extra-mem.patch @@ -1,8 +1,8 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -2926,7 +2926,7 @@ class XendDomainInfo: +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -2930,7 +2930,7 @@ class XendDomainInfo: self.guest_bitsize = self.image.getBitSize() # Make sure there's enough RAM available for the domain diff --git a/altgr_2.patch b/altgr_2.patch index d683ae0..4f74695 100644 --- a/altgr_2.patch +++ b/altgr_2.patch @@ -29,10 +29,10 @@ keycodes up and down events and make sure the intentionally added altgr keycode Signed-off by Chunyan Liu (cyliu@novell.com) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vnc.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vnc.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vnc.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vnc.c @@ -1308,6 +1308,9 @@ static void do_key_event(VncState *vs, i shift_keys = vs->modifiers_state[0x2a] | vs->modifiers_state[0x36]; altgr_keys = vs->modifiers_state[0xb8]; diff --git a/bdrv_default_rwflag.patch b/bdrv_default_rwflag.patch index 3bf5317..a48bebd 100644 --- a/bdrv_default_rwflag.patch +++ b/bdrv_default_rwflag.patch @@ -1,10 +1,10 @@ Subject: modify default read/write flag in bdrv_init. Signed-off by Chunyan Liu -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vl.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vl.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c @@ -2617,6 +2617,8 @@ int drive_init(struct drive_opt *arg, in strncpy(drives_table[nb_drives].serial, serial, sizeof(serial)); nb_drives++; diff --git a/bdrv_open2_fix_flags.patch b/bdrv_open2_fix_flags.patch index ff6e219..6030d2c 100644 --- a/bdrv_open2_fix_flags.patch +++ b/bdrv_open2_fix_flags.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/block.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/block.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/block.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/block.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/block.c ++++ xen-4.1.2-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) @@ -28,10 +28,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/block.c 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.1.1-testing/tools/ioemu-qemu-xen/hw/usb-msd.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/usb-msd.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/usb-msd.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/usb-msd.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/usb-msd.c ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/usb-msd.c goto fail; s->bs = bdrv; *pbs = bdrv; -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-img.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-img.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/qemu-img.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-img.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/qemu-img.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-img.c @@ -32,7 +32,7 @@ #endif diff --git a/bdrv_open2_flags_2.patch b/bdrv_open2_flags_2.patch index e44888e..6b737e2 100644 --- a/bdrv_open2_flags_2.patch +++ b/bdrv_open2_flags_2.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -237,6 +237,7 @@ static int open_disk(struct td_state *s, BlockDriver* drv; char* devname; @@ -19,10 +19,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c fprintf(stderr, "Could not open image file %s\n", path); return -ENOMEM; } -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -136,7 +136,8 @@ static void insert_media(void *opaque) else format = &bdrv_raw; diff --git a/blktap-pv-cdrom.patch b/blktap-pv-cdrom.patch index bfc1f6a..9935187 100644 --- a/blktap-pv-cdrom.patch +++ b/blktap-pv-cdrom.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/blktap/drivers/block-cdrom.c +Index: xen-4.1.2-testing/tools/blktap/drivers/block-cdrom.c =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/blktap/drivers/block-cdrom.c ++++ xen-4.1.2-testing/tools/blktap/drivers/block-cdrom.c @@ -0,0 +1,535 @@ +/* block-cdrom.c + * @@ -538,10 +538,10 @@ Index: xen-4.1.1-testing/tools/blktap/drivers/block-cdrom.c + .td_get_parent_id = tdcdrom_get_parent_id, + .td_validate_parent = tdcdrom_validate_parent +}; -Index: xen-4.1.1-testing/xen/include/public/io/cdromif.h +Index: xen-4.1.2-testing/xen/include/public/io/cdromif.h =================================================================== --- /dev/null -+++ xen-4.1.1-testing/xen/include/public/io/cdromif.h ++++ xen-4.1.2-testing/xen/include/public/io/cdromif.h @@ -0,0 +1,122 @@ +/****************************************************************************** + * cdromif.h @@ -665,10 +665,10 @@ Index: xen-4.1.1-testing/xen/include/public/io/cdromif.h + sizeof(struct vcd_generic_command) - sizeof(struct request_sense)) + +#endif -Index: xen-4.1.1-testing/tools/blktap/drivers/Makefile +Index: xen-4.1.2-testing/tools/blktap/drivers/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/drivers/Makefile -+++ xen-4.1.1-testing/tools/blktap/drivers/Makefile +--- xen-4.1.2-testing.orig/tools/blktap/drivers/Makefile ++++ xen-4.1.2-testing/tools/blktap/drivers/Makefile @@ -28,8 +28,9 @@ CFLAGS += -DMEMSHR MEMSHRLIBS += $(MEMSHR_DIR)/libmemshr.a endif @@ -689,10 +689,10 @@ Index: xen-4.1.1-testing/tools/blktap/drivers/Makefile BLK-OBJS-y += aes.o BLK-OBJS-y += tapaio.o BLK-OBJS-$(CONFIG_Linux) += blk_linux.o -Index: xen-4.1.1-testing/tools/blktap/drivers/tapdisk.h +Index: xen-4.1.2-testing/tools/blktap/drivers/tapdisk.h =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/drivers/tapdisk.h -+++ xen-4.1.1-testing/tools/blktap/drivers/tapdisk.h +--- xen-4.1.2-testing.orig/tools/blktap/drivers/tapdisk.h ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/blktap/drivers/tapdisk.h }; typedef struct driver_list_entry { -Index: xen-4.1.1-testing/tools/blktap/lib/blktaplib.h +Index: xen-4.1.2-testing/tools/blktap/lib/blktaplib.h =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/lib/blktaplib.h -+++ xen-4.1.1-testing/tools/blktap/lib/blktaplib.h +--- xen-4.1.2-testing.orig/tools/blktap/lib/blktaplib.h ++++ xen-4.1.2-testing/tools/blktap/lib/blktaplib.h @@ -225,6 +225,7 @@ typedef struct msg_pid { #define DISK_TYPE_RAM 3 #define DISK_TYPE_QCOW 4 @@ -749,10 +749,10 @@ Index: xen-4.1.1-testing/tools/blktap/lib/blktaplib.h /* xenstore/xenbus: */ #define DOMNAME "Domain-0" -Index: xen-4.1.1-testing/xen/include/public/io/blkif.h +Index: xen-4.1.2-testing/xen/include/public/io/blkif.h =================================================================== ---- xen-4.1.1-testing.orig/xen/include/public/io/blkif.h -+++ xen-4.1.1-testing/xen/include/public/io/blkif.h +--- xen-4.1.2-testing.orig/xen/include/public/io/blkif.h ++++ xen-4.1.2-testing/xen/include/public/io/blkif.h @@ -80,7 +80,7 @@ * Used in SLES sources for device specific command packet * contained within the request. Reserved for that purpose. @@ -762,10 +762,10 @@ Index: xen-4.1.1-testing/xen/include/public/io/blkif.h /* * Recognised only if "feature-trim" is present in backend xenbus info. * The "feature-trim" node contains a boolean indicating whether trim -Index: xen-4.1.1-testing/tools/blktap/drivers/tapdisk.c +Index: xen-4.1.2-testing/tools/blktap/drivers/tapdisk.c =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/drivers/tapdisk.c -+++ xen-4.1.1-testing/tools/blktap/drivers/tapdisk.c +--- xen-4.1.2-testing.orig/tools/blktap/drivers/tapdisk.c ++++ xen-4.1.2-testing/tools/blktap/drivers/tapdisk.c @@ -735,6 +735,22 @@ static void get_io_request(struct td_sta goto out; } @@ -789,10 +789,10 @@ Index: xen-4.1.1-testing/tools/blktap/drivers/tapdisk.c default: DPRINTF("Unknown block operation\n"); break; -Index: xen-4.1.1-testing/tools/python/xen/xend/server/BlktapController.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/BlktapController.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/BlktapController.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/BlktapController.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/BlktapController.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/BlktapController.py @@ -15,6 +15,7 @@ blktap1_disk_types = [ 'ram', 'qcow', diff --git a/blktap.patch b/blktap.patch index 9101401..327b20a 100644 --- a/blktap.patch +++ b/blktap.patch @@ -1,10 +1,10 @@ bug #239173 bug #242953 -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -3295,7 +3295,7 @@ class XendDomainInfo: (fn, BOOTLOADER_LOOPBACK_DEVICE)) @@ -14,10 +14,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py 'device': BOOTLOADER_LOOPBACK_DEVICE, } -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -447,9 +447,9 @@ void xenstore_parse_domain_config(int hv { char **e_danger = NULL; diff --git a/blktapctrl-default-to-ioemu.patch b/blktapctrl-default-to-ioemu.patch index 050a4b4..01c3786 100644 --- a/blktapctrl-default-to-ioemu.patch +++ b/blktapctrl-default-to-ioemu.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/blktap/drivers/tapdisk.h +Index: xen-4.1.2-testing/tools/blktap/drivers/tapdisk.h =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/drivers/tapdisk.h -+++ xen-4.1.1-testing/tools/blktap/drivers/tapdisk.h +--- xen-4.1.2-testing.orig/tools/blktap/drivers/tapdisk.h ++++ xen-4.1.2-testing/tools/blktap/drivers/tapdisk.h @@ -168,7 +168,7 @@ static disk_info_t aio_disk = { "raw image (aio)", "aio", diff --git a/block-npiv b/block-npiv index e111ae2..7128935 100644 --- a/block-npiv +++ b/block-npiv @@ -15,7 +15,7 @@ case "$command" in # single path: # FABRIC-VPWWPN-VPWWNN-TGTWWPN-LUN# # multipath: - # {FABRIC1,FABRIC2}-{VPWWPN1,VPWWPN2,VPWWPN3}-VPWWNN-TGTWWPN-LUN# + # {FABRIC1.FABRIC2}-{VPWWPN1.VPWWPN2.VPWWPN3}-VPWWNN-TGTWWPN-LUN# # arg 2 - Fabric Name # arg 3 - VPORT's WWPN # arg 4 - VPORT's WWNN @@ -38,9 +38,9 @@ case "$command" in # Ensure we compare everything using lower-case hex characters TGTWWPN=`echo $TGTWWPN | tr A-Z a-z` - VPORTWWPNS=`echo $VPORTWWPNS | tr A-Z a-z |sed 's/[{,}]/ /g'` + VPORTWWPNS=`echo $VPORTWWPNS | tr A-Z a-z |sed 's/[{.}]/ /g'` VPORTWWNN=`echo $VPORTWWNN | tr A-Z a-z` - FABRICNMS=`echo $FABRICNMS | tr A-Z a-z |sed 's/[{,}]/ /g'` + FABRICNMS=`echo $FABRICNMS | tr A-Z a-z |sed 's/[{.}]/ /g'` claim_lock "npiv" @@ -98,8 +98,8 @@ case "$command" in NPIVARGS=$par; FABRICNMS=${NPIVARGS%%-*}; NPIVARGS=${NPIVARGS#*-} VPORTWWPNS=${NPIVARGS%%-*} - VPORTWWPNS=`echo $VPORTWWPNS | tr A-Z a-z |sed 's/[{,}]/ /g'` - FABRICNMS=`echo $FABRICNMS | tr A-Z a-z |sed 's/[{,}]/ /g'` + VPORTWWPNS=`echo $VPORTWWPNS | tr A-Z a-z |sed 's/[{.}]/ /g'` + FABRICNMS=`echo $FABRICNMS | tr A-Z a-z |sed 's/[{.}]/ /g'` for FABRICNM in $FABRICNMS; do for VPORTWWPN in $VPORTWWPNS; do find_vhost $VPORTWWPN $FABRICNM diff --git a/block-npiv-common.sh b/block-npiv-common.sh index 289fd41..23069b5 100644 --- a/block-npiv-common.sh +++ b/block-npiv-common.sh @@ -14,9 +14,9 @@ find_vhost() if test $wwpn = $1 ; then # Note: makes the assumption the vport will always have an scsi_host child vhost=`ls -d $fchost/device/host*` - fname=`cat $fchost/fabric_name | sed -e s/^0x//` - if test $fname = $2 ; then - vhost=`basename $vhost` + vhost=`basename $vhost` + fname=`cat /sys/class/fc_host/$vhost/fabric_name | sed -e s/^0x//` + if test $fname = $2 ; then return fi fi @@ -31,9 +31,9 @@ find_vhost() wwpn=`cat $fchost/port_name | sed -e s/^0x//` if test $wwpn = $1 ; then # Note: makes the assumption the vport will always have an scsi_host child + vhost=`basename $fchost` fname=`cat $fchost/fabric_name | sed -e s/^0x//` - if test $fname = $2 ; then - vhost=`basename $fchost` + if test $fname = $2 ; then return fi fi @@ -81,14 +81,37 @@ create_vport() if [ -e $shost/vport_create ] ; then fchost=`ls -d $shost/device/fc_host*` # is the link up, w/ NPIV support ? - pstate=`cat $fchost/port_state` - ptype=`cat $fchost/port_type | cut -c 1-5` - fname=`cat $fchost/fabric_name | sed -e s/^0x//` - if [ $pstate = "Online" -a $ptype = "NPort" -a $fname = $1 ] ; then - vmax=`cat $shost/max_npiv_vports` - vinuse=`cat $shost/npiv_vports_inuse` - avail=`expr $vmax - $vinuse` - if [ $avail -gt 0 ] ; then + if [ -e $fchost/port_state ] ; then + pstate=`cat $fchost/port_state` + ptype=`cat $fchost/port_type | cut -c 1-5` + fname=`cat $fchost/fabric_name | sed -e s/^0x//` + if [ $pstate = "Online" -a $ptype = "NPort" -a $fname = $1 ] ; then + vmax=`cat $shost/max_npiv_vports` + vinuse=`cat $shost/npiv_vports_inuse` + avail=`expr $vmax - $vinuse` + if [ $avail -gt 0 ] ; then + # create the vport + echo $2":"$3 > $shost/vport_create + if [ $? -eq 0 ] ; then + return 0 + fi + # failed - so we'll just look for the next adapter + fi + fi + fi + fi + done + + # BFA are under adapter scsi_host + for shost in /sys/class/scsi_host/* ; do + if [ -e $shost/vport_create ] ; then + fchost=`ls -d $shost/device/fc_host/*` + # is the link up, w/ NPIV support ? + if [ -e $fchost/port_state ] ; then + pstate=`cat $fchost/port_state` + ptype=`cat $fchost/port_type | cut -c 1-5` + fname=`cat $fchost/fabric_name | sed -e s/^0x//` + if [ $pstate = "Online" -a $ptype = "NPort" -a $fname = $1 ] ; then # create the vport echo $2":"$3 > $shost/vport_create if [ $? -eq 0 ] ; then @@ -201,6 +224,18 @@ delete_vhost() return fi + # BFA + if test -e /sys/class/fc_host/$1/device/../scsi_host/*/driver_name ; then + shost=`ls -1d /sys/class/fc_host/$1/device/../scsi_host/* | sed s#.*scsi_host/##` + vportwwpn=`cat /sys/class/fc_host/$1/port_name | sed s/^0x//` + vportwwnn=`cat /sys/class/fc_host/$1/node_name | sed s/^0x//` + echo "$vportwwpn:$vportwwnn" > /sys/class/scsi_host/$shost/vport_delete + if test $? -ne 0 ; then exit 6; fi + sleep 4 + return + fi + + exit 6 } diff --git a/bridge-bonding.diff b/bridge-bonding.diff index e3f60cf..a61d6cf 100644 --- a/bridge-bonding.diff +++ b/bridge-bonding.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/network-bridge +Index: xen-4.1.2-testing/tools/hotplug/Linux/network-bridge =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/network-bridge -+++ xen-4.1.1-testing/tools/hotplug/Linux/network-bridge +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/network-bridge ++++ xen-4.1.2-testing/tools/hotplug/Linux/network-bridge @@ -249,6 +249,9 @@ op_start () { claim_lock "network-bridge" diff --git a/bridge-opensuse.patch b/bridge-opensuse.patch index 1a1ec51..1390bf1 100644 --- a/bridge-opensuse.patch +++ b/bridge-opensuse.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/network-bridge +Index: xen-4.1.2-testing/tools/hotplug/Linux/network-bridge =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/network-bridge -+++ xen-4.1.1-testing/tools/hotplug/Linux/network-bridge +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/network-bridge ++++ xen-4.1.2-testing/tools/hotplug/Linux/network-bridge @@ -278,19 +278,19 @@ op_stop () { transfer_addrs ${bridge} ${pdev} if ! ifdown ${bridge}; then diff --git a/bridge-record-creation.patch b/bridge-record-creation.patch index ac2f374..e18a635 100644 --- a/bridge-record-creation.patch +++ b/bridge-record-creation.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/network-bridge +Index: xen-4.1.2-testing/tools/hotplug/Linux/network-bridge =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/network-bridge -+++ xen-4.1.1-testing/tools/hotplug/Linux/network-bridge +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/network-bridge ++++ xen-4.1.2-testing/tools/hotplug/Linux/network-bridge @@ -257,6 +257,11 @@ op_start () { create_bridge ${tdev} diff --git a/bridge-vlan.diff b/bridge-vlan.diff index 21b951c..8d0b110 100644 --- a/bridge-vlan.diff +++ b/bridge-vlan.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/network-bridge +Index: xen-4.1.2-testing/tools/hotplug/Linux/network-bridge =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/network-bridge -+++ xen-4.1.1-testing/tools/hotplug/Linux/network-bridge +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/network-bridge ++++ xen-4.1.2-testing/tools/hotplug/Linux/network-bridge @@ -193,6 +193,28 @@ antispoofing () { iptables -A FORWARD -m physdev --physdev-in ${pdev} -j ACCEPT } diff --git a/build-tapdisk-ioemu.patch b/build-tapdisk-ioemu.patch index 9ddaf56..af9787d 100644 --- a/build-tapdisk-ioemu.patch +++ b/build-tapdisk-ioemu.patch @@ -15,10 +15,10 @@ Signed-off-by: Kevin Wolf tapdisk-ioemu.c | 17 ----------------- 4 files changed, 17 insertions(+), 26 deletions(-) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/Makefile -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/Makefile ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile @@ -46,14 +46,6 @@ $(filter %-user,$(SUBDIR_RULES)): libqem recurse-all: $(SUBDIR_RULES) @@ -56,10 +56,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile ###################################################################### # 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.1.1-testing/tools/ioemu-qemu-xen/configure +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/configure =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/configure -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/configure +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/configure ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/configure @@ -1511,7 +1511,7 @@ bsd) ;; esac @@ -69,10 +69,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/configure if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then tools="qemu-img\$(EXESUF) $tools" if [ "$linux" = "yes" ] ; then -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-tool.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-tool.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/qemu-tool.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-tool.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/qemu-tool.c ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-tool.c IOCanRWHandler *fd_read_poll, IOHandler *fd_read, IOHandler *fd_write, -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c @@ -12,34 +12,12 @@ extern void qemu_aio_init(void); diff --git a/capslock_enable.patch b/capslock_enable.patch index 2ca3734..bf68962 100644 --- a/capslock_enable.patch +++ b/capslock_enable.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vnc.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vnc.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vnc.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vnc.c @@ -1342,6 +1342,11 @@ static void do_key_event(VncState *vs, i } break; diff --git a/cdrom-removable.patch b/cdrom-removable.patch index ef19675..cdf3652 100644 --- a/cdrom-removable.patch +++ b/cdrom-removable.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/server/HalDaemon.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/HalDaemon.py =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/python/xen/xend/server/HalDaemon.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/HalDaemon.py @@ -0,0 +1,243 @@ +#!/usr/bin/env python +# -*- mode: python; -*- @@ -246,10 +246,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/server/HalDaemon.py + print 'Falling off end' + + -Index: xen-4.1.1-testing/tools/python/xen/xend/server/Hald.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/Hald.py =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/python/xen/xend/server/Hald.py ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/server/Hald.py + watcher.run() + time.sleep(10) + watcher.shutdown() -Index: xen-4.1.1-testing/tools/python/xen/xend/server/SrvServer.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/SrvServer.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/SrvServer.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/SrvServer.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/SrvServer.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/SrvServer.py @@ -57,6 +57,7 @@ from xen.web.SrvDir import SrvDir from SrvRoot import SrvRoot @@ -397,10 +397,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/server/SrvServer.py def create(): root = SrvDir() -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -18,6 +18,7 @@ #include "exec-all.h" #include "sysemu.h" diff --git a/change-vnc-passwd.patch b/change-vnc-passwd.patch index 98b3673..1f80fa2 100644 --- a/change-vnc-passwd.patch +++ b/change-vnc-passwd.patch @@ -2,10 +2,10 @@ Add support of change-vnc-password while vm is running. Signed-off-by: Chunyan Liu -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vl.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vl.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c @@ -200,7 +200,7 @@ DriveInfo drives_table[MAX_DRIVES+1]; int nb_drives; enum vga_retrace_method vga_retrace_method = VGA_RETRACE_DUMB; @@ -15,10 +15,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c int nographic; static int curses; static int sdl; -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vnc.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vnc.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vnc.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vnc.c @@ -2591,6 +2591,7 @@ int vnc_display_password(DisplayState *d if (password && password[0]) { if (!(vs->password = qemu_strdup(password))) @@ -27,10 +27,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c } return 0; -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -25,6 +25,7 @@ #include "qemu-timer.h" #include "qemu-xen.h" @@ -59,10 +59,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c } else if (!strncmp(command, "usb-add", len)) { fprintf(logfile, "dm-command: usb-add a usb device\n"); if (pasprintf(&path, -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -1488,6 +1488,20 @@ class XendDomainInfo: target = max_target self.setMemoryTarget(target) @@ -84,10 +84,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py def setMemoryTarget(self, target): """Set the memory target of this domain. @param target: In MiB. -Index: xen-4.1.1-testing/tools/python/xen/xend/server/XMLRPCServer.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/XMLRPCServer.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/XMLRPCServer.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/XMLRPCServer.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/XMLRPCServer.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/XMLRPCServer.py @@ -95,7 +95,7 @@ methods = ['device_create', 'device_conf 'destroyDevice','getDeviceSxprs', 'setMemoryTarget', 'setName', 'setVCpuCount', 'shutdown', @@ -97,10 +97,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/server/XMLRPCServer.py exclude = ['domain_create', 'domain_restore'] -Index: xen-4.1.1-testing/tools/python/xen/xm/main.py +Index: xen-4.1.2-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.1.1-testing/tools/python/xen/xm/main.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.1.2-testing/tools/python/xen/xm/main.py @@ -21,6 +21,7 @@ """Grand unified management application for Xen. diff --git a/change_home_server.patch b/change_home_server.patch index 0790a04..a7da5cd 100644 --- a/change_home_server.patch +++ b/change_home_server.patch @@ -1,8 +1,8 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -3129,6 +3129,11 @@ class XendDomainInfo: +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -3130,6 +3130,11 @@ class XendDomainInfo: self._cleanup_phantom_devs(paths) self._cleanupVm() diff --git a/check_device_status.patch b/check_device_status.patch index 2778651..9d3eb09 100644 --- a/check_device_status.patch +++ b/check_device_status.patch @@ -5,10 +5,10 @@ get the signal, it will wait until timeout, thus incorrect device status is returned. To fix this problem, we do not depend on ev.wait() result, but read xenstore directly to get correct device status. -Index: xen-4.1.1-testing/tools/python/xen/xend/server/DevController.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/DevController.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/DevController.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/DevController.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/DevController.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/DevController.py @@ -149,7 +149,10 @@ class DevController: (status, err) = self.waitForBackend(devid) diff --git a/checkpoint-rename.patch b/checkpoint-rename.patch index 261df20..9e64bcc 100644 --- a/checkpoint-rename.patch +++ b/checkpoint-rename.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendCheckpoint.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendCheckpoint.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py @@ -172,7 +172,7 @@ def save(fd, dominfo, network, live, dst dominfo.destroy() dominfo.testDeviceComplete() diff --git a/del_usb_xend_entry.patch b/del_usb_xend_entry.patch index ef0ddbc..2a7f19c 100644 --- a/del_usb_xend_entry.patch +++ b/del_usb_xend_entry.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -1296,8 +1296,15 @@ class XendDomainInfo: frontpath = self.getDeviceController(deviceClass).frontendPath(dev) backpath = xstransact.Read(frontpath, "backend") diff --git a/disable-xl-when-using-xend.patch b/disable-xl-when-using-xend.patch index 9a1268e..f102213 100644 --- a/disable-xl-when-using-xend.patch +++ b/disable-xl-when-using-xend.patch @@ -5,10 +5,10 @@ toolstack. xl could be useful even when xend is running, e.g. to debug xend itself, so add a '-f' option to override the exit. -Index: xen-4.1.1-testing/tools/libxl/xl.c +Index: xen-4.1.2-testing/tools/libxl/xl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxl/xl.c -+++ xen-4.1.1-testing/tools/libxl/xl.c +--- xen-4.1.2-testing.orig/tools/libxl/xl.c ++++ xen-4.1.2-testing/tools/libxl/xl.c @@ -88,12 +88,16 @@ int main(int argc, char **argv) char *config_file; void *config_data = 0; @@ -50,10 +50,10 @@ Index: xen-4.1.1-testing/tools/libxl/xl.c logger = xtl_createlogger_stdiostream(stderr, minmsglevel, 0); if (!logger) exit(1); -Index: xen-4.1.1-testing/tools/libxl/xl_cmdimpl.c +Index: xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxl/xl_cmdimpl.c -+++ xen-4.1.1-testing/tools/libxl/xl_cmdimpl.c +--- xen-4.1.2-testing.orig/tools/libxl/xl_cmdimpl.c ++++ xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c @@ -1725,7 +1725,7 @@ void help(const char *command) struct cmd_spec *cmd; diff --git a/disable_emulated_device.diff b/disable_emulated_device.diff index fde88f6..3468705 100644 --- a/disable_emulated_device.diff +++ b/disable_emulated_device.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -426,6 +426,11 @@ static int __devinit platform_pci_init(s platform_mmio = mmio_addr; platform_mmiolen = mmio_len; diff --git a/dom-print.patch b/dom-print.patch index 5ccc727..63fd961 100644 --- a/dom-print.patch +++ b/dom-print.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/xen/arch/x86/domain.c +Index: xen-4.1.2-testing/xen/arch/x86/domain.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/domain.c -+++ xen-4.1.1-testing/xen/arch/x86/domain.c +--- xen-4.1.2-testing.orig/xen/arch/x86/domain.c ++++ xen-4.1.2-testing/xen/arch/x86/domain.c @@ -150,15 +150,30 @@ void dump_pageframe_info(struct domain * printk("Memory pages belonging to domain %u:\n", d->domain_id); diff --git a/domu-usb-controller.patch b/domu-usb-controller.patch index 478ce91..6b7abbc 100644 --- a/domu-usb-controller.patch +++ b/domu-usb-controller.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py @@ -1874,7 +1874,14 @@ class XendConfig(dict): ports = sxp.child(dev_sxp, 'port') for port in ports[1:]: diff --git a/hibernate.patch b/hibernate.patch index 01b66a3..d016c52 100644 --- a/hibernate.patch +++ b/hibernate.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/firmware/hvmloader/acpi/dsdt.asl +Index: xen-4.1.2-testing/tools/firmware/hvmloader/acpi/dsdt.asl =================================================================== ---- xen-4.1.1-testing.orig/tools/firmware/hvmloader/acpi/dsdt.asl -+++ xen-4.1.1-testing/tools/firmware/hvmloader/acpi/dsdt.asl +--- xen-4.1.2-testing.orig/tools/firmware/hvmloader/acpi/dsdt.asl ++++ xen-4.1.2-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: diff --git a/hotplug.losetup.patch b/hotplug.losetup.patch index 5e062c8..0f44e46 100644 --- a/hotplug.losetup.patch +++ b/hotplug.losetup.patch @@ -17,10 +17,10 @@ Signed-off-by: Olaf Hering tools/hotplug/Linux/block | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: xen-4.1.1-testing/tools/hotplug/Linux/block +Index: xen-4.1.2-testing/tools/hotplug/Linux/block =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/block -+++ xen-4.1.1-testing/tools/hotplug/Linux/block +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/block ++++ xen-4.1.2-testing/tools/hotplug/Linux/block @@ -280,8 +280,8 @@ mount it read-write in a guest domain." fi diff --git a/hv_extid_compatibility.patch b/hv_extid_compatibility.patch index f833e34..d757343 100644 --- a/hv_extid_compatibility.patch +++ b/hv_extid_compatibility.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py @@ -159,6 +159,7 @@ XENAPI_PLATFORM_CFG_TYPES = { 'nographic': int, 'nomigrate': int, @@ -19,10 +19,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py if 'viridian' not in self['platform']: self['platform']['viridian'] = 0 if 'rtc_timeoffset' not in self['platform']: -Index: xen-4.1.1-testing/tools/python/xen/xend/image.py +Index: xen-4.1.2-testing/tools/python/xen/xend/image.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/image.py -+++ xen-4.1.1-testing/tools/python/xen/xend/image.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.1.2-testing/tools/python/xen/xend/image.py @@ -839,6 +839,7 @@ class HVMImageHandler(ImageHandler): self.apic = int(vmConfig['platform'].get('apic', 0)) @@ -31,10 +31,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/image.py self.guest_os_type = vmConfig['platform'].get('guest_os_type') self.memory_sharing = int(vmConfig['memory_sharing']) try: -Index: xen-4.1.1-testing/tools/python/xen/xm/create.py +Index: xen-4.1.2-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.1.1-testing/tools/python/xen/xm/create.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.1.2-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).""") diff --git a/ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch b/ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch index a623183..87d656f 100644 --- a/ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch +++ b/ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch @@ -17,10 +17,10 @@ qcow2 image (the header is gone after three loop iterations): Signed-off-by: Kevin Wolf -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/block-qcow2.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/block-qcow2.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/block-qcow2.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/block-qcow2.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/block-qcow2.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/block-qcow2.c @@ -916,7 +916,7 @@ static int alloc_cluster_link_l2(BlockDr goto err; diff --git a/ioemu-bdrv-open-CACHE_WB.patch b/ioemu-bdrv-open-CACHE_WB.patch index e43bbe8..664bc83 100644 --- a/ioemu-bdrv-open-CACHE_WB.patch +++ b/ioemu-bdrv-open-CACHE_WB.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -259,8 +259,11 @@ static int open_disk(struct td_state *s, drv = blktap_drivers[i].drv; DPRINTF("%s driver specified\n", drv ? drv->format_name : "No"); diff --git a/ioemu-blktap-barriers.patch b/ioemu-blktap-barriers.patch index a7bc766..91e398f 100644 --- a/ioemu-blktap-barriers.patch +++ b/ioemu-blktap-barriers.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -360,6 +360,15 @@ static void qemu_send_responses(void* op } diff --git a/ioemu-blktap-fv-init.patch b/ioemu-blktap-fv-init.patch index e4bc01a..669367d 100644 --- a/ioemu-blktap-fv-init.patch +++ b/ioemu-blktap-fv-init.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_machine_fv.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_machine_fv.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c @@ -269,6 +269,7 @@ void qemu_invalidate_entry(uint8_t *buff #endif /* defined(MAPCACHE) */ diff --git a/ioemu-blktap-image-format.patch b/ioemu-blktap-image-format.patch index fd97587..516352c 100644 --- a/ioemu-blktap-image-format.patch +++ b/ioemu-blktap-image-format.patch @@ -15,10 +15,10 @@ Signed-off-by: Kevin Wolf hw/xen_blktap.h | 14 ++++++++++++++ 2 files changed, 33 insertions(+), 3 deletions(-) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -230,9 +230,10 @@ static int map_new_dev(struct td_state * return -1; } @@ -64,10 +64,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c msglen = sizeof(msg_hdr_t); msg->type = CTLMSG_IMG_FAIL; msg->len = msglen; -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h @@ -53,4 +53,18 @@ typedef struct fd_list_entry { int init_blktap(void); diff --git a/ioemu-blktap-zero-size.patch b/ioemu-blktap-zero-size.patch index 970ed92..438a649 100644 --- a/ioemu-blktap-zero-size.patch +++ b/ioemu-blktap-zero-size.patch @@ -12,10 +12,10 @@ Signed-off-by: Kevin Wolf hw/xen_blktap.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -268,6 +268,12 @@ static int open_disk(struct td_state *s, s->size = bs->total_sectors; s->sector_size = 512; @@ -29,10 +29,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c s->info = ((s->flags & TD_RDONLY) ? VDISK_READONLY : 0); return 0; -Index: xen-4.1.1-testing/tools/python/xen/xend/server/DevController.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/DevController.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/DevController.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/DevController.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/DevController.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/DevController.py @@ -155,7 +155,7 @@ class DevController: (devid, self.deviceClass)) diff --git a/ioemu-debuginfo.patch b/ioemu-debuginfo.patch index 526a973..98bac18 100644 --- a/ioemu-debuginfo.patch +++ b/ioemu-debuginfo.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/Makefile -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/Makefile ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile endif ifneq ($(BLOBS),) mkdir -p "$(DESTDIR)$(datadir)" -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile.target +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile.target =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/Makefile.target -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile.target +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/Makefile.target ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile.target @@ -755,7 +755,7 @@ clean: install: all install-hook diff --git a/ioemu-disable-emulated-ide-if-pv.patch b/ioemu-disable-emulated-ide-if-pv.patch index 4714c8f..ce41e81 100644 --- a/ioemu-disable-emulated-ide-if-pv.patch +++ b/ioemu-disable-emulated-ide-if-pv.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-xen.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-xen.h @@ -1,6 +1,8 @@ #ifndef QEMU_XEN_H #define QEMU_XEN_H @@ -20,10 +20,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h int xenstore_parse_disable_pf_config(void); int xenstore_fd(void); void xenstore_process_event(void *opaque); -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vl.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vl.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c @@ -5852,9 +5852,9 @@ int main(int argc, char **argv, char **e if ((msg = xenbus_read(XBT_NIL, "domid", &domid_s))) fprintf(stderr,"Can not read our own domid: %s\n", msg); @@ -36,10 +36,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c #endif /* CONFIG_STUBDOM */ } -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -448,7 +448,7 @@ void xenstore_init(void) } } diff --git a/ioemu-disable-scsi.patch b/ioemu-disable-scsi.patch index d9169fe..392e76c 100644 --- a/ioemu-disable-scsi.patch +++ b/ioemu-disable-scsi.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_platform.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c fprintf(logfile, "Disconnect netifs...\n"); pci_unplug_netifs(); fprintf(logfile, "Shutdown taps...\n"); -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-xen.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-xen.h @@ -57,6 +57,7 @@ void unset_vram_mapping(void *opaque); #endif @@ -23,10 +23,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h void destroy_hvm_domain(void); void unregister_iomem(target_phys_addr_t start); -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pci.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/pci.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/pci.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pci.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/pci.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/pci.c @@ -871,6 +871,50 @@ void pci_unplug_netifs(void) } } diff --git a/ioemu-vnc-resize.patch b/ioemu-vnc-resize.patch index d261142..1c1b3d2 100644 --- a/ioemu-vnc-resize.patch +++ b/ioemu-vnc-resize.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vnc.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vnc.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vnc.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vnc.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vnc.c @@ -1734,6 +1734,25 @@ static int protocol_client_msg(VncState } diff --git a/ioemu-watchdog-ib700-timer.patch b/ioemu-watchdog-ib700-timer.patch index ea4b46f..cdcff78 100644 --- a/ioemu-watchdog-ib700-timer.patch +++ b/ioemu-watchdog-ib700-timer.patch @@ -14,10 +14,10 @@ qemu_del_timer(). Signed-off-by: Markus Armbruster Signed-off-by: Anthony Liguori -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/wdt_ib700.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/wdt_ib700.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c @@ -93,6 +93,7 @@ static int ib700_load(QEMUFile *f, void /* Create and initialize a virtual IB700 during PC creation. */ static void ib700_pc_init(PCIBus *unused) diff --git a/ioemu-watchdog-linkage.patch b/ioemu-watchdog-linkage.patch index aa1831c..dfc8849 100644 --- a/ioemu-watchdog-linkage.patch +++ b/ioemu-watchdog-linkage.patch @@ -7,10 +7,10 @@ Git: 88b3be201acf64e0bd19782bebd533901c951c87 Signed-off-by: Markus Armbruster Signed-off-by: Anthony Liguori -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/watchdog.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/watchdog.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/watchdog.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/watchdog.c @@ -26,6 +26,16 @@ #include "sysemu.h" #include "hw/watchdog.h" @@ -28,10 +28,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.c static LIST_HEAD(watchdog_list, WatchdogTimerModel) watchdog_list; void watchdog_add_model(WatchdogTimerModel *model) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/watchdog.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/watchdog.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/watchdog.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/watchdog.h @@ -27,13 +27,6 @@ extern void wdt_i6300esb_init(void); extern void wdt_ib700_init(void); @@ -57,10 +57,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.h /* in hw/watchdog.c */ extern int select_watchdog(const char *p); extern int select_watchdog_action(const char *action); -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vl.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vl.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c @@ -250,8 +250,6 @@ int no_shutdown = 0; int cursor_hide = 1; int graphic_rotate = 0; diff --git a/ioemu-watchdog-support.patch b/ioemu-watchdog-support.patch index 12129bd..8589348 100644 --- a/ioemu-watchdog-support.patch +++ b/ioemu-watchdog-support.patch @@ -10,10 +10,10 @@ everything that was raised about the previous version ... Signed-off-by: Richard W.M. Jones Signed-off-by: Anthony Liguori -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile.target +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile.target =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/Makefile.target -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile.target +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/Makefile.target ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/Makefile.target @@ -580,6 +580,10 @@ OBJS += e1000.o # Serial mouse OBJS += msmouse.o @@ -25,10 +25,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/Makefile.target ifeq ($(TARGET_BASE_ARCH), i386) # Hardware support ifdef CONFIG_AUDIO -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pc.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/pc.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/pc.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pc.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/pc.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/pc.c @@ -41,6 +41,7 @@ #include "virtio-balloon.h" #include "virtio-console.h" @@ -46,10 +46,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pc.c for(i = 0; i < nb_nics; i++) { NICInfo *nd = &nd_table[i]; -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/watchdog.c =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/watchdog.c @@ -0,0 +1,136 @@ +/* + * Virtual hardware watchdog. @@ -187,10 +187,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.c + wdt_ib700_init(); + wdt_i6300esb_init(); +} -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/watchdog.h =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/watchdog.h @@ -0,0 +1,65 @@ +/* + * Virtual hardware watchdog. @@ -257,10 +257,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/watchdog.h +extern void register_watchdogs(void); + +#endif /* QEMU_WATCHDOG_H */ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/wdt_i6300esb.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/wdt_i6300esb.c =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/wdt_i6300esb.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/wdt_i6300esb.c @@ -0,0 +1,470 @@ +/* + * Virtual hardware watchdog. @@ -732,10 +732,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/wdt_i6300esb.c +{ + watchdog_add_model(&model); +} -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c @@ -0,0 +1,112 @@ +/* + * Virtual hardware watchdog. @@ -849,10 +849,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/wdt_ib700.c + watchdog_add_model(&model); + timer = qemu_new_timer(vm_clock, ib700_timer_expired, NULL); +} -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/monitor.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/monitor.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/monitor.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/monitor.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/monitor.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/monitor.c @@ -26,6 +26,7 @@ #include "hw/pcmcia.h" #include "hw/pc.h" @@ -884,10 +884,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/monitor.c { "cpu_set", "is", do_cpu_set_nr, "cpu [online|offline]", "change cpu state" }, { NULL, NULL, }, -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/vl.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/vl.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/vl.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/vl.c @@ -30,6 +30,7 @@ #include "hw/isa.h" #include "hw/baum.h" diff --git a/kernel-boot-hvm.patch b/kernel-boot-hvm.patch index 01bd4f7..45bf557 100644 --- a/kernel-boot-hvm.patch +++ b/kernel-boot-hvm.patch @@ -4,10 +4,10 @@ kernel and initrd, which could be accessed by hvmloader. Signed-off-by: Chunyan Liu -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/block.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/block.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/block.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/block.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/block.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/block.c @@ -596,6 +596,16 @@ int bdrv_read(BlockDriverState *bs, int6 if (bdrv_check_request(bs, sector_num, nb_sectors)) @@ -79,10 +79,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/block.c ret = drv->bdrv_aio_write(bs, sector_num, buf, nb_sectors, cb, opaque); if (ret) { -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/block_int.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/block_int.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/block_int.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/block_int.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/block_int.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/block_int.h @@ -122,6 +122,9 @@ struct BlockDriverState { BlockDriver *drv; /* NULL means no media */ void *opaque; @@ -93,10 +93,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/block_int.h char filename[1024]; char backing_file[1024]; /* if non zero, the image is a diff of this file image */ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pc.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/pc.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/pc.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pc.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/pc.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/pc.c @@ -474,45 +474,28 @@ static void bochs_bios_init(void) /* Generate an initial boot sector which sets state and jump to @@ -231,10 +231,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pc.c cpu_irq = qemu_allocate_irqs(pic_irq_request, NULL, 1); i8259 = i8259_init(cpu_irq[0]); ferr_irq = i8259[13]; -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/block.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/block.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/block.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/block.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/block.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/block.h @@ -82,6 +82,7 @@ int64_t bdrv_getlength(BlockDriverState void bdrv_get_geometry(BlockDriverState *bs, uint64_t *nb_sectors_ptr); void bdrv_guess_geometry(BlockDriverState *bs, int *pcyls, int *pheads, int *psecs); diff --git a/libxen_permissive.patch b/libxen_permissive.patch index 5968125..ec9c752 100644 --- a/libxen_permissive.patch +++ b/libxen_permissive.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/libxen/src/xen_common.c +Index: xen-4.1.2-testing/tools/libxen/src/xen_common.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxen/src/xen_common.c -+++ xen-4.1.1-testing/tools/libxen/src/xen_common.c +--- xen-4.1.2-testing.orig/tools/libxen/src/xen_common.c ++++ xen-4.1.2-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) diff --git a/log-guest-console.patch b/log-guest-console.patch index 067c957..4064db8 100644 --- a/log-guest-console.patch +++ b/log-guest-console.patch @@ -6,10 +6,10 @@ Signed-off-by: Chunyan Liu hw/xen_console.c | 71 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 71 insertions(+), 0 deletions(-) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_console.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_console.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_console.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_console.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_console.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_console.c @@ -38,6 +38,8 @@ #include "qemu-char.h" #include "xen_backend.h" diff --git a/magic_ioport_compat.patch b/magic_ioport_compat.patch index f29e4b6..bec8f06 100644 --- a/magic_ioport_compat.patch +++ b/magic_ioport_compat.patch @@ -2,10 +2,10 @@ Make our PV drivers work with older hosts that do not recognize the new PV driv Signed-off-by: K. Y. Srinivasan -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -322,7 +322,10 @@ static int check_platform_magic(struct d if (magic != XEN_IOPORT_MAGIC_VAL) { diff --git a/minios-fixups.patch b/minios-fixups.patch index 5d4c19f..2dfc11e 100644 --- a/minios-fixups.patch +++ b/minios-fixups.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/extras/mini-os/lib/math.c +Index: xen-4.1.2-testing/extras/mini-os/lib/math.c =================================================================== ---- xen-4.1.1-testing.orig/extras/mini-os/lib/math.c -+++ xen-4.1.1-testing/extras/mini-os/lib/math.c +--- xen-4.1.2-testing.orig/extras/mini-os/lib/math.c ++++ xen-4.1.2-testing/extras/mini-os/lib/math.c @@ -187,6 +187,7 @@ __qdivrem(uint64_t uq, uint64_t vq, uint * and thus * m = 4 - n <= 2 diff --git a/multi-xvdp.patch b/multi-xvdp.patch index c896eca..2f1b485 100644 --- a/multi-xvdp.patch +++ b/multi-xvdp.patch @@ -5,10 +5,10 @@ bootloader loopback device. This patch creates a list of bootloader loopback devices so more than one instance of bootloader can be run concurrently. -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -74,7 +74,7 @@ from xen.xend.XendPSCSI import XendPSCSI from xen.xend.XendDSCSI import XendDSCSI, XendDSCSI_HBA @@ -18,7 +18,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py xc = xen.lowlevel.xc.xc() xoptions = XendOptions.instance() -@@ -3298,33 +3298,38 @@ class XendDomainInfo: +@@ -3299,33 +3299,38 @@ 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. @@ -45,8 +45,8 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py + try: + from xen.xend import XendDomain + dom0 = XendDomain.instance().privilegedDomain() -+ vbd_uuid = dom0.create_vbd(vbd, disk) -+ dom0._waitForDeviceFrontUUID(vbd_uuid) ++ mounted_vbd_uuid = dom0.create_vbd(vbd, disk) ++ dom0._waitForDeviceFrontUUID(mounted_vbd_uuid) + fn = loopback_device + break + except VmError, e: diff --git a/network-nat-open-SuSEfirewall2-FORWARD.patch b/network-nat-open-SuSEfirewall2-FORWARD.patch index 5986857..e2ef968 100644 --- a/network-nat-open-SuSEfirewall2-FORWARD.patch +++ b/network-nat-open-SuSEfirewall2-FORWARD.patch @@ -1,9 +1,9 @@ Open SuSEfirewall2 FORWARD rule when use xen nat -Index: xen-4.1.1-testing/tools/hotplug/Linux/network-nat +Index: xen-4.1.2-testing/tools/hotplug/Linux/network-nat =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/network-nat -+++ xen-4.1.1-testing/tools/hotplug/Linux/network-nat +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/network-nat ++++ xen-4.1.2-testing/tools/hotplug/Linux/network-nat @@ -83,6 +83,7 @@ function dhcp_stop() op_start() { echo 1 >/proc/sys/net/ipv4/ip_forward diff --git a/network-nat.patch b/network-nat.patch index 6222fca..b7b1a95 100644 --- a/network-nat.patch +++ b/network-nat.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/network-nat +Index: xen-4.1.2-testing/tools/hotplug/Linux/network-nat =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/network-nat -+++ xen-4.1.1-testing/tools/hotplug/Linux/network-nat +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/network-nat ++++ xen-4.1.2-testing/tools/hotplug/Linux/network-nat @@ -1,4 +1,4 @@ -#!/bin/bash -x +#!/bin/bash diff --git a/pv-driver-build.patch b/pv-driver-build.patch index 7877dc3..d7cb463 100644 --- a/pv-driver-build.patch +++ b/pv-driver-build.patch @@ -1,16 +1,16 @@ -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/blkfront/Kbuild -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/blkfront/Kbuild ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild @@ -3,3 +3,4 @@ include $(M)/overrides.mk obj-m += xen-vbd.o xen-vbd-objs := blkfront.o vbd.o +xen-vbd-objs += $(patsubst %.c,%.o,$(notdir $(wildcard $(src)/vcd.c))) -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -123,6 +123,7 @@ unsigned long alloc_xen_mmio(unsigned lo #ifndef __ia64__ diff --git a/pvdrv-import-shared-info.patch b/pvdrv-import-shared-info.patch index dd0454d..4c61296 100644 --- a/pvdrv-import-shared-info.patch +++ b/pvdrv-import-shared-info.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c @@ -40,7 +40,9 @@ #include #endif @@ -12,10 +12,10 @@ Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c #define is_valid_evtchn(x) ((x) != 0) #define evtchn_from_irq(x) (irq_evtchn[irq].evtchn) -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci. return 0; } -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h @@ -27,6 +27,11 @@ unsigned long alloc_xen_mmio(unsigned long len); void platform_pci_resume(void); diff --git a/pvdrv_emulation_control.patch b/pvdrv_emulation_control.patch index 1903f62..71cd97f 100644 --- a/pvdrv_emulation_control.patch +++ b/pvdrv_emulation_control.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_platform.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c ++++ xen-4.1.2-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"); diff --git a/qemu-dm-segfault.patch b/qemu-dm-segfault.patch index 8bab785..dc73bba 100644 --- a/qemu-dm-segfault.patch +++ b/qemu-dm-segfault.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/ide.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/ide.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/ide.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/ide.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/ide.c ++++ xen-4.1.2-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) diff --git a/qemu-security-etch1.diff b/qemu-security-etch1.diff index eb32f80..f807a85 100644 --- a/qemu-security-etch1.diff +++ b/qemu-security-etch1.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/ne2000.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/ne2000.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/ne2000.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/ne2000.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/ne2000.c ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/ne2000.c return !ne2000_buffer_full(s); } -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pc.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/pc.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/pc.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/pc.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/pc.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/pc.c @@ -413,7 +413,8 @@ static void bochs_bios_write(void *opaqu case 0x400: case 0x401: diff --git a/serial-split.patch b/serial-split.patch index 4366cee..e5cf597 100644 --- a/serial-split.patch +++ b/serial-split.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/misc/serial-split/Makefile +Index: xen-4.1.2-testing/tools/misc/serial-split/Makefile =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/misc/serial-split/Makefile ++++ xen-4.1.2-testing/tools/misc/serial-split/Makefile @@ -0,0 +1,20 @@ +CC ?= gcc +CFLAGS ?= -Wall -Os @@ -23,10 +23,10 @@ Index: xen-4.1.1-testing/tools/misc/serial-split/Makefile + +%.o: %.c Makefile + $(CC) $(CFLAGS) -c -o $@ $< -Index: xen-4.1.1-testing/tools/misc/serial-split/serial-split.c +Index: xen-4.1.2-testing/tools/misc/serial-split/serial-split.c =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/misc/serial-split/serial-split.c ++++ xen-4.1.2-testing/tools/misc/serial-split/serial-split.c @@ -0,0 +1,422 @@ +/* + * serial-split.c diff --git a/snapshot-ioemu-delete.patch b/snapshot-ioemu-delete.patch index 483ad84..09c921a 100644 --- a/snapshot-ioemu-delete.patch +++ b/snapshot-ioemu-delete.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -978,6 +978,18 @@ static void xenstore_process_dm_command_ } @@ -21,10 +21,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c } else if (!strncmp(command, "continue", len)) { fprintf(logfile, "dm-command: continue after state save\n"); xen_pause_requested = 0; -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/savevm.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/savevm.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/savevm.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/savevm.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/savevm.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/savevm.c @@ -1106,6 +1106,35 @@ the_end: return ret; } @@ -61,10 +61,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/savevm.c #ifndef CONFIG_DM void do_savevm(const char *name) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-xen.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-xen.h @@ -42,6 +42,7 @@ enum { /* xen-vl-extra.c */ diff --git a/snapshot-ioemu-restore.patch b/snapshot-ioemu-restore.patch index dca7df8..64920fe 100644 --- a/snapshot-ioemu-restore.patch +++ b/snapshot-ioemu-restore.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -103,6 +103,8 @@ int xenstore_watch_new_callback(const ch } diff --git a/snapshot-ioemu-save.patch b/snapshot-ioemu-save.patch index 6c2c2db..ee74b47 100644 --- a/snapshot-ioemu-save.patch +++ b/snapshot-ioemu-save.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/savevm.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/savevm.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/savevm.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/savevm.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/savevm.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/savevm.c @@ -28,6 +28,7 @@ #include "sysemu.h" #include "qemu-timer.h" @@ -97,10 +97,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/savevm.c #ifndef CONFIG_DM void do_savevm(const char *name) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/i386-dm/helper2.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/i386-dm/helper2.c ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c /* Wait to be allowed to continue */ while (xen_pause_requested) { -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/qemu-xen.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/qemu-xen.h void xenstore_check_new_media_present(int timeout); void xenstore_read_vncpasswd(int domid, char *pwbuf, size_t pwbuflen); void xenstore_write_vslots(char *vslots); -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -17,6 +17,7 @@ #include "exec-all.h" diff --git a/snapshot-without-pv-fix.patch b/snapshot-without-pv-fix.patch index ec43a2a..75beb98 100644 --- a/snapshot-without-pv-fix.patch +++ b/snapshot-without-pv-fix.patch @@ -8,10 +8,10 @@ ready, so the watch will tell qemu to add the disk entry to drives_table[], otherwise the disk in qemu will just stay opened,not showing up in drives_table[]. -Index: xen-4.1.1-testing/tools/blktap/drivers/blktapctrl.c +Index: xen-4.1.2-testing/tools/blktap/drivers/blktapctrl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/drivers/blktapctrl.c -+++ xen-4.1.1-testing/tools/blktap/drivers/blktapctrl.c +--- xen-4.1.2-testing.orig/tools/blktap/drivers/blktapctrl.c ++++ xen-4.1.2-testing/tools/blktap/drivers/blktapctrl.c @@ -380,7 +380,22 @@ static int write_msg(int fd, int msgtype msg->cookie = blkif->cookie; @@ -121,10 +121,10 @@ Index: xen-4.1.1-testing/tools/blktap/drivers/blktapctrl.c ctlfd = blktap_interface_open(); if (ctlfd < 0) { -Index: xen-4.1.1-testing/tools/blktap/lib/blkif.c +Index: xen-4.1.2-testing/tools/blktap/lib/blkif.c =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/lib/blkif.c -+++ xen-4.1.1-testing/tools/blktap/lib/blkif.c +--- xen-4.1.2-testing.orig/tools/blktap/lib/blkif.c ++++ xen-4.1.2-testing/tools/blktap/lib/blkif.c @@ -89,6 +89,11 @@ void register_new_blkif_hook(int (*fn)(b { new_blkif_hook = fn; @@ -162,10 +162,10 @@ Index: xen-4.1.1-testing/tools/blktap/lib/blkif.c void __init_blkif(void) { memset(blkif_hash, 0, sizeof(blkif_hash)); -Index: xen-4.1.1-testing/tools/blktap/lib/blktaplib.h +Index: xen-4.1.2-testing/tools/blktap/lib/blktaplib.h =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/lib/blktaplib.h -+++ xen-4.1.1-testing/tools/blktap/lib/blktaplib.h +--- xen-4.1.2-testing.orig/tools/blktap/lib/blktaplib.h ++++ xen-4.1.2-testing/tools/blktap/lib/blktaplib.h @@ -38,6 +38,7 @@ #include #include @@ -197,10 +197,10 @@ Index: xen-4.1.1-testing/tools/blktap/lib/blktaplib.h /* disk driver types */ #define MAX_DISK_TYPES 20 -Index: xen-4.1.1-testing/tools/blktap/lib/xenbus.c +Index: xen-4.1.2-testing/tools/blktap/lib/xenbus.c =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/lib/xenbus.c -+++ xen-4.1.1-testing/tools/blktap/lib/xenbus.c +--- xen-4.1.2-testing.orig/tools/blktap/lib/xenbus.c ++++ xen-4.1.2-testing/tools/blktap/lib/xenbus.c @@ -318,6 +318,72 @@ static int check_image(struct xs_handle return 0; } @@ -284,10 +284,10 @@ Index: xen-4.1.1-testing/tools/blktap/lib/xenbus.c list_add(&be->list, &belist); -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -35,6 +35,8 @@ #ifndef QEMU_TOOL #include "qemu-common.h" @@ -378,10 +378,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c default: break; } -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h @@ -40,7 +40,8 @@ struct td_state { void *fd_entry; uint64_t sector_size; diff --git a/snapshot-xend.patch b/snapshot-xend.patch index 5ac30c9..56d5ee7 100644 --- a/snapshot-xend.patch +++ b/snapshot-xend.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/image.py +Index: xen-4.1.2-testing/tools/python/xen/xend/image.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/image.py -+++ xen-4.1.1-testing/tools/python/xen/xend/image.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.1.2-testing/tools/python/xen/xend/image.py @@ -490,7 +490,7 @@ class ImageHandler: domains.domains_lock.acquire() @@ -43,10 +43,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/image.py def recreate(self): if self.device_model is None: return -Index: xen-4.1.1-testing/tools/python/xen/xend/server/blkif.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/blkif.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/blkif.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/blkif.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/blkif.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/blkif.py @@ -88,6 +88,10 @@ class BlkifController(DevController): if bootable != None: back['bootable'] = str(bootable) @@ -58,10 +58,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/server/blkif.py if security.on() == xsconstants.XS_POLICY_USE: self.do_access_control(config, uname) -Index: xen-4.1.1-testing/tools/python/xen/xend/server/SrvDomain.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/SrvDomain.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/SrvDomain.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/SrvDomain.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/SrvDomain.py ++++ xen-4.1.2-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]) @@ -103,10 +103,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/server/SrvDomain.py return self.perform(req) # -Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendCheckpoint.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendCheckpoint.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py @@ -65,7 +65,7 @@ def insert_after(list, pred, value): return @@ -233,7 +233,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py if checkpoint: dominfo.resumeDomain() -@@ -228,6 +239,71 @@ def restore(xd, fd, dominfo = None, paus +@@ -231,6 +242,71 @@ def restore(xd, fd, dominfo = None, paus if othervm is not None and othervm.domid is not None: raise VmError("Domain '%s' already exists with ID '%d'" % (domconfig["name_label"], othervm.domid)) @@ -305,7 +305,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py if dominfo: dominfo.resume() else: -@@ -329,24 +405,7 @@ def restore(xd, fd, dominfo = None, paus +@@ -332,24 +408,7 @@ def restore(xd, fd, dominfo = None, paus dominfo.completeRestore(handler.store_mfn, handler.console_mfn) @@ -331,10 +331,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py if not paused: dominfo.unpause() -Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py @@ -244,6 +244,7 @@ XENAPI_CFG_TYPES = { 'memory_sharing': int, 'pool_name' : str, @@ -343,10 +343,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py } # List of legacy configuration keys that have no equivalent in the -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomain.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomain.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomain.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomain.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomain.py ++++ xen-4.1.2-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 @@ -561,10 +561,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomain.py def domain_pincpu(self, domid, vcpu, cpumap): """Set which cpus vcpu can use -Index: xen-4.1.1-testing/tools/python/xen/xm/main.py +Index: xen-4.1.2-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.1.1-testing/tools/python/xen/xm/main.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.1.2-testing/tools/python/xen/xm/main.py @@ -123,6 +123,14 @@ SUBCOMMAND_HELP = { 'Restore a domain from a saved state.'), 'save' : ('[-c|-f] ', @@ -686,10 +686,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xm/main.py "shutdown": xm_shutdown, "start": xm_start, "sysrq": xm_sysrq, -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -508,8 +508,6 @@ class XendDomainInfo: self._setSchedParams() self._storeVmDetails() @@ -699,7 +699,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py self._endRestore() except: log.exception('VM resume failed') -@@ -2368,7 +2366,7 @@ class XendDomainInfo: +@@ -2369,7 +2367,7 @@ class XendDomainInfo: return self.getDeviceController(deviceClass).reconfigureDevice( devid, devconfig) @@ -708,7 +708,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py """Create the devices for a vm. @raise: VmError for invalid devices -@@ -2417,7 +2415,7 @@ class XendDomainInfo: +@@ -2418,7 +2416,7 @@ class XendDomainInfo: if self.image: @@ -717,7 +717,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py #if have pass-through devs, need the virtual pci slots info from qemu self.pci_device_configure_boot() -@@ -3043,7 +3041,7 @@ class XendDomainInfo: +@@ -3044,7 +3042,7 @@ class XendDomainInfo: self._introduceDomain() self.image = image.create(self, self.info) if self.image: diff --git a/stdvga-cache.patch b/stdvga-cache.patch index 5f5ed65..1548dec 100644 --- a/stdvga-cache.patch +++ b/stdvga-cache.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/xen/arch/x86/hvm/stdvga.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/stdvga.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/hvm/stdvga.c -+++ xen-4.1.1-testing/xen/arch/x86/hvm/stdvga.c +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/stdvga.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/stdvga.c @@ -135,7 +135,10 @@ static int stdvga_outb(uint64_t addr, ui /* When in standard vga mode, emulate here all writes to the vram buffer diff --git a/supported_module.diff b/supported_module.diff index bc71fcc..16ca173 100644 --- a/supported_module.diff +++ b/supported_module.diff @@ -2,8 +2,10 @@ Make our PV drivers "Novell supported modules" Signed-off-by: K. Y. Srinivasan +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/Module.supported +=================================================================== --- /dev/null -+++ b/unmodified_drivers/linux-2.6/Module.supported ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/Module.supported @@ -0,0 +1,6 @@ +xen-vbd +xen-platform-pci diff --git a/tapdisk-ioemu-logfile.patch b/tapdisk-ioemu-logfile.patch index e4e4eb8..251da18 100644 --- a/tapdisk-ioemu-logfile.patch +++ b/tapdisk-ioemu-logfile.patch @@ -11,10 +11,10 @@ Signed-off-by: Kevin Wolf tapdisk-ioemu.c | 19 +++++++++++++------ 1 files changed, 13 insertions(+), 6 deletions(-) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c @@ -78,15 +78,22 @@ int main(void) struct timeval tv; void *old_fd_start = NULL; diff --git a/tapdisk-ioemu-shutdown-fix.patch b/tapdisk-ioemu-shutdown-fix.patch index 63bf015..339e3c5 100644 --- a/tapdisk-ioemu-shutdown-fix.patch +++ b/tapdisk-ioemu-shutdown-fix.patch @@ -16,10 +16,10 @@ Signed-off-by: Kevin Wolf tapdisk-ioemu.c | 13 ++++++++++--- 2 files changed, 14 insertions(+), 4 deletions(-) -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c @@ -67,6 +67,7 @@ int read_fd; int write_fd; @@ -46,10 +46,10 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c case CTLMSG_PID: memset(buf, 0x00, MSG_SIZE); -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c @@ -14,6 +14,7 @@ extern void qemu_aio_init(void); extern void qemu_aio_poll(void); diff --git a/tmp-initscript-modprobe.patch b/tmp-initscript-modprobe.patch index 6d85043..62810d0 100644 --- a/tmp-initscript-modprobe.patch +++ b/tmp-initscript-modprobe.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/init.d/xencommons +Index: xen-4.1.2-testing/tools/hotplug/Linux/init.d/xencommons =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/init.d/xencommons -+++ xen-4.1.1-testing/tools/hotplug/Linux/init.d/xencommons +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/init.d/xencommons ++++ xen-4.1.2-testing/tools/hotplug/Linux/init.d/xencommons @@ -57,6 +57,18 @@ do_start () { local time=0 local timeout=30 diff --git a/tmp_build.patch b/tmp_build.patch index 9dd6b44..44eb69a 100644 --- a/tmp_build.patch +++ b/tmp_build.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/xenstore/Makefile +Index: xen-4.1.2-testing/tools/xenstore/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/xenstore/Makefile -+++ xen-4.1.1-testing/tools/xenstore/Makefile +--- xen-4.1.2-testing.orig/tools/xenstore/Makefile ++++ xen-4.1.2-testing/tools/xenstore/Makefile @@ -58,6 +58,7 @@ $(CLIENTS_DOMU): xenstore xenstore: xenstore_client.o $(LIBXENSTORE) diff --git a/tools-kboot.diff b/tools-kboot.diff index fbfb5b9..22a2f40 100644 --- a/tools-kboot.diff +++ b/tools-kboot.diff @@ -13,10 +13,10 @@ Signed-off-by: Gerd Hoffmann tools/kboot/select-kernel | 59 + 9 files changed, 2111 insertions(+) -Index: xen-4.1.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 +Index: xen-4.1.2-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 =================================================================== --- /dev/null -+++ xen-4.1.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 ++++ xen-4.1.2-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 @@ -0,0 +1,874 @@ +# +# Automatically generated make config: don't edit @@ -892,10 +892,10 @@ Index: xen-4.1.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_32 +CONFIG_X86_NO_TSS=y +CONFIG_X86_NO_IDT=y +CONFIG_KTIME_SCALAR=y -Index: xen-4.1.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 +Index: xen-4.1.2-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 =================================================================== --- /dev/null -+++ xen-4.1.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 ++++ xen-4.1.2-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 @@ -0,0 +1,653 @@ +# +# Automatically generated make config: don't edit @@ -1550,17 +1550,17 @@ Index: xen-4.1.1-testing/buildconfigs/linux-defconfig_xenUboot_x86_64 +# CONFIG_CRC32 is not set +# CONFIG_LIBCRC32C is not set +CONFIG_ZLIB_INFLATE=y -Index: xen-4.1.1-testing/buildconfigs/mk.linux-2.6-xenUboot +Index: xen-4.1.2-testing/buildconfigs/mk.linux-2.6-xenUboot =================================================================== --- /dev/null -+++ xen-4.1.1-testing/buildconfigs/mk.linux-2.6-xenUboot ++++ xen-4.1.2-testing/buildconfigs/mk.linux-2.6-xenUboot @@ -0,0 +1,2 @@ +EXTRAVERSION = xenUboot +include buildconfigs/mk.linux-2.6-xen -Index: xen-4.1.1-testing/tools/kboot/Makefile +Index: xen-4.1.2-testing/tools/kboot/Makefile =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/kboot/Makefile ++++ xen-4.1.2-testing/tools/kboot/Makefile @@ -0,0 +1,23 @@ +# +# tools/kboot/Makefile @@ -1585,10 +1585,10 @@ Index: xen-4.1.1-testing/tools/kboot/Makefile +kboot.initramfs: mkinitramfs init select-kernel ../xcutils/xc_kexec + sh ./mkinitramfs | tee $@ + -Index: xen-4.1.1-testing/tools/kboot/README +Index: xen-4.1.2-testing/tools/kboot/README =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/kboot/README ++++ xen-4.1.2-testing/tools/kboot/README @@ -0,0 +1,43 @@ + +This is a simple kexec-based boot loader @@ -1633,10 +1633,10 @@ Index: xen-4.1.1-testing/tools/kboot/README + +-- +Gerd Hoffmann -Index: xen-4.1.1-testing/tools/kboot/init +Index: xen-4.1.2-testing/tools/kboot/init =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/kboot/init ++++ xen-4.1.2-testing/tools/kboot/init @@ -0,0 +1,309 @@ +#!/bin/sh + @@ -1947,10 +1947,10 @@ Index: xen-4.1.1-testing/tools/kboot/init +msg "bye ..." +banner "boot $guestos" +xc_kexec -e -Index: xen-4.1.1-testing/tools/kboot/mkinitramfs +Index: xen-4.1.2-testing/tools/kboot/mkinitramfs =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/kboot/mkinitramfs ++++ xen-4.1.2-testing/tools/kboot/mkinitramfs @@ -0,0 +1,111 @@ +#!/bin/sh + @@ -2063,10 +2063,10 @@ Index: xen-4.1.1-testing/tools/kboot/mkinitramfs + echo "file $LIB/$(basename $lib) $lib 0755 0 0" +done +echo -Index: xen-4.1.1-testing/tools/kboot/select-kernel +Index: xen-4.1.2-testing/tools/kboot/select-kernel =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/kboot/select-kernel ++++ xen-4.1.2-testing/tools/kboot/select-kernel @@ -0,0 +1,59 @@ +#!/bin/sh + @@ -2127,10 +2127,10 @@ Index: xen-4.1.1-testing/tools/kboot/select-kernel +msg "using $kernelname" +echo "$kernelname" + -Index: xen-4.1.1-testing/make-kboot +Index: xen-4.1.2-testing/make-kboot =================================================================== --- /dev/null -+++ xen-4.1.1-testing/make-kboot ++++ xen-4.1.2-testing/make-kboot @@ -0,0 +1,37 @@ +#!/bin/sh + diff --git a/tools-watchdog-support.patch b/tools-watchdog-support.patch index ddd60c0..2502ec0 100644 --- a/tools-watchdog-support.patch +++ b/tools-watchdog-support.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xm/create.py +Index: xen-4.1.2-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.1.1-testing/tools/python/xen/xm/create.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.1.2-testing/tools/python/xen/xm/create.py @@ -535,6 +535,21 @@ gopts.var('usbdevice', val='NAME', fn=set_value, default='', use="Name of USB device to add?") @@ -32,10 +32,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xm/create.py 'xauthority', 'xen_extended_power_mgmt', 'xen_platform_pci', 'memory_sharing' ] -Index: xen-4.1.1-testing/tools/python/xen/xm/xenapi_create.py +Index: xen-4.1.2-testing/tools/python/xen/xm/xenapi_create.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/xenapi_create.py -+++ xen-4.1.1-testing/tools/python/xen/xm/xenapi_create.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/xenapi_create.py ++++ xen-4.1.2-testing/tools/python/xen/xm/xenapi_create.py @@ -1113,7 +1113,9 @@ class sxp2xml: 'xen_platform_pci', 'tsc_mode' @@ -47,10 +47,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xm/xenapi_create.py ] platform_configs = [] -Index: xen-4.1.1-testing/tools/python/xen/xend/image.py +Index: xen-4.1.2-testing/tools/python/xen/xend/image.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/image.py -+++ xen-4.1.1-testing/tools/python/xen/xend/image.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.1.2-testing/tools/python/xen/xend/image.py @@ -866,7 +866,8 @@ class HVMImageHandler(ImageHandler): dmargs = [ 'boot', 'fda', 'fdb', 'soundhw', @@ -69,10 +69,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/image.py # Handle booleans gracefully if a in ['localtime', 'std-vga', 'isa', 'usb', 'acpi']: -Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py @@ -191,6 +191,8 @@ XENAPI_PLATFORM_CFG_TYPES = { 'xen_platform_pci': int, "gfx_passthru": int, @@ -82,10 +82,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py } # Xen API console 'other_config' keys. -Index: xen-4.1.1-testing/tools/libxl/libxl_dm.c +Index: xen-4.1.2-testing/tools/libxl/libxl_dm.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxl/libxl_dm.c -+++ xen-4.1.1-testing/tools/libxl/libxl_dm.c +--- xen-4.1.2-testing.orig/tools/libxl/libxl_dm.c ++++ xen-4.1.2-testing/tools/libxl/libxl_dm.c @@ -117,6 +117,12 @@ static char ** libxl_build_device_model_ flexarray_vappend(dm_args, "-usbdevice", info->usbdevice, NULL); } @@ -112,10 +112,10 @@ Index: xen-4.1.1-testing/tools/libxl/libxl_dm.c if (info->soundhw) { flexarray_vappend(dm_args, "-soundhw", info->soundhw, NULL); } -Index: xen-4.1.1-testing/tools/libxl/libxl.idl +Index: xen-4.1.2-testing/tools/libxl/libxl.idl =================================================================== ---- xen-4.1.1-testing.orig/tools/libxl/libxl.idl -+++ xen-4.1.1-testing/tools/libxl/libxl.idl +--- xen-4.1.2-testing.orig/tools/libxl/libxl.idl ++++ xen-4.1.2-testing/tools/libxl/libxl.idl @@ -164,6 +164,8 @@ libxl_device_model_info = Struct("device ("vcpu_avail", integer, False, "vcpus actually available"), ("xen_platform_pci", integer, False, "enable/disable the xen platform pci device"), @@ -125,10 +125,10 @@ Index: xen-4.1.1-testing/tools/libxl/libxl.idl ], comment= """Device Model information. -Index: xen-4.1.1-testing/tools/libxl/xl_cmdimpl.c +Index: xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxl/xl_cmdimpl.c -+++ xen-4.1.1-testing/tools/libxl/xl_cmdimpl.c +--- xen-4.1.2-testing.orig/tools/libxl/xl_cmdimpl.c ++++ xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c @@ -365,6 +365,8 @@ static void printf_info(int domid, printf("\t\t\t(usb %d)\n", dm_info->usb); printf("\t\t\t(usbdevice %s)\n", dm_info->usbdevice); diff --git a/udev-rules.patch b/udev-rules.patch index 9554079..bac7b77 100644 --- a/udev-rules.patch +++ b/udev-rules.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/xen-backend.rules +Index: xen-4.1.2-testing/tools/hotplug/Linux/xen-backend.rules =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/xen-backend.rules -+++ xen-4.1.1-testing/tools/hotplug/Linux/xen-backend.rules +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/xen-backend.rules ++++ xen-4.1.2-testing/tools/hotplug/Linux/xen-backend.rules @@ -14,3 +14,4 @@ KERNEL=="gntdev", NAME="xen/%k", MODE="0 KERNEL=="pci_iomul", NAME="xen/%k", MODE="0600" KERNEL=="tapdev[a-z]*", NAME="xen/blktap-2/tapdev%m", MODE="0600" diff --git a/usb-list.patch b/usb-list.patch index 5ea4098..669ec67 100644 --- a/usb-list.patch +++ b/usb-list.patch @@ -15,10 +15,10 @@ could be referred to: http://www.gossamer-threads.com/lists/xen/devel/181021?search_string=usb-list;#181021 -Index: xen-4.1.1-testing/tools/python/xen/xm/main.py +Index: xen-4.1.2-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.1.1-testing/tools/python/xen/xm/main.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.1.2-testing/tools/python/xen/xm/main.py @@ -2629,10 +2629,22 @@ def xm_usb_list(args): ni = parse_dev_info(x[1]) ni['idx'] = int(x[0]) diff --git a/vif-bridge-no-iptables.patch b/vif-bridge-no-iptables.patch index fa25595..8efd5e1 100644 --- a/vif-bridge-no-iptables.patch +++ b/vif-bridge-no-iptables.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/vif-bridge +Index: xen-4.1.2-testing/tools/hotplug/Linux/vif-bridge =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/vif-bridge -+++ xen-4.1.1-testing/tools/hotplug/Linux/vif-bridge +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/vif-bridge ++++ xen-4.1.2-testing/tools/hotplug/Linux/vif-bridge @@ -101,9 +101,9 @@ case "$command" in ;; esac diff --git a/vif-bridge.mtu.patch b/vif-bridge.mtu.patch index 204cabe..e6ddc0b 100644 --- a/vif-bridge.mtu.patch +++ b/vif-bridge.mtu.patch @@ -15,10 +15,10 @@ Signed-off-by: Olaf Hering tools/hotplug/Linux/vif-bridge | 5 +++++ 1 file changed, 5 insertions(+) -Index: xen-4.1.1-testing/tools/hotplug/Linux/vif-bridge +Index: xen-4.1.2-testing/tools/hotplug/Linux/vif-bridge =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/vif-bridge -+++ xen-4.1.1-testing/tools/hotplug/Linux/vif-bridge +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/vif-bridge ++++ xen-4.1.2-testing/tools/hotplug/Linux/vif-bridge @@ -97,6 +97,11 @@ case "$command" in add) diff --git a/vif-route-ifup.patch b/vif-route-ifup.patch index 864b785..ec362a6 100644 --- a/vif-route-ifup.patch +++ b/vif-route-ifup.patch @@ -4,10 +4,10 @@ tools/hotplug/Linux/vif-route-ifup | 34 ++++++++++++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 1 deletion(-) -Index: xen-4.1.1-testing/tools/examples/xend-config.sxp +Index: xen-4.1.2-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.1.1-testing/tools/examples/xend-config.sxp +--- xen-4.1.2-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.1.2-testing/tools/examples/xend-config.sxp @@ -200,6 +200,26 @@ #(network-script network-route) #(vif-script vif-route) @@ -35,10 +35,10 @@ Index: xen-4.1.1-testing/tools/examples/xend-config.sxp ## Use the following if network traffic is routed with NAT, as an alternative # to the settings for bridged networking given above. -Index: xen-4.1.1-testing/tools/hotplug/Linux/Makefile +Index: xen-4.1.2-testing/tools/hotplug/Linux/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/Makefile -+++ xen-4.1.1-testing/tools/hotplug/Linux/Makefile +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/Makefile ++++ xen-4.1.2-testing/tools/hotplug/Linux/Makefile @@ -11,7 +11,7 @@ XENCOMMONS_SYSCONFIG = init.d/sysconfig. # Xen script dir and scripts to go there. @@ -48,10 +48,10 @@ Index: xen-4.1.1-testing/tools/hotplug/Linux/Makefile XEN_SCRIPTS += network-nat vif-nat XEN_SCRIPTS += vif2 XEN_SCRIPTS += vif-setup -Index: xen-4.1.1-testing/tools/hotplug/Linux/vif-route-ifup +Index: xen-4.1.2-testing/tools/hotplug/Linux/vif-route-ifup =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/hotplug/Linux/vif-route-ifup ++++ xen-4.1.2-testing/tools/hotplug/Linux/vif-route-ifup @@ -0,0 +1,34 @@ +#!/bin/bash +#============================================================================ diff --git a/x86-cpufreq-report.patch b/x86-cpufreq-report.patch index 19da915..21af5a9 100644 --- a/x86-cpufreq-report.patch +++ b/x86-cpufreq-report.patch @@ -1,5 +1,7 @@ ---- a/xen/arch/x86/platform_hypercall.c -+++ b/xen/arch/x86/platform_hypercall.c +Index: xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/platform_hypercall.c ++++ xen-4.1.2-testing/xen/arch/x86/platform_hypercall.c @@ -23,7 +23,7 @@ #include #include @@ -42,8 +44,10 @@ default: ret = -ENOSYS; break; ---- a/xen/include/public/platform.h -+++ b/xen/include/public/platform.h +Index: xen-4.1.2-testing/xen/include/public/platform.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/public/platform.h ++++ xen-4.1.2-testing/xen/include/public/platform.h @@ -451,6 +451,14 @@ struct xenpf_mem_hotadd uint32_t flags; }; diff --git a/x86-extra-trap-info.patch b/x86-extra-trap-info.patch index a3dee21..1f62ca3 100644 --- a/x86-extra-trap-info.patch +++ b/x86-extra-trap-info.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/xen/arch/x86/x86_32/entry.S +Index: xen-4.1.2-testing/xen/arch/x86/x86_32/entry.S =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/x86_32/entry.S -+++ xen-4.1.1-testing/xen/arch/x86/x86_32/entry.S +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/entry.S ++++ xen-4.1.2-testing/xen/arch/x86/x86_32/entry.S @@ -389,29 +389,41 @@ UNLIKELY_END(bounce_vm86_3) movl %eax,UREGS_eip+4(%esp) ret @@ -62,10 +62,10 @@ Index: xen-4.1.1-testing/xen/arch/x86/x86_32/entry.S domain_crash_synchronous: pushl $domain_crash_synchronous_string call printk -Index: xen-4.1.1-testing/xen/arch/x86/x86_64/entry.S +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/entry.S =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/x86_64/entry.S -+++ xen-4.1.1-testing/xen/arch/x86/x86_64/entry.S +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/entry.S ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/entry.S @@ -416,22 +416,35 @@ UNLIKELY_END(bounce_failsafe) jz domain_crash_synchronous movq %rax,UREGS_rip+8(%rsp) diff --git a/x86-ioapic-ack-default.patch b/x86-ioapic-ack-default.patch index 02b922d..dfa0f01 100644 --- a/x86-ioapic-ack-default.patch +++ b/x86-ioapic-ack-default.patch @@ -2,7 +2,7 @@ Change default IO-APIC ack mode for single IO-APIC systems to old-style. --- a/xen/arch/x86/io_apic.c +++ b/xen/arch/x86/io_apic.c -@@ -1578,7 +1578,7 @@ static unsigned int startup_level_ioapic +@@ -1674,7 +1674,7 @@ static unsigned int startup_level_ioapic return 0; /* don't check for pending */ } @@ -11,7 +11,7 @@ Change default IO-APIC ack mode for single IO-APIC systems to old-style. static void setup_ioapic_ack(char *s) { if ( !strcmp(s, "old") ) -@@ -2075,6 +2075,8 @@ void __init setup_IO_APIC(void) +@@ -2179,6 +2179,8 @@ void __init setup_IO_APIC(void) else io_apic_irqs = ~PIC_IRQS; diff --git a/x86-show-page-walk-early.patch b/x86-show-page-walk-early.patch index 8356f5c..59c039e 100644 --- a/x86-show-page-walk-early.patch +++ b/x86-show-page-walk-early.patch @@ -1,5 +1,7 @@ ---- a/xen/arch/x86/mm.c -+++ b/xen/arch/x86/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/mm.c @@ -162,6 +162,8 @@ static int get_superpage(unsigned long m #endif static void put_superpage(unsigned long mfn); @@ -9,9 +11,11 @@ #define l1_disallow_mask(d) \ ((d != dom_io) && \ (rangeset_is_empty((d)->iomem_caps) && \ ---- a/xen/arch/x86/traps.c -+++ b/xen/arch/x86/traps.c -@@ -1421,6 +1421,7 @@ asmlinkage void __init do_early_page_fau +Index: xen-4.1.2-testing/xen/arch/x86/traps.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/traps.c ++++ xen-4.1.2-testing/xen/arch/x86/traps.c +@@ -1430,6 +1430,7 @@ asmlinkage void __init do_early_page_fau 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); @@ -19,8 +23,10 @@ printk("Stack dump: "); while ( ((long)stk & ((PAGE_SIZE - 1) & ~(BYTES_PER_LONG - 1))) != 0 ) printk("%p ", _p(*stk++)); ---- a/xen/arch/x86/x86_32/mm.c -+++ b/xen/arch/x86/x86_32/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_32/mm.c @@ -122,6 +122,8 @@ void __init paging_init(void) #undef CNT #undef MFN @@ -30,8 +36,10 @@ /* Create page tables for ioremap()/map_domain_page_global(). */ for ( i = 0; i < (IOREMAP_MBYTES >> (L2_PAGETABLE_SHIFT - 20)); i++ ) { ---- a/xen/arch/x86/x86_32/traps.c -+++ b/xen/arch/x86/x86_32/traps.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_32/traps.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_32/traps.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_32/traps.c @@ -164,7 +164,8 @@ void show_page_walk(unsigned long addr) l3t += (cr3 & 0xFE0UL) >> 3; l3e = l3t[l3_table_offset(addr)]; @@ -62,8 +70,10 @@ printk(" L1[0x%03lx] = %"PRIpte" %08lx\n", l1_table_offset(addr), l1e_get_intpte(l1e), pfn); unmap_domain_page(l1t); ---- a/xen/arch/x86/x86_64/mm.c -+++ b/xen/arch/x86/x86_64/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c @@ -751,6 +751,8 @@ void __init paging_init(void) #undef CNT #undef MFN @@ -73,8 +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)); ---- a/xen/arch/x86/x86_64/traps.c -+++ b/xen/arch/x86/x86_64/traps.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/traps.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/traps.c ++++ xen-4.1.2-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)]; @@ -115,8 +127,10 @@ printk(" L1[0x%03lx] = %"PRIpte" %016lx\n", l1_table_offset(addr), l1e_get_intpte(l1e), pfn); } ---- a/xen/include/asm-x86/mm.h -+++ b/xen/include/asm-x86/mm.h +Index: xen-4.1.2-testing/xen/include/asm-x86/mm.h +=================================================================== +--- xen-4.1.2-testing.orig/xen/include/asm-x86/mm.h ++++ xen-4.1.2-testing/xen/include/asm-x86/mm.h @@ -467,6 +467,8 @@ TYPE_SAFE(unsigned long,mfn); #define SHARED_M2P_ENTRY (~0UL - 1UL) #define SHARED_M2P(_e) ((_e) == SHARED_M2P_ENTRY) diff --git a/xen-4.1.1-testing-src.tar.bz2 b/xen-4.1.1-testing-src.tar.bz2 deleted file mode 100644 index 99b64b2..0000000 --- a/xen-4.1.1-testing-src.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:2bd99e6fdffe8c32e01470118ad565da9e519f35d9191d01ea29cdba996093f0 -size 10774385 diff --git a/xen-4.1.2-testing-src.tar.bz2 b/xen-4.1.2-testing-src.tar.bz2 new file mode 100644 index 0000000..6ef3265 --- /dev/null +++ b/xen-4.1.2-testing-src.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5ee444a5465b7de91b29405c00b0c45f20f978b78fbee33394c15ae49e4a92fc +size 10786361 diff --git a/xen-api-auth.patch b/xen-api-auth.patch index 39a3d5b..599f4c2 100644 --- a/xen-api-auth.patch +++ b/xen-api-auth.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendAuthSessions.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendAuthSessions.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendAuthSessions.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendAuthSessions.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendAuthSessions.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendAuthSessions.py @@ -84,7 +84,7 @@ class XendAuthSessions: # if PAM doesn't exist, let's ignore it return False diff --git a/xen-changeset.diff b/xen-changeset.diff index f8bb6a9..85f37cc 100644 --- a/xen-changeset.diff +++ b/xen-changeset.diff @@ -1,5 +1,7 @@ ---- a/xen/Makefile -+++ b/xen/Makefile +Index: xen-4.1.2-testing/xen/Makefile +=================================================================== +--- xen-4.1.2-testing.orig/xen/Makefile ++++ xen-4.1.2-testing/xen/Makefile @@ -1,3 +1,4 @@ +export XEN_CHANGESET = unavailable # This is the correct place to edit the build version. diff --git a/xen-config.diff b/xen-config.diff index 7596707..be30330 100644 --- a/xen-config.diff +++ b/xen-config.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/Config.mk +Index: xen-4.1.2-testing/Config.mk =================================================================== ---- xen-4.1.1-testing.orig/Config.mk -+++ xen-4.1.1-testing/Config.mk +--- xen-4.1.2-testing.orig/Config.mk ++++ xen-4.1.2-testing/Config.mk @@ -194,7 +194,7 @@ endif # 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. @@ -9,9 +9,9 @@ Index: xen-4.1.1-testing/Config.mk -CONFIG_QEMU ?= $(QEMU_REMOTE) +CONFIG_QEMU ?= ioemu-qemu-xen - QEMU_TAG := xen-4.1.1 + QEMU_TAG := xen-4.1.2-rc1 #QEMU_TAG ?= e073e69457b4d99b6da0b6536296e3498f7f6599 -@@ -204,7 +204,7 @@ QEMU_TAG := xen-4.1.1 +@@ -204,7 +204,7 @@ QEMU_TAG := xen-4.1.2-rc1 # Optional components XENSTAT_XENTOP ?= y VTPM_TOOLS ?= n @@ -20,10 +20,10 @@ Index: xen-4.1.1-testing/Config.mk PYTHON_TOOLS ?= y OCAML_TOOLS ?= y CONFIG_MINITERM ?= n -Index: xen-4.1.1-testing/tools/Makefile +Index: xen-4.1.2-testing/tools/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/Makefile -+++ xen-4.1.1-testing/tools/Makefile +--- xen-4.1.2-testing.orig/tools/Makefile ++++ xen-4.1.2-testing/tools/Makefile @@ -79,14 +79,16 @@ IOEMU_CONFIGURE_CROSS ?= --cpu=$(XEN_TAR --interp-prefix=$(CROSS_SYS_ROOT) endif @@ -54,10 +54,10 @@ Index: xen-4.1.1-testing/tools/Makefile .PHONY: ioemu-dir-force-update ioemu-dir-force-update: -Index: xen-4.1.1-testing/tools/libxc/Makefile +Index: xen-4.1.2-testing/tools/libxc/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/libxc/Makefile -+++ xen-4.1.1-testing/tools/libxc/Makefile +--- xen-4.1.2-testing.orig/tools/libxc/Makefile ++++ xen-4.1.2-testing/tools/libxc/Makefile @@ -195,7 +195,7 @@ xc_dom_bzimageloader.opic: CFLAGS += $(c libxenguest.so.$(MAJOR).$(MINOR): COMPRESSION_LIBS = $(call zlib-options,l) @@ -67,10 +67,10 @@ Index: xen-4.1.1-testing/tools/libxc/Makefile xenctrl_osdep_ENOSYS.so: $(OSDEP_PIC_OBJS) libxenctrl.so $(CC) -g $(CFLAGS) $(LDFLAGS) $(SHLIB_LDFLAGS) -o $@ $(OSDEP_PIC_OBJS) -lxenctrl -Index: xen-4.1.1-testing/tools/firmware/etherboot/Makefile +Index: xen-4.1.2-testing/tools/firmware/etherboot/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/firmware/etherboot/Makefile -+++ xen-4.1.1-testing/tools/firmware/etherboot/Makefile +--- xen-4.1.2-testing.orig/tools/firmware/etherboot/Makefile ++++ xen-4.1.2-testing/tools/firmware/etherboot/Makefile @@ -35,11 +35,13 @@ eb-roms.h: Config mv -f $@.new $@ diff --git a/xen-destdir.diff b/xen-destdir.diff index 59bd36b..4ca7bee 100644 --- a/xen-destdir.diff +++ b/xen-destdir.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/docs/Makefile +Index: xen-4.1.2-testing/docs/Makefile =================================================================== ---- xen-4.1.1-testing.orig/docs/Makefile -+++ xen-4.1.1-testing/docs/Makefile +--- xen-4.1.2-testing.orig/docs/Makefile ++++ xen-4.1.2-testing/docs/Makefile @@ -90,7 +90,8 @@ install: all $(INSTALL_DIR) $(DESTDIR)$(MANDIR) cp -dR man1 $(DESTDIR)$(MANDIR) @@ -22,10 +22,10 @@ Index: xen-4.1.1-testing/docs/Makefile + ln -sf $*.html html.done/$*/index.html + rm -rf html/ + -Index: xen-4.1.1-testing/tools/security/Makefile +Index: xen-4.1.2-testing/tools/security/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/security/Makefile -+++ xen-4.1.1-testing/tools/security/Makefile +--- xen-4.1.2-testing.orig/tools/security/Makefile ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/security/Makefile else .PHONY: all all: -Index: xen-4.1.1-testing/tools/pygrub/Makefile +Index: xen-4.1.2-testing/tools/pygrub/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/pygrub/Makefile -+++ xen-4.1.1-testing/tools/pygrub/Makefile +--- xen-4.1.2-testing.orig/tools/pygrub/Makefile ++++ xen-4.1.2-testing/tools/pygrub/Makefile @@ -11,7 +11,7 @@ build: .PHONY: install install: all @@ -50,10 +50,10 @@ Index: xen-4.1.1-testing/tools/pygrub/Makefile $(INSTALL_PYTHON_PROG) src/pygrub $(DESTDIR)/$(BINDIR)/pygrub $(INSTALL_DIR) $(DESTDIR)/var/run/xend/boot -Index: xen-4.1.1-testing/tools/python/Makefile +Index: xen-4.1.2-testing/tools/python/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/python/Makefile -+++ xen-4.1.1-testing/tools/python/Makefile +--- xen-4.1.2-testing.orig/tools/python/Makefile ++++ xen-4.1.2-testing/tools/python/Makefile @@ -65,7 +65,7 @@ refresh-po: $(POTFILE) .PHONY: install install: install-messages install-dtd @@ -63,10 +63,10 @@ Index: xen-4.1.1-testing/tools/python/Makefile install-dtd: all $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/xen -Index: xen-4.1.1-testing/tools/xenstore/Makefile +Index: xen-4.1.2-testing/tools/xenstore/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/xenstore/Makefile -+++ xen-4.1.1-testing/tools/xenstore/Makefile +--- xen-4.1.2-testing.orig/tools/xenstore/Makefile ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/xenstore/Makefile $(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.1.1-testing/tools/hotplug/Linux/Makefile +Index: xen-4.1.2-testing/tools/hotplug/Linux/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/Makefile -+++ xen-4.1.1-testing/tools/hotplug/Linux/Makefile +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/Makefile ++++ xen-4.1.2-testing/tools/hotplug/Linux/Makefile @@ -41,18 +41,6 @@ endif UDEV_RULES_DIR = $(CONFIG_DIR)/udev UDEV_RULES = xen-backend.rules xend.rules diff --git a/xen-disable-qemu-monitor.diff b/xen-disable-qemu-monitor.diff index ad60f48..ae98422 100644 --- a/xen-disable-qemu-monitor.diff +++ b/xen-disable-qemu-monitor.diff @@ -5,10 +5,10 @@ the "sendkey" command, among other useful things), remove all console commands that can read/write dom0's state. -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/monitor.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/monitor.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/monitor.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/monitor.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/monitor.c ++++ xen-4.1.2-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, diff --git a/xen-domUloader.diff b/xen-domUloader.diff index 4881a13..d7c0a76 100644 --- a/xen-domUloader.diff +++ b/xen-domUloader.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/server/DevController.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/DevController.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/DevController.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/DevController.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/DevController.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/DevController.py @@ -592,6 +592,31 @@ class DevController: return (Missing, None) @@ -34,10 +34,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/server/DevController.py def backendPath(self, backdom, devid): """Construct backend path given the backend domain and device id. -Index: xen-4.1.1-testing/tools/python/xen/xend/XendBootloader.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendBootloader.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendBootloader.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendBootloader.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendBootloader.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendBootloader.py @@ -12,7 +12,7 @@ # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. # @@ -75,10 +75,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendBootloader.py log.error(msg) raise VmError(msg) -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -2332,6 +2332,10 @@ class XendDomainInfo: deviceClass, config = self.info['devices'].get(dev_uuid) self._waitForDevice(deviceClass, config['devid']) diff --git a/xen-fixme-doc.diff b/xen-fixme-doc.diff index ac20947..0b31a5f 100644 --- a/xen-fixme-doc.diff +++ b/xen-fixme-doc.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/docs/man/xmdomain.cfg.pod.5 +Index: xen-4.1.2-testing/docs/man/xmdomain.cfg.pod.5 =================================================================== ---- xen-4.1.1-testing.orig/docs/man/xmdomain.cfg.pod.5 -+++ xen-4.1.1-testing/docs/man/xmdomain.cfg.pod.5 +--- xen-4.1.2-testing.orig/docs/man/xmdomain.cfg.pod.5 ++++ xen-4.1.2-testing/docs/man/xmdomain.cfg.pod.5 @@ -335,16 +335,10 @@ at hda1, which is the root filesystem. =item I @@ -19,10 +19,10 @@ Index: xen-4.1.1-testing/docs/man/xmdomain.cfg.pod.5 =back =head1 SEE ALSO -Index: xen-4.1.1-testing/docs/man/xm.pod.1 +Index: xen-4.1.2-testing/docs/man/xm.pod.1 =================================================================== ---- xen-4.1.1-testing.orig/docs/man/xm.pod.1 -+++ xen-4.1.1-testing/docs/man/xm.pod.1 +--- xen-4.1.2-testing.orig/docs/man/xm.pod.1 ++++ xen-4.1.2-testing/docs/man/xm.pod.1 @@ -295,7 +295,8 @@ scheduling by the Xen hypervisor. =item B diff --git a/xen-hvm-default-bridge.diff b/xen-hvm-default-bridge.diff index ce86e39..c2e74b5 100644 --- a/xen-hvm-default-bridge.diff +++ b/xen-hvm-default-bridge.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/net.h +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/net.h =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/net.h -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/net.h +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/net.h ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/net.h #endif #ifdef __sun__ #define SMBD_COMMAND "/usr/sfw/sbin/smbd" -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/net.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/net.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/net.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/net.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/net.c ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/net.c } } else #endif -Index: xen-4.1.1-testing/tools/python/xen/xend/image.py +Index: xen-4.1.2-testing/tools/python/xen/xend/image.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/image.py -+++ xen-4.1.1-testing/tools/python/xen/xend/image.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/image.py vifname = devinfo.get('vifname') if vifname: vifname = "tap-" + vifname -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/i386-dm/qemu-ifup-Linux @@ -1,36 +1,22 @@ #!/bin/sh diff --git a/xen-hvm-default-pae.diff b/xen-hvm-default-pae.diff index f96f1cb..be5841e 100644 --- a/xen-hvm-default-pae.diff +++ b/xen-hvm-default-pae.diff @@ -1,9 +1,9 @@ PAE must be on for 64-on-64 to work at all. -Index: xen-4.1.1-testing/tools/python/xen/xend/image.py +Index: xen-4.1.2-testing/tools/python/xen/xend/image.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/image.py -+++ xen-4.1.1-testing/tools/python/xen/xend/image.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.1.2-testing/tools/python/xen/xend/image.py @@ -1030,7 +1030,7 @@ class X86_HVM_ImageHandler(HVMImageHandl def configure(self, vmConfig): diff --git a/xen-ioemu-hvm-pv-support.diff b/xen-ioemu-hvm-pv-support.diff index b92bd46..eb6f7df 100644 --- a/xen-ioemu-hvm-pv-support.diff +++ b/xen-ioemu-hvm-pv-support.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_platform.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/hw/xen_platform.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/hw/xen_platform.c @@ -30,6 +30,8 @@ #include "qemu-xen.h" #include "net.h" diff --git a/xen-max-free-mem.diff b/xen-max-free-mem.diff index 1efb205..b8995eb 100644 --- a/xen-max-free-mem.diff +++ b/xen-max-free-mem.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendNode.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendNode.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendNode.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendNode.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendNode.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendNode.py @@ -949,11 +949,35 @@ class XendNode: info['cpu_mhz'] = info['cpu_khz'] / 1000 @@ -51,10 +51,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendNode.py ] if show_numa != 0: -Index: xen-4.1.1-testing/tools/python/xen/xend/balloon.py +Index: xen-4.1.2-testing/tools/python/xen/xend/balloon.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/balloon.py -+++ xen-4.1.1-testing/tools/python/xen/xend/balloon.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/balloon.py ++++ xen-4.1.2-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', @@ -88,10 +88,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/balloon.py 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.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -1459,6 +1459,27 @@ class XendDomainInfo: pci_conf = self.info['devices'][dev_uuid][1] return map(pci_dict_to_bdf_str, pci_conf['devs']) @@ -120,10 +120,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py def setMemoryTarget(self, target): """Set the memory target of this domain. @param target: In MiB. -Index: xen-4.1.1-testing/tools/python/xen/xend/server/SrvDomain.py +Index: xen-4.1.2-testing/tools/python/xen/xend/server/SrvDomain.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/server/SrvDomain.py -+++ xen-4.1.1-testing/tools/python/xen/xend/server/SrvDomain.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/server/SrvDomain.py ++++ xen-4.1.2-testing/tools/python/xen/xend/server/SrvDomain.py @@ -187,7 +187,7 @@ class SrvDomain(SrvDir): diff --git a/xen-minimum-restart-time.patch b/xen-minimum-restart-time.patch index 32a8757..d7e873e 100644 --- a/xen-minimum-restart-time.patch +++ b/xen-minimum-restart-time.patch @@ -1,9 +1,9 @@ References: bnc#661298 -Index: xen-4.1.1-testing/tools/python/xen/xend/XendConstants.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendConstants.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendConstants.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendConstants.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendConstants.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendConstants.py @@ -92,7 +92,7 @@ DOM_STATES_OLD = [ SHUTDOWN_TIMEOUT = (60.0 * 5) diff --git a/xen-no-dummy-nfs-ip.diff b/xen-no-dummy-nfs-ip.diff index 5205119..899b66f 100644 --- a/xen-no-dummy-nfs-ip.diff +++ b/xen-no-dummy-nfs-ip.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xm/create.py +Index: xen-4.1.2-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.1.1-testing/tools/python/xen/xm/create.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.1.2-testing/tools/python/xen/xm/create.py @@ -1337,9 +1337,8 @@ def preprocess_access_control(vals): def preprocess_ip(vals): diff --git a/xen-paths.diff b/xen-paths.diff index 99f8107..864a8a9 100644 --- a/xen-paths.diff +++ b/xen-paths.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xm/create.py +Index: xen-4.1.2-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.1.1-testing/tools/python/xen/xm/create.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.1.2-testing/tools/python/xen/xm/create.py @@ -73,7 +73,7 @@ gopts.opt('quiet', short='q', use="Quiet.") @@ -11,10 +11,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xm/create.py use="Search path for configuration scripts. " "The value of PATH is a colon-separated directory list.") -Index: xen-4.1.1-testing/docs/man/xm.pod.1 +Index: xen-4.1.2-testing/docs/man/xm.pod.1 =================================================================== ---- xen-4.1.1-testing.orig/docs/man/xm.pod.1 -+++ xen-4.1.1-testing/docs/man/xm.pod.1 +--- xen-4.1.2-testing.orig/docs/man/xm.pod.1 ++++ xen-4.1.2-testing/docs/man/xm.pod.1 @@ -75,7 +75,7 @@ in the config file. See L format, and possible options used in either the configfile or for I. @@ -33,10 +33,10 @@ Index: xen-4.1.1-testing/docs/man/xm.pod.1 soon as it is run. =item I -Index: xen-4.1.1-testing/docs/man/xmdomain.cfg.pod.5 +Index: xen-4.1.2-testing/docs/man/xmdomain.cfg.pod.5 =================================================================== ---- xen-4.1.1-testing.orig/docs/man/xmdomain.cfg.pod.5 -+++ xen-4.1.1-testing/docs/man/xmdomain.cfg.pod.5 +--- xen-4.1.2-testing.orig/docs/man/xmdomain.cfg.pod.5 ++++ xen-4.1.2-testing/docs/man/xmdomain.cfg.pod.5 @@ -4,9 +4,9 @@ xmdomain.cfg - xm domain config file for =head1 SYNOPSIS diff --git a/xen-qemu-iscsi-fix.patch b/xen-qemu-iscsi-fix.patch index dec7196..e15d01f 100644 --- a/xen-qemu-iscsi-fix.patch +++ b/xen-qemu-iscsi-fix.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +Index: xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c =================================================================== ---- xen-4.1.1-testing.orig/tools/ioemu-qemu-xen/xenstore.c -+++ xen-4.1.1-testing/tools/ioemu-qemu-xen/xenstore.c +--- xen-4.1.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c ++++ xen-4.1.2-testing/tools/ioemu-qemu-xen/xenstore.c @@ -449,7 +449,7 @@ void xenstore_parse_domain_config(int hv char *buf = NULL; char *fpath = NULL, *bpath = NULL, *btype = NULL, diff --git a/xen-rpmoptflags.diff b/xen-rpmoptflags.diff index 0e3ae65..73aafb2 100644 --- a/xen-rpmoptflags.diff +++ b/xen-rpmoptflags.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/blktap/drivers/Makefile +Index: xen-4.1.2-testing/tools/blktap/drivers/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/drivers/Makefile -+++ xen-4.1.1-testing/tools/blktap/drivers/Makefile +--- xen-4.1.2-testing.orig/tools/blktap/drivers/Makefile ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/blktap/drivers/Makefile CFLAGS += -Wno-unused CFLAGS += -I../lib CFLAGS += $(CFLAGS_libxenctrl) -Index: xen-4.1.1-testing/Config.mk +Index: xen-4.1.2-testing/Config.mk =================================================================== ---- xen-4.1.1-testing.orig/Config.mk -+++ xen-4.1.1-testing/Config.mk +--- xen-4.1.2-testing.orig/Config.mk ++++ xen-4.1.2-testing/Config.mk @@ -14,7 +14,7 @@ SHELL ?= /bin/sh # Tools to run on system hosting the build diff --git a/xen-unstable.xentrace.__insert_record-dst-type.patch b/xen-unstable.xentrace.__insert_record-dst-type.patch index 3e731a0..7725309 100644 --- a/xen-unstable.xentrace.__insert_record-dst-type.patch +++ b/xen-unstable.xentrace.__insert_record-dst-type.patch @@ -11,10 +11,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -484,7 +484,7 @@ static inline void __insert_record(struc const void *extra_data) { diff --git a/xen-unstable.xentrace.comments.patch b/xen-unstable.xentrace.comments.patch index ec906f6..a2ce174 100644 --- a/xen-unstable.xentrace.comments.patch +++ b/xen-unstable.xentrace.comments.patch @@ -10,10 +10,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -197,12 +197,11 @@ static int alloc_trace_bufs(unsigned int t_info->tbuf_size = pages; diff --git a/xen-unstable.xentrace.data_size__read_mostly.patch b/xen-unstable.xentrace.data_size__read_mostly.patch index 91d93fd..6acf6e7 100644 --- a/xen-unstable.xentrace.data_size__read_mostly.patch +++ b/xen-unstable.xentrace.data_size__read_mostly.patch @@ -8,10 +8,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -55,7 +55,7 @@ static unsigned int t_info_pages; static DEFINE_PER_CPU_READ_MOSTLY(struct t_buf *, t_bufs); static DEFINE_PER_CPU_READ_MOSTLY(unsigned char *, t_data); diff --git a/xen-unstable.xentrace.dynamic_tbuf.patch b/xen-unstable.xentrace.dynamic_tbuf.patch index 536f70a..0404917 100644 --- a/xen-unstable.xentrace.dynamic_tbuf.patch +++ b/xen-unstable.xentrace.dynamic_tbuf.patch @@ -19,10 +19,10 @@ v2: xen/common/trace.c | 249 ++++++++++++++++++++++------------------------------- 1 file changed, 104 insertions(+), 145 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -42,14 +42,14 @@ CHECK_t_buf; #define compat_t_rec t_rec #endif diff --git a/xen-unstable.xentrace.empty_t_info_pages.patch b/xen-unstable.xentrace.empty_t_info_pages.patch index abb6f63..f15e487 100644 --- a/xen-unstable.xentrace.empty_t_info_pages.patch +++ b/xen-unstable.xentrace.empty_t_info_pages.patch @@ -13,10 +13,10 @@ Signed-off-by: Olaf Hering 1 file changed, 6 insertions(+), 5 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -33,6 +33,8 @@ #include #include diff --git a/xen-unstable.xentrace.no_gdprintk.patch b/xen-unstable.xentrace.no_gdprintk.patch index 10a1adf..5297809 100644 --- a/xen-unstable.xentrace.no_gdprintk.patch +++ b/xen-unstable.xentrace.no_gdprintk.patch @@ -8,10 +8,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -120,7 +120,7 @@ static int calculate_tbuf_size(unsigned size /= PAGE_SIZE; if ( pages > size ) diff --git a/xen-unstable.xentrace.printk_prefix.patch b/xen-unstable.xentrace.printk_prefix.patch index 5523fe4..905ff87 100644 --- a/xen-unstable.xentrace.printk_prefix.patch +++ b/xen-unstable.xentrace.printk_prefix.patch @@ -8,10 +8,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -120,16 +120,18 @@ static int calculate_tbuf_size(unsigned size /= PAGE_SIZE; if ( pages > size ) diff --git a/xen-unstable.xentrace.register_cpu_notifier-boot_time.patch b/xen-unstable.xentrace.register_cpu_notifier-boot_time.patch index 3bc00fb..667feb7 100644 --- a/xen-unstable.xentrace.register_cpu_notifier-boot_time.patch +++ b/xen-unstable.xentrace.register_cpu_notifier-boot_time.patch @@ -11,10 +11,10 @@ Signed-off-by: Keir Fraser xen/common/trace.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -226,8 +226,6 @@ static int alloc_trace_bufs(unsigned int t_buf_highwater = data_size >> 1; /* 50% high water */ opt_tbuf_size = pages; diff --git a/xen-unstable.xentrace.remove_debug_printk.patch b/xen-unstable.xentrace.remove_debug_printk.patch index 752b37a..74647c7 100644 --- a/xen-unstable.xentrace.remove_debug_printk.patch +++ b/xen-unstable.xentrace.remove_debug_printk.patch @@ -10,10 +10,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 1 - 1 file changed, 1 deletion(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -240,7 +240,6 @@ out_dealloc: { void *rawbuf = per_cpu(t_bufs, cpu); diff --git a/xen-unstable.xentrace.t_info_first_offset.patch b/xen-unstable.xentrace.t_info_first_offset.patch index f1cc77b..769ca89 100644 --- a/xen-unstable.xentrace.t_info_first_offset.patch +++ b/xen-unstable.xentrace.t_info_first_offset.patch @@ -12,10 +12,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -56,7 +56,6 @@ static DEFINE_PER_CPU_READ_MOSTLY(struct static DEFINE_PER_CPU_READ_MOSTLY(unsigned char *, t_data); static DEFINE_PER_CPU_READ_MOSTLY(spinlock_t, t_lock); diff --git a/xen-unstable.xentrace.t_info_page-overflow.patch b/xen-unstable.xentrace.t_info_page-overflow.patch index e7cb34b..e57b612 100644 --- a/xen-unstable.xentrace.t_info_page-overflow.patch +++ b/xen-unstable.xentrace.t_info_page-overflow.patch @@ -18,10 +18,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -105,25 +105,33 @@ static void calc_tinfo_first_offset(void * calculate_tbuf_size - check to make sure that the proposed size will fit * in the currently sized struct t_info and allows prod and cons to diff --git a/xen-unstable.xentrace.t_info_pages-formula.patch b/xen-unstable.xentrace.t_info_pages-formula.patch index a2fa6bf..c94f4ff 100644 --- a/xen-unstable.xentrace.t_info_pages-formula.patch +++ b/xen-unstable.xentrace.t_info_pages-formula.patch @@ -13,10 +13,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -111,7 +111,7 @@ static int calculate_tbuf_size(unsigned { struct t_buf dummy; diff --git a/xen-unstable.xentrace.verbose.patch b/xen-unstable.xentrace.verbose.patch index 3fdeebf..26e1962 100644 --- a/xen-unstable.xentrace.verbose.patch +++ b/xen-unstable.xentrace.verbose.patch @@ -11,10 +11,10 @@ Signed-off-by: Olaf Hering xen/common/trace.c | 2 ++ 1 file changed, 2 insertions(+) -Index: xen-4.1.1-testing/xen/common/trace.c +Index: xen-4.1.2-testing/xen/common/trace.c =================================================================== ---- xen-4.1.1-testing.orig/xen/common/trace.c -+++ xen-4.1.1-testing/xen/common/trace.c +--- xen-4.1.2-testing.orig/xen/common/trace.c ++++ xen-4.1.2-testing/xen/common/trace.c @@ -128,6 +128,8 @@ static int calculate_tbuf_size(unsigned t_info_words = num_online_cpus() * pages + t_info_first_offset; t_info_bytes = t_info_words * sizeof(uint32_t); diff --git a/xen-warnings-unused.diff b/xen-warnings-unused.diff index 49964f1..bd225fa 100644 --- a/xen-warnings-unused.diff +++ b/xen-warnings-unused.diff @@ -1,5 +1,7 @@ ---- a/tools/libxc/xc_tmem.c -+++ b/tools/libxc/xc_tmem.c +Index: xen-4.1.2-testing/tools/libxc/xc_tmem.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxc/xc_tmem.c ++++ xen-4.1.2-testing/tools/libxc/xc_tmem.c @@ -390,7 +390,8 @@ static int xc_tmem_restore_new_pool( int xc_tmem_restore(xc_interface *xch, int dom, int io_fd) @@ -10,8 +12,10 @@ uint32_t this_max_pools, this_version; uint32_t pool_id; uint32_t minusone; ---- a/tools/libxc/xc_domain_restore.c -+++ b/tools/libxc/xc_domain_restore.c +Index: xen-4.1.2-testing/tools/libxc/xc_domain_restore.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxc/xc_domain_restore.c ++++ xen-4.1.2-testing/tools/libxc/xc_domain_restore.c @@ -1087,7 +1087,6 @@ int xc_domain_restore(xc_interface *xch, int vcpuextstate = 0; uint32_t vcpuextstate_size = 0; @@ -28,8 +32,10 @@ n = m = 0; loadpages: ---- a/tools/misc/gtraceview.c -+++ b/tools/misc/gtraceview.c +Index: xen-4.1.2-testing/tools/misc/gtraceview.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/misc/gtraceview.c ++++ xen-4.1.2-testing/tools/misc/gtraceview.c @@ -622,7 +622,8 @@ void crt_init(void) void nr_addch(int nr, int ch) { @@ -40,8 +46,10 @@ getyx(stdscr, y, x); for (i = 0; i < nr; i++) { if (x == COLS-1) ---- a/tools/xcutils/xc_restore.c -+++ b/tools/xcutils/xc_restore.c +Index: xen-4.1.2-testing/tools/xcutils/xc_restore.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/xcutils/xc_restore.c ++++ xen-4.1.2-testing/tools/xcutils/xc_restore.c @@ -19,7 +19,8 @@ int main(int argc, char **argv) { @@ -52,8 +60,10 @@ xc_interface *xch; int io_fd, ret; int superpages; ---- a/tools/firmware/rombios/32bit/tcgbios/tcgbios.c -+++ b/tools/firmware/rombios/32bit/tcgbios/tcgbios.c +Index: xen-4.1.2-testing/tools/firmware/rombios/32bit/tcgbios/tcgbios.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/firmware/rombios/32bit/tcgbios/tcgbios.c ++++ xen-4.1.2-testing/tools/firmware/rombios/32bit/tcgbios/tcgbios.c @@ -1064,7 +1064,7 @@ uint32_t HashLogEvent32(struct hlei *hle uint32_t rc = 0; uint16_t size; @@ -63,8 +73,10 @@ uint32_t hashdataptr; uint32_t hashdatalen; ---- a/tools/console/client/main.c -+++ b/tools/console/client/main.c +Index: xen-4.1.2-testing/tools/console/client/main.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/console/client/main.c ++++ xen-4.1.2-testing/tools/console/client/main.c @@ -277,7 +277,8 @@ int main(int argc, char **argv) }; @@ -75,8 +87,10 @@ struct xs_handle *xs; char *end; console_type type = CONSOLE_INVAL; ---- a/tools/xenstat/xentop/xentop.c -+++ b/tools/xenstat/xentop/xentop.c +Index: xen-4.1.2-testing/tools/xenstat/xentop/xentop.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/xenstat/xentop/xentop.c ++++ xen-4.1.2-testing/tools/xenstat/xentop/xentop.c @@ -272,7 +272,8 @@ static void fail(const char *str) /* Return the row containing the cursor. */ static int current_row(void) @@ -97,9 +111,11 @@ getmaxyx(stdscr, y, x); return y; } ---- a/tools/libxl/libxlu_cfg.c -+++ b/tools/libxl/libxlu_cfg.c -@@ -348,7 +348,7 @@ char *xlu__cfgl_dequote(CfgParseContext +Index: xen-4.1.2-testing/tools/libxl/libxlu_cfg.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxl/libxlu_cfg.c ++++ xen-4.1.2-testing/tools/libxl/libxlu_cfg.c +@@ -348,7 +348,7 @@ char *xlu__cfgl_dequote(CfgParseContext #define NUMERIC_CHAR(minlen,maxlen,base,basetext) do{ \ char numbuf[(maxlen)+1], *ep; \ @@ -108,9 +124,11 @@ \ strncpy(numbuf,p,(maxlen)); \ numbuf[(maxlen)]= 0; \ ---- a/tools/libxl/libxl.c -+++ b/tools/libxl/libxl.c -@@ -221,7 +221,7 @@ int libxl_domain_rename(libxl_ctx *ctx, +Index: xen-4.1.2-testing/tools/libxl/libxl.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxl/libxl.c ++++ xen-4.1.2-testing/tools/libxl/libxl.c +@@ -221,7 +221,7 @@ int libxl_domain_rename(libxl_ctx *ctx, int libxl_domain_resume(libxl_ctx *ctx, uint32_t domid) { libxl__gc gc = LIBXL_INIT_GC(ctx); @@ -137,8 +155,10 @@ libxl__sprintf(&gc, "%s/device/vif", dompath), &nb_nics); if (!l) goto err; ---- a/tools/libxl/libxl_pci.c -+++ b/tools/libxl/libxl_pci.c +Index: xen-4.1.2-testing/tools/libxl/libxl_pci.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxl/libxl_pci.c ++++ xen-4.1.2-testing/tools/libxl/libxl_pci.c @@ -240,7 +240,7 @@ static int libxl_create_pci_backend(libx flexarray_t *front = NULL; flexarray_t *back = NULL; @@ -157,8 +177,10 @@ LIBXL__LOG(ctx, LIBXL__LOG_DEBUG, "Creating pci backend"); /* add pci device */ ---- a/tools/libxl/libxl_dom.c -+++ b/tools/libxl/libxl_dom.c +Index: xen-4.1.2-testing/tools/libxl/libxl_dom.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxl/libxl_dom.c ++++ xen-4.1.2-testing/tools/libxl/libxl_dom.c @@ -265,14 +265,13 @@ int libxl__build_hvm(libxl_ctx *ctx, uin libxl_domain_build_info *info, libxl_domain_build_state *state) { @@ -183,19 +205,23 @@ out: libxl__free_all(&gc); return 0; ---- a/tools/libxl/libxl_utils.c -+++ b/tools/libxl/libxl_utils.c +Index: xen-4.1.2-testing/tools/libxl/libxl_utils.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxl/libxl_utils.c ++++ xen-4.1.2-testing/tools/libxl/libxl_utils.c @@ -531,7 +531,7 @@ int libxl_devid_to_device_disk(libxl_ctx libxl__gc gc = LIBXL_INIT_GC(ctx); - char *endptr, *val; + char *val; char *dompath, *diskpath, *be_path; - unsigned int devid_n; + unsigned int __attribute__((__unused__)) devid_n; int rc = ERROR_INVAL; - devid_n = strtoul(devid, &endptr, 10); ---- a/tools/libxl/xl_cmdimpl.c -+++ b/tools/libxl/xl_cmdimpl.c + devid_n = libxl__device_disk_dev_number(devid); +Index: xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/libxl/xl_cmdimpl.c ++++ xen-4.1.2-testing/tools/libxl/xl_cmdimpl.c @@ -5448,7 +5448,7 @@ int main_cpupoollist(int argc, char **ar {"cpus", 0, 0, 'c'}, {0, 0, 0, 0} @@ -205,8 +231,10 @@ int opt_cpus = 0; const char *pool = NULL; libxl_cpupoolinfo *poolinfo; ---- a/tools/debugger/gdbsx/gx/gx_comm.c -+++ b/tools/debugger/gdbsx/gx/gx_comm.c +Index: xen-4.1.2-testing/tools/debugger/gdbsx/gx/gx_comm.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/debugger/gdbsx/gx/gx_comm.c ++++ xen-4.1.2-testing/tools/debugger/gdbsx/gx/gx_comm.c @@ -163,7 +163,7 @@ readchar(void) static char buf[BUFSIZ]; static int bufcnt = 0; @@ -216,8 +244,10 @@ if (bufcnt-- > 0) return *bufp++ & 0x7f; ---- a/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c -+++ b/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c +Index: xen-4.1.2-testing/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c ++++ xen-4.1.2-testing/tools/python/xen/lowlevel/checkpoint/libcheckpoint.c @@ -820,7 +820,7 @@ static int create_suspend_thread(checkpo static void stop_suspend_thread(checkpoint_state* s) @@ -227,8 +257,10 @@ s->done = 1; ---- a/tools/python/xen/lowlevel/netlink/libnetlink.c -+++ b/tools/python/xen/lowlevel/netlink/libnetlink.c +Index: xen-4.1.2-testing/tools/python/xen/lowlevel/netlink/libnetlink.c +=================================================================== +--- xen-4.1.2-testing.orig/tools/python/xen/lowlevel/netlink/libnetlink.c ++++ xen-4.1.2-testing/tools/python/xen/lowlevel/netlink/libnetlink.c @@ -433,7 +433,8 @@ int rtnl_from_file(FILE *rtnl, rtnl_filt nladdr.nl_groups = 0; @@ -239,8 +271,10 @@ int l; status = fread(&buf, 1, sizeof(*h), rtnl); ---- a/xen/arch/x86/msi.c -+++ b/xen/arch/x86/msi.c +Index: xen-4.1.2-testing/xen/arch/x86/msi.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/msi.c ++++ xen-4.1.2-testing/xen/arch/x86/msi.c @@ -799,7 +799,7 @@ static void __pci_disable_msi(struct msi { struct pci_dev *dev; @@ -250,8 +284,10 @@ u8 bus, slot, func; dev = entry->dev; ---- a/xen/arch/x86/microcode_amd.c -+++ b/xen/arch/x86/microcode_amd.c +Index: xen-4.1.2-testing/xen/arch/x86/microcode_amd.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/microcode_amd.c ++++ xen-4.1.2-testing/xen/arch/x86/microcode_amd.c @@ -164,7 +164,7 @@ static int apply_microcode(int cpu) static int get_next_ucode_from_buffer_amd(void *mc, const void *buf, size_t size, unsigned long *offset) @@ -261,8 +297,10 @@ size_t total_size; const uint8_t *bufp = buf; unsigned long off; ---- a/xen/common/cpupool.c -+++ b/xen/common/cpupool.c +Index: xen-4.1.2-testing/xen/common/cpupool.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/cpupool.c ++++ xen-4.1.2-testing/xen/common/cpupool.c @@ -356,7 +356,7 @@ int cpupool_add_domain(struct domain *d, { struct cpupool *c; @@ -283,8 +321,10 @@ if ( d->cpupool == NULL ) return; ---- a/xen/common/grant_table.c -+++ b/xen/common/grant_table.c +Index: xen-4.1.2-testing/xen/common/grant_table.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/grant_table.c ++++ xen-4.1.2-testing/xen/common/grant_table.c @@ -765,7 +765,7 @@ __gnttab_unmap_common( struct domain *ld, *rd; struct active_grant_entry *act; @@ -294,9 +334,11 @@ ld = current->domain; ---- a/xen/common/kexec.c -+++ b/xen/common/kexec.c -@@ -563,7 +563,8 @@ static int kexec_exec(XEN_GUEST_HANDLE(v +Index: xen-4.1.2-testing/xen/common/kexec.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/kexec.c ++++ xen-4.1.2-testing/xen/common/kexec.c +@@ -569,7 +569,8 @@ static int kexec_exec(XEN_GUEST_HANDLE(v { xen_kexec_exec_t exec; xen_kexec_image_t *image; @@ -306,8 +348,10 @@ if ( unlikely(copy_from_guest(&exec, uarg, 1)) ) return -EFAULT; ---- a/xen/drivers/passthrough/vtd/intremap.c -+++ b/xen/drivers/passthrough/vtd/intremap.c +Index: xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/drivers/passthrough/vtd/intremap.c ++++ xen-4.1.2-testing/xen/drivers/passthrough/vtd/intremap.c @@ -367,7 +367,7 @@ unsigned int io_apic_read_remap_rte( unsigned int ioapic_pin = (reg - 0x10) / 2; int index; @@ -317,7 +361,7 @@ int rte_upper = (reg & 1) ? 1 : 0; struct iommu *iommu = ioapic_to_iommu(IO_APIC_ID(apic)); struct ir_ctrl *ir_ctrl = iommu_ir_ctrl(iommu); -@@ -850,7 +850,7 @@ int iommu_enable_x2apic_IR(void) +@@ -870,7 +870,7 @@ int iommu_enable_x2apic_IR(void) for_each_drhd_unit ( drhd ) { @@ -326,8 +370,10 @@ iommu = drhd->iommu; qi_ctrl = iommu_qi_ctrl(iommu); ---- a/xen/common/sched_credit2.c -+++ b/xen/common/sched_credit2.c +Index: xen-4.1.2-testing/xen/common/sched_credit2.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/sched_credit2.c ++++ xen-4.1.2-testing/xen/common/sched_credit2.c @@ -1854,7 +1854,8 @@ static void deactivate_runqueue(struct c static void init_pcpu(const struct scheduler *ops, int cpu) @@ -338,9 +384,11 @@ struct csched_private *prv = CSCHED_PRIV(ops); struct csched_runqueue_data *rqd; spinlock_t *old_lock; ---- a/xen/common/unlzo.c -+++ b/xen/common/unlzo.c -@@ -68,7 +68,7 @@ static int INIT parse_header(u8 *input, +Index: xen-4.1.2-testing/xen/common/unlzo.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/unlzo.c ++++ xen-4.1.2-testing/xen/common/unlzo.c +@@ -68,7 +68,7 @@ static int INIT parse_header(u8 *input, { int l; u8 *parse = input; @@ -349,8 +397,10 @@ u16 version; /* read magic: 9 first bits */ ---- a/xen/arch/x86/time.c -+++ b/xen/arch/x86/time.c +Index: xen-4.1.2-testing/xen/arch/x86/time.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/time.c ++++ xen-4.1.2-testing/xen/arch/x86/time.c @@ -1009,7 +1009,8 @@ static void local_time_calibration(void) * System timestamps, extrapolated from local and master oscillators, * taken during this calibration and the previous calibration. @@ -361,8 +411,10 @@ s_time_t prev_master_stime, curr_master_stime; /* TSC timestamps taken during this calibration and prev calibration. */ ---- a/xen/arch/x86/cpu/amd.c -+++ b/xen/arch/x86/cpu/amd.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/amd.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/amd.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/amd.c @@ -391,7 +391,7 @@ static void __devinit init_amd(struct cp { u32 l, h; @@ -372,9 +424,11 @@ #ifdef CONFIG_SMP unsigned long long value; ---- a/xen/arch/x86/mm/p2m.c -+++ b/xen/arch/x86/mm/p2m.c -@@ -2338,7 +2338,7 @@ p2m_remove_page(struct p2m_domain *p2m, +Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c ++++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c +@@ -2338,7 +2338,7 @@ p2m_remove_page(struct p2m_domain *p2m, unsigned int page_order) { unsigned long i; @@ -392,8 +446,10 @@ int pod_count = 0; int rc = 0; ---- a/xen/arch/x86/hvm/emulate.c -+++ b/xen/arch/x86/hvm/emulate.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/emulate.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/emulate.c @@ -59,7 +59,7 @@ static int hvmemul_do_io( ioreq_t *p = get_ioreq(curr); unsigned long ram_gfn = paddr_to_pfn(ram_gpa); @@ -403,8 +459,10 @@ int rc; /* Check for paged out page */ ---- a/xen/arch/x86/hvm/hvm.c -+++ b/xen/arch/x86/hvm/hvm.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/hvm.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/hvm.c @@ -253,7 +253,8 @@ void hvm_migrate_timers(struct vcpu *v) void hvm_migrate_pirqs(struct vcpu *v) @@ -415,7 +473,7 @@ struct irq_desc *desc; struct domain *d = v->domain; struct hvm_irq_dpci *hvm_irq_dpci = d->arch.hvm_domain.irq.dpci; -@@ -3588,7 +3589,7 @@ long do_hvm_op(unsigned long op, XEN_GUE +@@ -3589,7 +3590,7 @@ long do_hvm_op(unsigned long op, XEN_GUE { p2m_type_t t; p2m_type_t nt; @@ -424,9 +482,11 @@ mfn = gfn_to_mfn_unshare(p2m, pfn, &t, 0); if ( p2m_is_paging(t) ) { ---- a/xen/arch/x86/acpi/cpu_idle.c -+++ b/xen/arch/x86/acpi/cpu_idle.c -@@ -273,7 +273,7 @@ static void acpi_processor_ffh_cstate_en +Index: xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c ++++ xen-4.1.2-testing/xen/arch/x86/acpi/cpu_idle.c +@@ -275,7 +275,7 @@ static void acpi_processor_ffh_cstate_en static void acpi_idle_do_entry(struct acpi_processor_cx *cx) { @@ -435,8 +495,10 @@ switch ( cx->entry_method ) { ---- a/xen/arch/x86/cpu/intel_cacheinfo.c -+++ b/xen/arch/x86/cpu/intel_cacheinfo.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/intel_cacheinfo.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/intel_cacheinfo.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/intel_cacheinfo.c @@ -170,7 +170,8 @@ unsigned int __cpuinit init_intel_cachei unsigned int trace = 0, l1i = 0, l1d = 0, l2 = 0, l3 = 0; /* Cache sizes */ unsigned int new_l1d = 0, new_l1i = 0; /* Cache sizes from cpuid(4) */ @@ -447,9 +509,11 @@ if (c->cpuid_level > 3) { static int is_initialized; ---- a/xen/arch/x86/mm/mem_sharing.c -+++ b/xen/arch/x86/mm/mem_sharing.c -@@ -376,7 +376,7 @@ int mem_sharing_debug_gfn(struct domain +Index: xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mm/mem_sharing.c ++++ xen-4.1.2-testing/xen/arch/x86/mm/mem_sharing.c +@@ -376,7 +376,7 @@ int mem_sharing_debug_gfn(struct domain { p2m_type_t p2mt; mfn_t mfn; @@ -458,8 +522,10 @@ mfn = gfn_to_mfn(p2m_get_hostp2m(d), gfn, &p2mt); page = mfn_to_page(mfn); ---- a/xen/arch/x86/hvm/viridian.c -+++ b/xen/arch/x86/hvm/viridian.c +Index: xen-4.1.2-testing/xen/arch/x86/hvm/viridian.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/hvm/viridian.c ++++ xen-4.1.2-testing/xen/arch/x86/hvm/viridian.c @@ -270,7 +270,7 @@ int rdmsr_viridian_regs(uint32_t idx, ui int viridian_hypercall(struct cpu_user_regs *regs) { @@ -469,8 +535,10 @@ uint16_t status = HV_STATUS_SUCCESS; union hypercall_input { ---- a/xen/arch/x86/mm.c -+++ b/xen/arch/x86/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/mm.c @@ -4904,7 +4904,7 @@ static int ptwr_emulated_update( { unsigned long mfn; @@ -480,8 +548,10 @@ l1_pgentry_t pte, ol1e, nl1e, *pl1e; struct vcpu *v = current; struct domain *d = v->domain; ---- a/xen/arch/x86/x86_64/mm.c -+++ b/xen/arch/x86/x86_64/mm.c +Index: xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/x86_64/mm.c ++++ xen-4.1.2-testing/xen/arch/x86/x86_64/mm.c @@ -436,7 +436,8 @@ void destroy_m2p_mapping(struct mem_hota static int setup_compat_m2p_table(struct mem_hotadd_info *info) { @@ -492,8 +562,10 @@ l3_pgentry_t *l3_ro_mpt = NULL; l2_pgentry_t *l2_ro_mpt = NULL; struct page_info *l1_pg; ---- a/xen/arch/x86/cpu/mcheck/mce.c -+++ b/xen/arch/x86/cpu/mcheck/mce.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/mcheck/mce.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/mce.c @@ -151,7 +151,6 @@ static struct mcinfo_bank *mca_init_bank struct mc_info *mi, int bank) { @@ -510,7 +582,7 @@ if (mib->mc_status & MCi_STATUS_MISCV) mib->mc_misc = mca_rdmsr(MSR_IA32_MCx_MISC(bank)); -@@ -281,7 +279,7 @@ mctelem_cookie_t mcheck_mca_logout(enum +@@ -281,7 +279,7 @@ mctelem_cookie_t mcheck_mca_logout(enum recover = (mc_recoverable_scan)? 1: 0; for (i = 0; i < 32 && i < nr_mce_banks; i++) { @@ -528,8 +600,10 @@ uint64_t hwcr = 0; int intpose; int i; ---- a/xen/common/tmem.c -+++ b/xen/common/tmem.c +Index: xen-4.1.2-testing/xen/common/tmem.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/tmem.c ++++ xen-4.1.2-testing/xen/common/tmem.c @@ -1351,7 +1351,8 @@ obj_unlock: static int tmem_evict(void) { @@ -550,8 +624,10 @@ client_t *client = pool->client; int ret = client->frozen ? -EFROZEN : -ENOMEM; ---- a/xen/common/tmem_xen.c -+++ b/xen/common/tmem_xen.c +Index: xen-4.1.2-testing/xen/common/tmem_xen.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/common/tmem_xen.c ++++ xen-4.1.2-testing/xen/common/tmem_xen.c @@ -177,7 +177,7 @@ EXPORT int tmh_copy_from_client(pfp_t *p EXPORT int tmh_compress_from_client(tmem_cli_mfn_t cmfn, void **out_va, size_t *out_len, void *cli_va) @@ -589,8 +665,10 @@ tmh->persistent_pool = xmem_pool_create(name, tmh_persistent_pool_page_get, tmh_persistent_pool_page_put, PAGE_SIZE, 0, PAGE_SIZE); if ( tmh->persistent_pool == NULL ) ---- a/xen/arch/x86/cpu/mcheck/vmce.c -+++ b/xen/arch/x86/cpu/mcheck/vmce.c +Index: xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/vmce.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/cpu/mcheck/vmce.c ++++ xen-4.1.2-testing/xen/arch/x86/cpu/mcheck/vmce.c @@ -574,7 +574,7 @@ int is_vmce_ready(struct mcinfo_bank *ba */ int unmmap_broken_page(struct domain *d, mfn_t mfn, unsigned long gfn) @@ -600,9 +678,11 @@ struct p2m_domain *p2m; p2m_type_t pt; ---- a/xen/arch/x86/mm/shadow/multi.c -+++ b/xen/arch/x86/mm/shadow/multi.c -@@ -124,7 +124,7 @@ set_shadow_status(struct vcpu *v, mfn_t +Index: xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/mm/shadow/multi.c ++++ xen-4.1.2-testing/xen/arch/x86/mm/shadow/multi.c +@@ -124,7 +124,7 @@ set_shadow_status(struct vcpu *v, mfn_t /* Put a shadow into the hash table */ { struct domain *d = v->domain; @@ -620,9 +700,11 @@ shadow_l1e_t *sl1p, sl1e; struct page_info *sp; ---- a/xen/arch/x86/domain_build.c -+++ b/xen/arch/x86/domain_build.c -@@ -376,8 +376,7 @@ int __init construct_dom0( +Index: xen-4.1.2-testing/xen/arch/x86/domain_build.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/domain_build.c ++++ xen-4.1.2-testing/xen/arch/x86/domain_build.c +@@ -378,8 +378,7 @@ int __init construct_dom0( return rc; /* compatibility check */ @@ -632,9 +714,11 @@ machine = elf_uval(&elf, elf.ehdr, e_machine); switch (CONFIG_PAGING_LEVELS) { case 3: /* x86_32p */ ---- a/xen/arch/x86/traps.c -+++ b/xen/arch/x86/traps.c -@@ -1818,7 +1818,11 @@ static int emulate_privileged_op(struct +Index: xen-4.1.2-testing/xen/arch/x86/traps.c +=================================================================== +--- xen-4.1.2-testing.orig/xen/arch/x86/traps.c ++++ xen-4.1.2-testing/xen/arch/x86/traps.c +@@ -1827,7 +1827,11 @@ static int emulate_privileged_op(struct struct vcpu *v = current; unsigned long *reg, eip = regs->eip; u8 opcode, modrm_reg = 0, modrm_rm = 0, rep_prefix = 0, lock = 0, rex = 0; diff --git a/xen-warnings.diff b/xen-warnings.diff index bbf73d3..485359e 100644 --- a/xen-warnings.diff +++ b/xen-warnings.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/misc/miniterm/miniterm.c +Index: xen-4.1.2-testing/tools/misc/miniterm/miniterm.c =================================================================== ---- xen-4.1.1-testing.orig/tools/misc/miniterm/miniterm.c -+++ xen-4.1.1-testing/tools/misc/miniterm/miniterm.c +--- xen-4.1.2-testing.orig/tools/misc/miniterm/miniterm.c ++++ xen-4.1.2-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 @@ Index: xen-4.1.1-testing/tools/misc/miniterm/miniterm.c break; } -Index: xen-4.1.1-testing/tools/libxc/xc_dom_elfloader.c +Index: xen-4.1.2-testing/tools/libxc/xc_dom_elfloader.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxc/xc_dom_elfloader.c -+++ xen-4.1.1-testing/tools/libxc/xc_dom_elfloader.c +--- xen-4.1.2-testing.orig/tools/libxc/xc_dom_elfloader.c ++++ xen-4.1.2-testing/tools/libxc/xc_dom_elfloader.c @@ -228,8 +228,9 @@ static int xc_dom_load_elf_symtab(struct if ( load ) @@ -50,10 +50,10 @@ Index: xen-4.1.1-testing/tools/libxc/xc_dom_elfloader.c elf_section_start(elf, shdr2), size); } -Index: xen-4.1.1-testing/tools/xenstore/Makefile +Index: xen-4.1.2-testing/tools/xenstore/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/xenstore/Makefile -+++ xen-4.1.1-testing/tools/xenstore/Makefile +--- xen-4.1.2-testing.orig/tools/xenstore/Makefile ++++ xen-4.1.2-testing/tools/xenstore/Makefile @@ -4,7 +4,7 @@ include $(XEN_ROOT)/tools/Rules.mk MAJOR = 3.0 MINOR = 0 @@ -63,10 +63,10 @@ Index: xen-4.1.1-testing/tools/xenstore/Makefile CFLAGS += -I. CFLAGS += $(CFLAGS_libxenctrl) -Index: xen-4.1.1-testing/tools/xenstore/xenstored_core.c +Index: xen-4.1.2-testing/tools/xenstore/xenstored_core.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenstore/xenstored_core.c -+++ xen-4.1.1-testing/tools/xenstore/xenstored_core.c +--- xen-4.1.2-testing.orig/tools/xenstore/xenstored_core.c ++++ xen-4.1.2-testing/tools/xenstore/xenstored_core.c @@ -77,8 +77,8 @@ static void check_store(void); int quota_nb_entry_per_domain = 1000; @@ -109,10 +109,10 @@ Index: xen-4.1.1-testing/tools/xenstore/xenstored_core.c break; case 'T': tracefile = optarg; -Index: xen-4.1.1-testing/tools/xenstore/xenstored_domain.c +Index: xen-4.1.2-testing/tools/xenstore/xenstored_domain.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenstore/xenstored_domain.c -+++ xen-4.1.1-testing/tools/xenstore/xenstored_domain.c +--- xen-4.1.2-testing.orig/tools/xenstore/xenstored_domain.c ++++ xen-4.1.2-testing/tools/xenstore/xenstored_domain.c @@ -213,7 +213,7 @@ void handle_event(void) { evtchn_port_t port; @@ -131,10 +131,10 @@ Index: xen-4.1.1-testing/tools/xenstore/xenstored_domain.c return -1; dom0 = new_domain(NULL, 0, port); -Index: xen-4.1.1-testing/tools/xenstore/xenstored_transaction.c +Index: xen-4.1.2-testing/tools/xenstore/xenstored_transaction.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenstore/xenstored_transaction.c -+++ xen-4.1.1-testing/tools/xenstore/xenstored_transaction.c +--- xen-4.1.2-testing.orig/tools/xenstore/xenstored_transaction.c ++++ xen-4.1.2-testing/tools/xenstore/xenstored_transaction.c @@ -82,7 +82,7 @@ struct transaction struct list_head changed_domains; }; @@ -144,10 +144,10 @@ Index: xen-4.1.1-testing/tools/xenstore/xenstored_transaction.c static unsigned int generation; /* Return tdb context to use for this connection. */ -Index: xen-4.1.1-testing/tools/xenstore/xenstore_client.c +Index: xen-4.1.2-testing/tools/xenstore/xenstore_client.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenstore/xenstore_client.c -+++ xen-4.1.1-testing/tools/xenstore/xenstore_client.c +--- xen-4.1.2-testing.orig/tools/xenstore/xenstore_client.c ++++ xen-4.1.2-testing/tools/xenstore/xenstore_client.c @@ -255,7 +255,7 @@ do_chmod(char *path, struct xs_permissio char **xsval = xs_directory(xsh, xth, path, &xsval_n); @@ -157,10 +157,10 @@ Index: xen-4.1.1-testing/tools/xenstore/xenstore_client.c for (i = 0; i < xsval_n; i++) { snprintf(buf, MAX_PATH_LEN, "%s/%s", path, xsval[i]); -Index: xen-4.1.1-testing/tools/libxen/src/xen_common.c +Index: xen-4.1.2-testing/tools/libxen/src/xen_common.c =================================================================== ---- xen-4.1.1-testing.orig/tools/libxen/src/xen_common.c -+++ xen-4.1.1-testing/tools/libxen/src/xen_common.c +--- xen-4.1.2-testing.orig/tools/libxen/src/xen_common.c ++++ xen-4.1.2-testing/tools/libxen/src/xen_common.c @@ -1057,6 +1057,8 @@ static size_t size_of_member(const abstr default: assert(false); @@ -179,11 +179,11 @@ Index: xen-4.1.1-testing/tools/libxen/src/xen_common.c } -Index: xen-4.1.1-testing/tools/blktap2/drivers/block-remus.c +Index: xen-4.1.2-testing/tools/blktap2/drivers/block-remus.c =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap2/drivers/block-remus.c -+++ xen-4.1.1-testing/tools/blktap2/drivers/block-remus.c -@@ -1579,7 +1579,7 @@ static int tdremus_open(td_driver_t *dri +--- xen-4.1.2-testing.orig/tools/blktap2/drivers/block-remus.c ++++ xen-4.1.2-testing/tools/blktap2/drivers/block-remus.c +@@ -1636,7 +1636,7 @@ static int tdremus_open(td_driver_t *dri td_flag_t flags) { struct tdremus_state *s = (struct tdremus_state *)driver->data; @@ -192,10 +192,10 @@ Index: xen-4.1.1-testing/tools/blktap2/drivers/block-remus.c RPRINTF("opening %s\n", name); -Index: xen-4.1.1-testing/tools/blktap/lib/blktaplib.h +Index: xen-4.1.2-testing/tools/blktap/lib/blktaplib.h =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap/lib/blktaplib.h -+++ xen-4.1.1-testing/tools/blktap/lib/blktaplib.h +--- xen-4.1.2-testing.orig/tools/blktap/lib/blktaplib.h ++++ xen-4.1.2-testing/tools/blktap/lib/blktaplib.h @@ -196,6 +196,7 @@ typedef struct msg_pid { } msg_pid_t; @@ -204,10 +204,10 @@ Index: xen-4.1.1-testing/tools/blktap/lib/blktaplib.h #define WRITE 1 /*Control Messages between manager and tapdev*/ -Index: xen-4.1.1-testing/tools/blktap2/include/blktaplib.h +Index: xen-4.1.2-testing/tools/blktap2/include/blktaplib.h =================================================================== ---- xen-4.1.1-testing.orig/tools/blktap2/include/blktaplib.h -+++ xen-4.1.1-testing/tools/blktap2/include/blktaplib.h +--- xen-4.1.2-testing.orig/tools/blktap2/include/blktaplib.h ++++ xen-4.1.2-testing/tools/blktap2/include/blktaplib.h @@ -190,6 +190,7 @@ typedef struct msg_lock { } msg_lock_t; @@ -216,8 +216,10 @@ Index: xen-4.1.1-testing/tools/blktap2/include/blktaplib.h #define WRITE 1 /*Control Messages between manager and tapdev*/ ---- xen-4.1.1-testing/tools/blktap/lib/Makefile.orig 2011-07-14 16:10:55.000000000 -0600 -+++ xen-4.1.1-testing/tools/blktap/lib/Makefile 2011-07-14 16:11:00.000000000 -0600 +Index: xen-4.1.2-testing/tools/blktap/lib/Makefile +=================================================================== +--- xen-4.1.2-testing.orig/tools/blktap/lib/Makefile ++++ xen-4.1.2-testing/tools/blktap/lib/Makefile @@ -28,6 +28,8 @@ OBJS_PIC = $(SRCS:.c=.opic) IBINS := @@ -237,8 +239,10 @@ Index: xen-4.1.1-testing/tools/blktap2/include/blktaplib.h ln -sf libblktap.so.$(MAJOR).$(MINOR) $(DESTDIR)$(LIBDIR)/libblktap.so.$(MAJOR) ln -sf libblktap.so.$(MAJOR) $(DESTDIR)$(LIBDIR)/libblktap.so $(INSTALL_DATA) blktaplib.h $(DESTDIR)$(INCLUDEDIR) ---- xen-4.1.1-testing/tools/blktap2/vhd/lib/Makefile.orig 2011-07-14 16:26:42.000000000 -0600 -+++ xen-4.1.1-testing/tools/blktap2/vhd/lib/Makefile 2011-07-14 16:29:10.000000000 -0600 +Index: xen-4.1.2-testing/tools/blktap2/vhd/lib/Makefile +=================================================================== +--- xen-4.1.2-testing.orig/tools/blktap2/vhd/lib/Makefile ++++ xen-4.1.2-testing/tools/blktap2/vhd/lib/Makefile @@ -49,6 +49,8 @@ LIB-OBJS = $(patsubst %.c,%.o,$( LIB-OBJS += $(LVM-UTIL-OBJ) diff --git a/xen-xm-top-needs-root.diff b/xen-xm-top-needs-root.diff index 45b36eb..6332eb2 100644 --- a/xen-xm-top-needs-root.diff +++ b/xen-xm-top-needs-root.diff @@ -1,10 +1,10 @@ From: Charles Coffing Upstream: no -Index: xen-4.1.1-testing/tools/python/xen/xm/main.py +Index: xen-4.1.2-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.1.1-testing/tools/python/xen/xm/main.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.1.2-testing/tools/python/xen/xm/main.py @@ -2201,6 +2201,10 @@ def xm_debug_keys(args): def xm_top(args): arg_check(args, "top", 0) diff --git a/xen-xmexample-vti.diff b/xen-xmexample-vti.diff index cc8a710..22bb6a2 100644 --- a/xen-xmexample-vti.diff +++ b/xen-xmexample-vti.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/examples/Makefile +Index: xen-4.1.2-testing/tools/examples/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/Makefile -+++ xen-4.1.1-testing/tools/examples/Makefile +--- xen-4.1.2-testing.orig/tools/examples/Makefile ++++ xen-4.1.2-testing/tools/examples/Makefile @@ -18,7 +18,6 @@ XEN_CONFIGS += xmexample.hvm XEN_CONFIGS += xmexample.hvm-stubdom XEN_CONFIGS += xmexample.pv-grub diff --git a/xen-xmexample.diff b/xen-xmexample.diff index aebdf22..592b29c 100644 --- a/xen-xmexample.diff +++ b/xen-xmexample.diff @@ -1,9 +1,9 @@ Change various example paths in the config files to match SUSE. -Index: xen-4.1.1-testing/tools/examples/xmexample1 +Index: xen-4.1.2-testing/tools/examples/xmexample1 =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xmexample1 -+++ xen-4.1.1-testing/tools/examples/xmexample1 +--- xen-4.1.2-testing.orig/tools/examples/xmexample1 ++++ xen-4.1.2-testing/tools/examples/xmexample1 @@ -7,11 +7,13 @@ #============================================================================ @@ -43,10 +43,10 @@ Index: xen-4.1.1-testing/tools/examples/xmexample1 #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' -Index: xen-4.1.1-testing/tools/examples/xmexample2 +Index: xen-4.1.2-testing/tools/examples/xmexample2 =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xmexample2 -+++ xen-4.1.1-testing/tools/examples/xmexample2 +--- xen-4.1.2-testing.orig/tools/examples/xmexample2 ++++ xen-4.1.2-testing/tools/examples/xmexample2 @@ -35,11 +35,13 @@ xm_vars.var('vmid', xm_vars.check() @@ -86,10 +86,10 @@ Index: xen-4.1.1-testing/tools/examples/xmexample2 #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' -Index: xen-4.1.1-testing/tools/examples/xmexample3 +Index: xen-4.1.2-testing/tools/examples/xmexample3 =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xmexample3 -+++ xen-4.1.1-testing/tools/examples/xmexample3 +--- xen-4.1.2-testing.orig/tools/examples/xmexample3 ++++ xen-4.1.2-testing/tools/examples/xmexample3 @@ -35,11 +35,13 @@ xm_vars.var('vmid', xm_vars.check() @@ -108,10 +108,10 @@ Index: xen-4.1.1-testing/tools/examples/xmexample3 # The domain build function. Default is 'linux'. #builder='linux' -Index: xen-4.1.1-testing/tools/examples/xmexample.hvm +Index: xen-4.1.2-testing/tools/examples/xmexample.hvm =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xmexample.hvm -+++ xen-4.1.1-testing/tools/examples/xmexample.hvm +--- xen-4.1.2-testing.orig/tools/examples/xmexample.hvm ++++ xen-4.1.2-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. @@ -121,10 +121,10 @@ Index: xen-4.1.1-testing/tools/examples/xmexample.hvm #---------------------------------------------------------------------------- # Configure the behaviour when a domain exits. There are three 'reasons' -Index: xen-4.1.1-testing/docs/man/xmdomain.cfg.pod.5 +Index: xen-4.1.2-testing/docs/man/xmdomain.cfg.pod.5 =================================================================== ---- xen-4.1.1-testing.orig/docs/man/xmdomain.cfg.pod.5 -+++ xen-4.1.1-testing/docs/man/xmdomain.cfg.pod.5 +--- xen-4.1.2-testing.orig/docs/man/xmdomain.cfg.pod.5 ++++ xen-4.1.2-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 @@ -160,10 +160,10 @@ Index: xen-4.1.1-testing/docs/man/xmdomain.cfg.pod.5 at hda1, which is the root filesystem. =item I -Index: xen-4.1.1-testing/docs/man/xm.pod.1 +Index: xen-4.1.2-testing/docs/man/xm.pod.1 =================================================================== ---- xen-4.1.1-testing.orig/docs/man/xm.pod.1 -+++ xen-4.1.1-testing/docs/man/xm.pod.1 +--- xen-4.1.2-testing.orig/docs/man/xm.pod.1 ++++ xen-4.1.2-testing/docs/man/xm.pod.1 @@ -161,8 +161,8 @@ soon as it is run. =item I diff --git a/xen.changes b/xen.changes index cf877d4..4caa6d2 100644 --- a/xen.changes +++ b/xen.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Wed Sep 14 13:54:21 MDT 2011 - carnold@novell.com + +- bnc#717650 - Unable to start VM +- Update to Xen 4.1.2_rc2 c/s 23152 + +------------------------------------------------------------------- +Fri Sep 9 10:44:23 MDT 2011 - jfehlig@suse.com + +- bnc#716695 - domUs using tap devices will not start + updated multi-xvdp.patch + +------------------------------------------------------------------- +Tue Sep 6 13:11:51 MDT 2011 - carnold@novell.com + +- Upstream patches from Jan + 23803-intel-pmu-models.patch + 23800-x86_64-guest-addr-range.patch + 23795-intel-ich10-quirk.patch + 23804-x86-IPI-counts.patch + +------------------------------------------------------------------- +Wed Aug 31 09:31:27 MDT 2011 - jfehlig@suse.com + +- bnc#706106 - Inconsistent reporting of VM names during migration + xend-migration-domname-fix.patch + +------------------------------------------------------------------- +Tue Aug 30 08:50:40 MDT 2011 - carnold@novell.com + +- bnc#712823 - L3:Xen guest does not start reliable when rebooted + xend-vcpu-affinity-fix.patch + ------------------------------------------------------------------- Tue Aug 23 08:53:20 MDT 2011 - carnold@novell.com diff --git a/xen.sles11sp1.bug684297.xen_oldmem_pfn_is_ram.patch b/xen.sles11sp1.bug684297.xen_oldmem_pfn_is_ram.patch index 600b77c..3a61b44 100644 --- a/xen.sles11sp1.bug684297.xen_oldmem_pfn_is_ram.patch +++ b/xen.sles11sp1.bug684297.xen_oldmem_pfn_is_ram.patch @@ -7,10 +7,10 @@ Signed-off-by: Olaf Hering unmodified_drivers/linux-2.6/platform-pci/platform-pci.c | 31 +++++++++++++++ 1 file changed, 31 insertions(+) -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -30,6 +30,7 @@ #include #include diff --git a/xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch b/xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch index 30141f5..a59c042 100644 --- a/xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch +++ b/xen.sles11sp1.fate311487.xen_platform_pci.dmistring.patch @@ -9,10 +9,10 @@ Signed-off-by: Olaf Hering unmodified_drivers/linux-2.6/platform-pci/platform-pci.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) -Index: xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +Index: xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c =================================================================== ---- xen-4.1.1-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c -+++ xen-4.1.1-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c +--- xen-4.1.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c ++++ xen-4.1.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c @@ -27,6 +27,7 @@ #include #include diff --git a/xen.spec b/xen.spec index e7d9430..106dccd 100644 --- a/xen.spec +++ b/xen.spec @@ -22,8 +22,8 @@ Name: xen ExclusiveArch: %ix86 x86_64 %define xvers 4.1 %define xvermaj 4 -%define changeset 23079 -%define xen_build_dir xen-4.1.1-testing +%define changeset 23152 +%define xen_build_dir xen-4.1.2-testing %define with_kmp 1 %define with_stubdom 1 # EFI requires gcc46 or newer @@ -96,14 +96,14 @@ BuildRequires: glibc-devel %if %{?with_kmp}0 BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11 %endif -Version: 4.1.1_06 +Version: 4.1.2_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.1.1-testing-src.tar.bz2 +Source0: xen-4.1.2-testing-src.tar.bz2 Source1: stubdom.tar.bz2 Source2: xen-utils-0.1.tar.bz2 Source3: README.SuSE @@ -161,49 +161,34 @@ Patch19: 23334-amd-fam12+14-vpmu.patch Patch20: 23383-libxc-rm-static-vars.patch Patch21: 23437-amd-fam15-TSC-scaling.patch Patch22: 23462-libxc-cpu-feature.patch -Patch23: 23481-x86-SMEP.patch -Patch24: 23504-x86-SMEP-hvm.patch -Patch25: 23505-x86-cpu-add-arg-check.patch -Patch26: 23508-vmx-proc-based-ctls-probe.patch -Patch27: 23510-hvm-cpuid-DRNG.patch -Patch28: 23511-amd-fam15-no-flush-for-C3.patch -Patch29: 23516-cpuid-ERMS.patch -Patch30: 23538-hvm-pio-emul-no-host-crash.patch -Patch31: 23539-hvm-cpuid-FSGSBASE.patch -Patch32: 23543-x86_64-maddr_to_virt-assertion.patch -Patch33: 23546-fucomip.patch -Patch34: 23571-vtd-fault-verbosity.patch -Patch35: 23574-x86-dom0-compressed-ELF.patch -Patch36: 23575-x86-DMI.patch -Patch37: 23610-x86-topology-info.patch -Patch38: 23611-amd-fam15-topology.patch -Patch39: 23613-EFI-headers.patch -Patch40: 23614-x86_64-EFI-boot.patch -Patch41: 23615-x86_64-EFI-runtime.patch -Patch42: 23616-x86_64-EFI-MPS.patch -Patch43: 23676-x86_64-image-map-bounds.patch -Patch44: 23685-libxl-segfault-fix.patch -Patch45: 23706-fix-20892.patch -Patch46: 23723-x86-CMOS-lock.patch -Patch47: 23724-x86-smpboot-x2apic.patch -Patch48: 23725-pci-add-device.patch -Patch49: 23726-x86-intel-flexmigration.patch -Patch50: 23732-sedf.patch -Patch51: 23735-guest-dom0-cap.patch -Patch52: 23746-vtd-cleanup-timers.patch -Patch53: 23747-mmcfg-base-address.patch -Patch54: 23749-mmcfg-reservation.patch -Patch55: 23762-iommu-fault-bm-off.patch -Patch56: 23763-pci-multi-seg-x2apic-vtd-no-crash.patch -Patch57: 23765-x86-irq-vector-leak.patch -Patch58: 23766-x86-msi-vf-bars.patch -Patch59: 23771-x86-ioapic-clear-pin.patch -Patch60: 23772-x86-trampoline.patch -Patch61: 23774-x86_64-EFI-EDD.patch -Patch62: 23776-x86-kexec-hpet-legacy-bcast-disable.patch -Patch63: 23781-pm-wide-ACPI-ids.patch -Patch64: 23782-x86-ioapic-clear-irr.patch -Patch65: 23783-ACPI-set-_PDC-bits.patch +Patch23: 23508-vmx-proc-based-ctls-probe.patch +Patch24: 23511-amd-fam15-no-flush-for-C3.patch +Patch25: 23571-vtd-fault-verbosity.patch +Patch26: 23574-x86-dom0-compressed-ELF.patch +Patch27: 23575-x86-DMI.patch +Patch28: 23610-x86-topology-info.patch +Patch29: 23611-amd-fam15-topology.patch +Patch30: 23613-EFI-headers.patch +Patch31: 23614-x86_64-EFI-boot.patch +Patch32: 23615-x86_64-EFI-runtime.patch +Patch33: 23616-x86_64-EFI-MPS.patch +Patch34: 23676-x86_64-image-map-bounds.patch +Patch35: 23685-libxl-segfault-fix.patch +Patch36: 23723-x86-CMOS-lock.patch +Patch37: 23724-x86-smpboot-x2apic.patch +Patch38: 23735-guest-dom0-cap.patch +Patch39: 23747-mmcfg-base-address.patch +Patch40: 23749-mmcfg-reservation.patch +Patch41: 23771-x86-ioapic-clear-pin.patch +Patch42: 23772-x86-trampoline.patch +Patch43: 23774-x86_64-EFI-EDD.patch +Patch44: 23781-pm-wide-ACPI-ids.patch +Patch45: 23782-x86-ioapic-clear-irr.patch +Patch46: 23783-ACPI-set-_PDC-bits.patch +Patch47: 23795-intel-ich10-quirk.patch +Patch48: 23800-x86_64-guest-addr-range.patch +Patch49: 23804-x86-IPI-counts.patch +Patch50: 23833-x86-IO-APIC-EOI.patch # Upstream qemu patches # Our patches Patch300: xen-config.diff @@ -260,6 +245,7 @@ Patch375: usb-list.patch Patch376: xend-devid-or-name.patch Patch377: suspend_evtchn_lock.patch Patch378: log-guest-console.patch +Patch379: xend-migration-domname-fix.patch # Patches for snapshot support Patch400: snapshot-ioemu-save.patch Patch401: snapshot-ioemu-restore.patch @@ -305,6 +291,7 @@ Patch452: ioemu-watchdog-ib700-timer.patch Patch453: tools-watchdog-support.patch Patch454: xend-console-port-restore.patch Patch455: xencommons-proc-xen.patch +Patch456: xend-vcpu-affinity-fix.patch # Jim's domain lock patch Patch480: xend-domain-lock.patch Patch481: xend-domain-lock-sfex.patch @@ -742,21 +729,6 @@ tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools %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 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 %patch300 -p1 %patch301 -p1 %patch302 -p1 @@ -810,6 +782,7 @@ tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools %patch376 -p1 #%patch377 -p1 suspend_evtchn_lock, buildservice build problem %patch378 -p1 +%patch379 -p1 %patch400 -p1 %patch401 -p1 %patch402 -p1 @@ -852,6 +825,7 @@ tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools %patch453 -p1 %patch454 -p1 %patch455 -p1 +%patch456 -p1 %patch480 -p1 %patch481 -p1 %patch500 -p1 diff --git a/xenalyze.gcc46.patch b/xenalyze.gcc46.patch index 15d496f..8590601 100644 --- a/xenalyze.gcc46.patch +++ b/xenalyze.gcc46.patch @@ -18,10 +18,10 @@ cc1: all warnings being treated as errors xenalyze.hg/xenalyze.c | 21 --------------------- 1 file changed, 21 deletions(-) -Index: xen-4.1.1-testing/xenalyze.hg/xenalyze.c +Index: xen-4.1.2-testing/xenalyze.hg/xenalyze.c =================================================================== ---- xen-4.1.1-testing.orig/xenalyze.hg/xenalyze.c -+++ xen-4.1.1-testing/xenalyze.hg/xenalyze.c +--- xen-4.1.2-testing.orig/xenalyze.hg/xenalyze.c ++++ xen-4.1.2-testing/xenalyze.hg/xenalyze.c @@ -2016,8 +2016,6 @@ float weighted_percentile(float * A, /* float X, t1; unsigned long long t2; diff --git a/xenapi-console-protocol.patch b/xenapi-console-protocol.patch index 335c3f4..8b26de9 100644 --- a/xenapi-console-protocol.patch +++ b/xenapi-console-protocol.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -3934,6 +3934,14 @@ class XendDomainInfo: if not config.has_key('backend'): config['backend'] = "00000000-0000-0000-0000-000000000000" diff --git a/xencommons-proc-xen.patch b/xencommons-proc-xen.patch index 0a47e23..18865ea 100644 --- a/xencommons-proc-xen.patch +++ b/xencommons-proc-xen.patch @@ -15,10 +15,10 @@ Signed-off-by: Olaf Hering tools/hotplug/Linux/init.d/xencommons | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) -Index: xen-4.1.1-testing/tools/hotplug/Linux/init.d/xencommons +Index: xen-4.1.2-testing/tools/hotplug/Linux/init.d/xencommons =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/init.d/xencommons -+++ xen-4.1.1-testing/tools/hotplug/Linux/init.d/xencommons +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/init.d/xencommons ++++ xen-4.1.2-testing/tools/hotplug/Linux/init.d/xencommons @@ -27,17 +27,29 @@ fi test -f $xencommons_config/xencommons && . $xencommons_config/xencommons diff --git a/xenconsole-no-multiple-connections.patch b/xenconsole-no-multiple-connections.patch index 772724c..b761fdb 100644 --- a/xenconsole-no-multiple-connections.patch +++ b/xenconsole-no-multiple-connections.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/console/client/main.c +Index: xen-4.1.2-testing/tools/console/client/main.c =================================================================== ---- xen-4.1.1-testing.orig/tools/console/client/main.c -+++ xen-4.1.1-testing/tools/console/client/main.c +--- xen-4.1.2-testing.orig/tools/console/client/main.c ++++ xen-4.1.2-testing/tools/console/client/main.c @@ -96,6 +96,7 @@ static int get_pty_fd(struct xs_handle * * Assumes there is already a watch set in the store for this path. */ { diff --git a/xend-config-enable-dump-comment.patch b/xend-config-enable-dump-comment.patch index 3e5e40d..90f0862 100644 --- a/xend-config-enable-dump-comment.patch +++ b/xend-config-enable-dump-comment.patch @@ -4,10 +4,10 @@ bnc#684305 tools/examples/xend-config.sxp | 3 +++ 1 file changed, 3 insertions(+) -Index: xen-4.1.1-testing/tools/examples/xend-config.sxp +Index: xen-4.1.2-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.1.1-testing/tools/examples/xend-config.sxp +--- xen-4.1.2-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.1.2-testing/tools/examples/xend-config.sxp @@ -250,6 +250,9 @@ (dom0-cpus 0) diff --git a/xend-config.diff b/xend-config.diff index d3c9ce8..cf44eb3 100644 --- a/xend-config.diff +++ b/xend-config.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains +Index: xen-4.1.2-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xendomains -+++ xen-4.1.1-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xendomains ++++ xen-4.1.2-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains @@ -1,4 +1,4 @@ -## Path: System/xen +## Path: System/Virtualization @@ -27,10 +27,10 @@ Index: xen-4.1.1-testing/tools/hotplug/Linux/init.d/sysconfig.xendomains ## Type: integer ## Default: 300 -Index: xen-4.1.1-testing/tools/examples/xend-config.sxp +Index: xen-4.1.2-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.1.1-testing/tools/examples/xend-config.sxp +--- xen-4.1.2-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.1.2-testing/tools/examples/xend-config.sxp @@ -58,11 +58,12 @@ diff --git a/xend-console-port-restore.patch b/xend-console-port-restore.patch index 21aa7bf..e418684 100644 --- a/xend-console-port-restore.patch +++ b/xend-console-port-restore.patch @@ -3,11 +3,11 @@ xenstore. See bnc#706574 From: Chunyan Liu -Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendCheckpoint.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py -@@ -402,8 +402,7 @@ def restore(xd, fd, dominfo = None, paus +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendCheckpoint.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py +@@ -405,8 +405,7 @@ def restore(xd, fd, dominfo = None, paus restore_image.setCpuid() # xc_restore will wait for source to close connection @@ -17,11 +17,11 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py wait_devs(dominfo) -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -3052,7 +3052,7 @@ class XendDomainInfo: +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -3053,7 +3053,7 @@ class XendDomainInfo: # TODO: recategorise - called from XendCheckpoint # @@ -30,7 +30,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py log.debug("XendDomainInfo.completeRestore") -@@ -3063,6 +3063,7 @@ class XendDomainInfo: +@@ -3064,6 +3064,7 @@ class XendDomainInfo: self.image = image.create(self, self.info) if self.image: self._createDevices(True) diff --git a/xend-core-dump-loc.diff b/xend-core-dump-loc.diff index a6c143c..9b38150 100644 --- a/xend-core-dump-loc.diff +++ b/xend-core-dump-loc.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -2303,7 +2303,7 @@ class XendDomainInfo: # To prohibit directory traversal based_name = os.path.basename(self.info['name_label']) diff --git a/xend-devid-or-name.patch b/xend-devid-or-name.patch index e9ff8e8..3e2ded4 100644 --- a/xend-devid-or-name.patch +++ b/xend-devid-or-name.patch @@ -11,10 +11,10 @@ form, e.g. it would accept '5632' or 'hdc'. This patch restores that behavior. Signed-off-by: Jim Fehlig -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -1203,6 +1203,9 @@ class XendDomainInfo: except ValueError: pass diff --git a/xend-disable-internal-logrotate.patch b/xend-disable-internal-logrotate.patch index 1f421ce..8eb5394 100644 --- a/xend-disable-internal-logrotate.patch +++ b/xend-disable-internal-logrotate.patch @@ -5,10 +5,10 @@ This allows larger xend.log files tools/python/xen/xend/XendLogging.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -Index: xen-4.1.1-testing/tools/python/xen/xend/XendLogging.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendLogging.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendLogging.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendLogging.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendLogging.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendLogging.py @@ -76,7 +76,7 @@ if 'TRACE' not in logging.__dict__: log = logging.getLogger("xend") diff --git a/xend-domain-lock-sfex.patch b/xend-domain-lock-sfex.patch index 3ab5d6b..ad54d70 100644 --- a/xend-domain-lock-sfex.patch +++ b/xend-domain-lock-sfex.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/examples/xend-config.sxp +Index: xen-4.1.2-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.1.1-testing/tools/examples/xend-config.sxp +--- xen-4.1.2-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.1.2-testing/tools/examples/xend-config.sxp @@ -357,7 +357,7 @@ # path // # Return 0 on success, non-zero on error. @@ -23,10 +23,10 @@ Index: xen-4.1.1-testing/tools/examples/xend-config.sxp # 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.1.1-testing/tools/hotplug/Linux/Makefile +Index: xen-4.1.2-testing/tools/hotplug/Linux/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/Makefile -+++ xen-4.1.1-testing/tools/hotplug/Linux/Makefile +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/Makefile ++++ xen-4.1.2-testing/tools/hotplug/Linux/Makefile @@ -23,6 +23,7 @@ XEN_SCRIPTS += xen-hotplug-cleanup XEN_SCRIPTS += external-device-migrate XEN_SCRIPTS += vscsi @@ -35,10 +35,10 @@ Index: xen-4.1.1-testing/tools/hotplug/Linux/Makefile 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.1.1-testing/tools/hotplug/Linux/domain-lock +Index: xen-4.1.2-testing/tools/hotplug/Linux/domain-lock =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/domain-lock -+++ xen-4.1.1-testing/tools/hotplug/Linux/domain-lock +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/domain-lock ++++ xen-4.1.2-testing/tools/hotplug/Linux/domain-lock @@ -4,7 +4,7 @@ basedir=$(dirname "$0") usage() { @@ -48,10 +48,10 @@ Index: xen-4.1.1-testing/tools/hotplug/Linux/domain-lock echo "" echo "-l lock" echo "-u unlock" -Index: xen-4.1.1-testing/tools/hotplug/Linux/domain-lock-sfex +Index: xen-4.1.2-testing/tools/hotplug/Linux/domain-lock-sfex =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/hotplug/Linux/domain-lock-sfex ++++ xen-4.1.2-testing/tools/hotplug/Linux/domain-lock-sfex @@ -0,0 +1,166 @@ +#!/bin/bash + @@ -219,11 +219,11 @@ Index: xen-4.1.1-testing/tools/hotplug/Linux/domain-lock-sfex +;; +esac + -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -4513,8 +4513,14 @@ class XendDomainInfo: +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -4517,8 +4517,14 @@ class XendDomainInfo: # Return name of host contained in lock file. def get_lock_host(self, path): @@ -240,7 +240,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py hostname = "unknown" try: -@@ -4536,6 +4542,16 @@ class XendDomainInfo: +@@ -4540,6 +4546,16 @@ class XendDomainInfo: path = xoptions.get_xend_domain_lock_path() path = os.path.join(path, self.get_uuid()) @@ -257,7 +257,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py try: if not os.path.exists(path): mkdir.parents(path, stat.S_IRWXU) -@@ -4543,12 +4559,7 @@ class XendDomainInfo: +@@ -4547,12 +4563,7 @@ class XendDomainInfo: log.exception("%s could not be created." % path) raise XendError("%s could not be created." % path) @@ -271,7 +271,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py if status != 0: log.debug("Failed to aqcuire lock: status = %d" % status) raise XendError("The VM is locked and appears to be running on host %s." % self.get_lock_host(path)) -@@ -4565,12 +4576,18 @@ class XendDomainInfo: +@@ -4569,12 +4580,18 @@ class XendDomainInfo: path = xoptions.get_xend_domain_lock_path() path = os.path.join(path, self.get_uuid()) @@ -296,10 +296,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py if status != 0: log.exception("Failed to release lock: status = %s" % status) try: -Index: xen-4.1.1-testing/tools/python/xen/xend/XendNode.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendNode.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendNode.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendNode.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendNode.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendNode.py @@ -162,6 +162,7 @@ class XendNode: self._init_cpu_pools() @@ -326,10 +326,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendNode.py def add_network(self, interface): # TODO log.debug("add_network(): Not implemented.") -Index: xen-4.1.1-testing/tools/python/xen/xend/XendOptions.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendOptions.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendOptions.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendOptions.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendOptions.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendOptions.py @@ -164,6 +164,9 @@ class XendOptions: """Default script to acquire/release domain lock""" xend_domain_lock_utility = auxbin.scripts_dir() + "/domain-lock" diff --git a/xend-domain-lock.patch b/xend-domain-lock.patch index 8007717..cd92b2e 100644 --- a/xend-domain-lock.patch +++ b/xend-domain-lock.patch @@ -8,10 +8,10 @@ tools/python/xen/xend/XendOptions.py | 29 +++++++++++ 7 files changed, 290 insertions(+) -Index: xen-4.1.1-testing/tools/examples/xend-config.sxp +Index: xen-4.1.2-testing/tools/examples/xend-config.sxp =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xend-config.sxp -+++ xen-4.1.1-testing/tools/examples/xend-config.sxp +--- xen-4.1.2-testing.orig/tools/examples/xend-config.sxp ++++ xen-4.1.2-testing/tools/examples/xend-config.sxp @@ -324,6 +324,65 @@ # device assignment could really work properly even after we do this. #(pci-passthrough-strict-check yes) @@ -78,10 +78,10 @@ Index: xen-4.1.1-testing/tools/examples/xend-config.sxp # 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.1.1-testing/tools/hotplug/Linux/Makefile +Index: xen-4.1.2-testing/tools/hotplug/Linux/Makefile =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/Makefile -+++ xen-4.1.1-testing/tools/hotplug/Linux/Makefile +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/Makefile ++++ xen-4.1.2-testing/tools/hotplug/Linux/Makefile @@ -22,6 +22,7 @@ XEN_SCRIPTS += vtpm vtpm-delete XEN_SCRIPTS += xen-hotplug-cleanup XEN_SCRIPTS += external-device-migrate @@ -90,10 +90,10 @@ Index: xen-4.1.1-testing/tools/hotplug/Linux/Makefile 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.1.1-testing/tools/hotplug/Linux/domain-lock +Index: xen-4.1.2-testing/tools/hotplug/Linux/domain-lock =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/hotplug/Linux/domain-lock ++++ xen-4.1.2-testing/tools/hotplug/Linux/domain-lock @@ -0,0 +1,83 @@ +#!/bin/bash + @@ -178,10 +178,10 @@ Index: xen-4.1.1-testing/tools/hotplug/Linux/domain-lock + get_status $vm_path + ;; +esac -Index: xen-4.1.1-testing/tools/hotplug/Linux/vm-monitor +Index: xen-4.1.2-testing/tools/hotplug/Linux/vm-monitor =================================================================== --- /dev/null -+++ xen-4.1.1-testing/tools/hotplug/Linux/vm-monitor ++++ xen-4.1.2-testing/tools/hotplug/Linux/vm-monitor @@ -0,0 +1,41 @@ +#!/bin/bash + @@ -224,10 +224,10 @@ Index: xen-4.1.1-testing/tools/hotplug/Linux/vm-monitor +elif [ $0 = "$basedir/vm-monitor" ]; then + monitor $* +fi -Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendCheckpoint.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendCheckpoint.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py @@ -133,6 +133,8 @@ def save(fd, dominfo, network, live, dst dominfo.shutdown('suspend') dominfo.waitForSuspend() @@ -237,7 +237,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py dominfo.migrateDevices(network, dst, DEV_MIGRATE_STEP2, domain_name) log.info("Domain %d suspended.", dominfo.getDomid()) -@@ -409,6 +411,7 @@ def restore(xd, fd, dominfo = None, paus +@@ -412,6 +414,7 @@ def restore(xd, fd, dominfo = None, paus if not paused: dominfo.unpause() @@ -245,10 +245,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendCheckpoint.py return dominfo except Exception, exn: dominfo.destroy() -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py @@ -470,6 +470,7 @@ class XendDomainInfo: if self._stateGet() in (XEN_API_VM_POWER_STATE_HALTED, XEN_API_VM_POWER_STATE_SUSPENDED, XEN_API_VM_POWER_STATE_CRASHED): @@ -257,7 +257,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py XendTask.log_progress(0, 30, self._constructDomain) XendTask.log_progress(31, 60, self._initDomain) -@@ -2997,6 +2998,11 @@ class XendDomainInfo: +@@ -3001,6 +3002,11 @@ class XendDomainInfo: self._stateSet(DOM_STATE_HALTED) self.domid = None # Do not push into _stateSet()! @@ -269,7 +269,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py finally: self.refresh_shutdown_lock.release() -@@ -4505,6 +4511,74 @@ class XendDomainInfo: +@@ -4509,6 +4515,74 @@ class XendDomainInfo: def has_device(self, dev_class, dev_uuid): return (dev_uuid in self.info['%s_refs' % dev_class.lower()]) @@ -344,10 +344,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py def __str__(self): return '' % \ (str(self.domid), self.info['name_label'], -Index: xen-4.1.1-testing/tools/python/xen/xend/XendOptions.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendOptions.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendOptions.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendOptions.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendOptions.py ++++ xen-4.1.2-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 diff --git a/xend-migration-domname-fix.patch b/xend-migration-domname-fix.patch new file mode 100644 index 0000000..cbcf6db --- /dev/null +++ b/xend-migration-domname-fix.patch @@ -0,0 +1,34 @@ +setName() writes the new name to xenstore/Dompath too, so that those read +domname from xenstore (like 'virsh list') could get correct value. +2nd hunk prevents writing xenstore if not "checkpoint", otherwise, vm +destroyed but there is still VM entry in xenstore. + +Signed-off-by: Chunyan Liu +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +=================================================================== +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -1946,6 +1946,7 @@ class XendDomainInfo: + self.info['name_label'] = name + if to_store: + self.storeVm("name", name) ++ self.storeDom("name", name) + + def getName(self): + return self.info['name_label'] +Index: xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py +=================================================================== +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendCheckpoint.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendCheckpoint.py +@@ -172,7 +172,10 @@ def save(fd, dominfo, network, live, dst + dominfo.destroy() + dominfo.testDeviceComplete() + try: +- dominfo.setName(domain_name) ++ if checkpoint: ++ dominfo.setName(domain_name) ++ else: ++ dominfo.setName(domain_name, False) + except VmError: + # Ignore this. The name conflict (hopefully) arises because we + # are doing localhost migration; if we are doing a suspend of a diff --git a/xend-sysconfig.patch b/xend-sysconfig.patch index ed0f7c2..65702f8 100644 --- a/xend-sysconfig.patch +++ b/xend-sysconfig.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/hotplug/Linux/init.d/sysconfig.xencommons +Index: xen-4.1.2-testing/tools/hotplug/Linux/init.d/sysconfig.xencommons =================================================================== ---- xen-4.1.1-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xencommons -+++ xen-4.1.1-testing/tools/hotplug/Linux/init.d/sysconfig.xencommons +--- xen-4.1.2-testing.orig/tools/hotplug/Linux/init.d/sysconfig.xencommons ++++ xen-4.1.2-testing/tools/hotplug/Linux/init.d/sysconfig.xencommons @@ -1,11 +1,31 @@ +## Path: System/Virtualization +## Type: string(none,guest,hv,all) diff --git a/xend-vcpu-affinity-fix.patch b/xend-vcpu-affinity-fix.patch new file mode 100644 index 0000000..6fc5c8b --- /dev/null +++ b/xend-vcpu-affinity-fix.patch @@ -0,0 +1,16 @@ +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +=================================================================== +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -2776,7 +2776,10 @@ class XendDomainInfo: + from xen.xend import XendDomain + doms = XendDomain.instance().list('all') + for dom in filter (lambda d: d.domid != self.domid, doms): +- cpuinfo = dom.getVCPUInfo() ++ try: ++ cpuinfo = dom.getVCPUInfo() ++ except: ++ continue + for vcpu in sxp.children(cpuinfo, 'vcpu'): + if sxp.child_value(vcpu, 'online') == 0: continue + cpumap = list(sxp.child_value(vcpu,'cpumap')) diff --git a/xenpaging.autostart.patch b/xenpaging.autostart.patch index c2a24d1..096634e 100644 --- a/xenpaging.autostart.patch +++ b/xenpaging.autostart.patch @@ -36,10 +36,10 @@ v2: tools/python/xen/xm/xenapi_create.py | 4 + 8 files changed, 155 insertions(+) -Index: xen-4.1.1-testing/tools/examples/xmexample.hvm +Index: xen-4.1.2-testing/tools/examples/xmexample.hvm =================================================================== ---- xen-4.1.1-testing.orig/tools/examples/xmexample.hvm -+++ xen-4.1.1-testing/tools/examples/xmexample.hvm +--- xen-4.1.2-testing.orig/tools/examples/xmexample.hvm ++++ xen-4.1.2-testing/tools/examples/xmexample.hvm @@ -127,6 +127,18 @@ disk = [ 'file:/var/lib/xen/images/disk. # Device Model to be used device_model = 'qemu-dm' @@ -59,10 +59,10 @@ Index: xen-4.1.1-testing/tools/examples/xmexample.hvm #----------------------------------------------------------------------------- # boot on floppy (a), hard disk (c), Network (n) or CD-ROM (d) # default: hard disk, cd-rom, floppy -Index: xen-4.1.1-testing/tools/python/README.XendConfig +Index: xen-4.1.2-testing/tools/python/README.XendConfig =================================================================== ---- xen-4.1.1-testing.orig/tools/python/README.XendConfig -+++ xen-4.1.1-testing/tools/python/README.XendConfig +--- xen-4.1.2-testing.orig/tools/python/README.XendConfig ++++ xen-4.1.2-testing/tools/python/README.XendConfig @@ -120,6 +120,10 @@ otherConfig image.vncdisplay image.vncunused @@ -74,10 +74,10 @@ Index: xen-4.1.1-testing/tools/python/README.XendConfig image.hvm.display image.hvm.xauthority image.hvm.vncconsole -Index: xen-4.1.1-testing/tools/python/README.sxpcfg +Index: xen-4.1.2-testing/tools/python/README.sxpcfg =================================================================== ---- xen-4.1.1-testing.orig/tools/python/README.sxpcfg -+++ xen-4.1.1-testing/tools/python/README.sxpcfg +--- xen-4.1.2-testing.orig/tools/python/README.sxpcfg ++++ xen-4.1.2-testing/tools/python/README.sxpcfg @@ -51,6 +51,10 @@ image - vncunused (HVM) @@ -89,10 +89,10 @@ Index: xen-4.1.1-testing/tools/python/README.sxpcfg - display - xauthority - vncconsole -Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendConfig.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendConfig.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendConfig.py @@ -147,6 +147,10 @@ XENAPI_PLATFORM_CFG_TYPES = { 'apic': int, 'boot': str, @@ -119,11 +119,11 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendConfig.py if 'timer_mode' not in self['platform']: self['platform']['timer_mode'] = 1 if 'extid' in self['platform'] and int(self['platform']['extid']) == 1: -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomainInfo.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py -@@ -2290,6 +2290,8 @@ class XendDomainInfo: +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomainInfo.py +@@ -2291,6 +2291,8 @@ class XendDomainInfo: self.info['name_label'], self.domid, self.info['uuid'], new_name, new_uuid) self._unwatchVm() @@ -132,7 +132,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py self._releaseDevices() # Remove existing vm node in xenstore self._removeVm() -@@ -2961,6 +2963,9 @@ class XendDomainInfo: +@@ -2965,6 +2967,9 @@ class XendDomainInfo: self._createDevices() @@ -142,7 +142,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py self.image.cleanupTmpImages() self.info['start_time'] = time.time() -@@ -2985,6 +2990,8 @@ class XendDomainInfo: +@@ -2989,6 +2994,8 @@ class XendDomainInfo: self.refresh_shutdown_lock.acquire() try: self.unwatchShutdown() @@ -151,7 +151,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py self._releaseDevices() bootloader_tidy(self) -@@ -3069,6 +3076,7 @@ class XendDomainInfo: +@@ -3073,6 +3080,7 @@ class XendDomainInfo: self.image = image.create(self, self.info) if self.image: self._createDevices(True) @@ -159,7 +159,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py self.console_port = console_port self._storeDomDetails() self._registerWatches() -@@ -3210,6 +3218,8 @@ class XendDomainInfo: +@@ -3214,6 +3222,8 @@ class XendDomainInfo: # could also fetch a parsed note from xenstore fast = self.info.get_notes().get('SUSPEND_CANCEL') and 1 or 0 if not fast: @@ -168,7 +168,7 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py self._releaseDevices() self.testDeviceComplete() self.testvifsComplete() -@@ -3225,6 +3235,8 @@ class XendDomainInfo: +@@ -3229,6 +3239,8 @@ class XendDomainInfo: self._storeDomDetails() self._createDevices() @@ -177,10 +177,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomainInfo.py log.debug("XendDomainInfo.resumeDomain: devices created") xc.domain_resume(self.domid, fast) -Index: xen-4.1.1-testing/tools/python/xen/xend/image.py +Index: xen-4.1.2-testing/tools/python/xen/xend/image.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/image.py -+++ xen-4.1.1-testing/tools/python/xen/xend/image.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/image.py ++++ xen-4.1.2-testing/tools/python/xen/xend/image.py @@ -122,6 +122,11 @@ class ImageHandler: self.vm.permissionsVm("image/cmdline", { 'dom': self.vm.getDomid(), 'read': True } ) @@ -282,10 +282,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/image.py def createDeviceModel(self, restore = False): if self.device_model is None: return -Index: xen-4.1.1-testing/tools/python/xen/xm/create.py +Index: xen-4.1.2-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.1.1-testing/tools/python/xen/xm/create.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.1.2-testing/tools/python/xen/xm/create.py @@ -495,6 +495,22 @@ gopts.var('nfs_root', val="PATH", fn=set_value, default=None, use="Set the path of the root NFS directory.") @@ -320,10 +320,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xm/create.py 'device_model', 'display', 'fda', 'fdb', 'gfx_passthru', 'guest_os_type', -Index: xen-4.1.1-testing/tools/python/xen/xm/xenapi_create.py +Index: xen-4.1.2-testing/tools/python/xen/xm/xenapi_create.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/xenapi_create.py -+++ xen-4.1.1-testing/tools/python/xen/xm/xenapi_create.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/xenapi_create.py ++++ xen-4.1.2-testing/tools/python/xen/xm/xenapi_create.py @@ -1085,6 +1085,10 @@ class sxp2xml: 'acpi', 'apic', diff --git a/xenpaging.catch-xc_mem_paging_resume-error.patch b/xenpaging.catch-xc_mem_paging_resume-error.patch index ea32e12..9b50296 100644 --- a/xenpaging.catch-xc_mem_paging_resume-error.patch +++ b/xenpaging.catch-xc_mem_paging_resume-error.patch @@ -9,10 +9,10 @@ Signed-off-by: Olaf Hering tools/xenpaging/xenpaging.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) -Index: xen-4.1.1-testing/tools/xenpaging/xenpaging.c +Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenpaging/xenpaging.c -+++ xen-4.1.1-testing/tools/xenpaging/xenpaging.c +--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c ++++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c @@ -405,8 +405,9 @@ static int xenpaging_resume_page(xenpagi /* Tell Xen page is ready */ ret = xc_mem_paging_resume(paging->xc_handle, paging->mem_event.domain_id, diff --git a/xenpaging.guest_remove_page.slow_path.patch b/xenpaging.guest_remove_page.slow_path.patch index 2becd14..7c0afb6 100644 --- a/xenpaging.guest_remove_page.slow_path.patch +++ b/xenpaging.guest_remove_page.slow_path.patch @@ -15,10 +15,10 @@ Signed-off-by: Olaf Hering tools/xenpaging/xenpaging.c | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) -Index: xen-4.1.1-testing/tools/xenpaging/xenpaging.c +Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenpaging/xenpaging.c -+++ xen-4.1.1-testing/tools/xenpaging/xenpaging.c +--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c ++++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c @@ -653,19 +653,19 @@ int main(int argc, char *argv[]) ERROR("Error populating page"); goto out; diff --git a/xenpaging.mem_event-no-p2mt.patch b/xenpaging.mem_event-no-p2mt.patch index 0383a44..07b05c9 100644 --- a/xenpaging.mem_event-no-p2mt.patch +++ b/xenpaging.mem_event-no-p2mt.patch @@ -12,10 +12,10 @@ Signed-off-by: Olaf Hering xen/arch/x86/mm/p2m.c | 1 - 2 files changed, 5 deletions(-) -Index: xen-4.1.1-testing/tools/xenpaging/xenpaging.c +Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenpaging/xenpaging.c -+++ xen-4.1.1-testing/tools/xenpaging/xenpaging.c +--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c ++++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c @@ -657,7 +657,6 @@ int main(int argc, char *argv[]) /* Prepare the response */ @@ -43,10 +43,10 @@ Index: xen-4.1.1-testing/tools/xenpaging/xenpaging.c rsp.vcpu_id = req.vcpu_id; rsp.flags = req.flags; -Index: xen-4.1.1-testing/xen/arch/x86/mm/p2m.c +Index: xen-4.1.2-testing/xen/arch/x86/mm/p2m.c =================================================================== ---- xen-4.1.1-testing.orig/xen/arch/x86/mm/p2m.c -+++ xen-4.1.1-testing/xen/arch/x86/mm/p2m.c +--- xen-4.1.2-testing.orig/xen/arch/x86/mm/p2m.c ++++ xen-4.1.2-testing/xen/arch/x86/mm/p2m.c @@ -2975,7 +2975,6 @@ void p2m_mem_paging_populate(struct p2m_ /* Send request to pager */ diff --git a/xenpaging.no-srand.patch b/xenpaging.no-srand.patch index 5a9e5ab..2ec3248 100644 --- a/xenpaging.no-srand.patch +++ b/xenpaging.no-srand.patch @@ -9,10 +9,10 @@ Signed-off-by: Olaf Hering tools/xenpaging/xenpaging.c | 3 --- 1 file changed, 3 deletions(-) -Index: xen-4.1.1-testing/tools/xenpaging/xenpaging.c +Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenpaging/xenpaging.c -+++ xen-4.1.1-testing/tools/xenpaging/xenpaging.c +--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c ++++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c @@ -544,9 +544,6 @@ int main(int argc, char *argv[]) domain_id = atoi(argv[1]); num_pages = atoi(argv[2]); diff --git a/xenpaging.return-void.patch b/xenpaging.return-void.patch index cb5a474..a73b07c 100644 --- a/xenpaging.return-void.patch +++ b/xenpaging.return-void.patch @@ -9,10 +9,10 @@ Signed-off-by: Olaf Hering tools/xenpaging/xenpaging.c | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) -Index: xen-4.1.1-testing/tools/xenpaging/xenpaging.c +Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenpaging/xenpaging.c -+++ xen-4.1.1-testing/tools/xenpaging/xenpaging.c +--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c ++++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c @@ -297,7 +297,7 @@ static int xenpaging_teardown(xenpaging_ return -1; } diff --git a/xenpaging.xenpaging_populate_page-gfn.patch b/xenpaging.xenpaging_populate_page-gfn.patch index 0491f6a..bc41468 100644 --- a/xenpaging.xenpaging_populate_page-gfn.patch +++ b/xenpaging.xenpaging_populate_page-gfn.patch @@ -10,10 +10,10 @@ Signed-off-by: Olaf Hering tools/xenpaging/xenpaging.c | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) -Index: xen-4.1.1-testing/tools/xenpaging/xenpaging.c +Index: xen-4.1.2-testing/tools/xenpaging/xenpaging.c =================================================================== ---- xen-4.1.1-testing.orig/tools/xenpaging/xenpaging.c -+++ xen-4.1.1-testing/tools/xenpaging/xenpaging.c +--- xen-4.1.2-testing.orig/tools/xenpaging/xenpaging.c ++++ xen-4.1.2-testing/tools/xenpaging/xenpaging.c @@ -413,28 +413,24 @@ static int xenpaging_resume_page(xenpagi return ret; } diff --git a/xm-create-xflag.patch b/xm-create-xflag.patch index 4dca560..4d9c826 100644 --- a/xm-create-xflag.patch +++ b/xm-create-xflag.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xm/create.py +Index: xen-4.1.2-testing/tools/python/xen/xm/create.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/create.py -+++ xen-4.1.1-testing/tools/python/xen/xm/create.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/create.py ++++ xen-4.1.2-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 @@ -33,10 +33,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xm/create.py if opts.vals.dryrun or opts.vals.xmldryrun: return -Index: xen-4.1.1-testing/tools/python/xen/xend/XendAPIConstants.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendAPIConstants.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendAPIConstants.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendAPIConstants.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendAPIConstants.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendAPIConstants.py @@ -45,8 +45,10 @@ XEN_API_ON_NORMAL_EXIT = [ XEN_API_ON_CRASH_BEHAVIOUR = [ 'destroy', diff --git a/xm-save-check-file.patch b/xm-save-check-file.patch index 5c0e6c6..88e8215 100644 --- a/xm-save-check-file.patch +++ b/xm-save-check-file.patch @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/python/xen/xend/XendAPI.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendAPI.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendAPI.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendAPI.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendAPI.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendAPI.py @@ -1959,10 +1959,10 @@ class XendAPI(object): bool(live), port, node, ssl, bool(chs)) return xen_api_success_void() @@ -15,10 +15,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendAPI.py return xen_api_success_void() def VM_restore(self, _, src, paused): -Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomain.py +Index: xen-4.1.2-testing/tools/python/xen/xend/XendDomain.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xend/XendDomain.py -+++ xen-4.1.1-testing/tools/python/xen/xend/XendDomain.py +--- xen-4.1.2-testing.orig/tools/python/xen/xend/XendDomain.py ++++ xen-4.1.2-testing/tools/python/xen/xend/XendDomain.py @@ -1505,7 +1505,7 @@ class XendDomain: pass sock.close() @@ -38,10 +38,10 @@ Index: xen-4.1.1-testing/tools/python/xen/xend/XendDomain.py if dominfo.getDomid() == DOM0_ID: raise XendError("Cannot save privileged domain %s" % str(domid)) if dominfo._stateGet() != DOM_STATE_RUNNING: -Index: xen-4.1.1-testing/tools/python/xen/xm/main.py +Index: xen-4.1.2-testing/tools/python/xen/xm/main.py =================================================================== ---- xen-4.1.1-testing.orig/tools/python/xen/xm/main.py -+++ xen-4.1.1-testing/tools/python/xen/xm/main.py +--- xen-4.1.2-testing.orig/tools/python/xen/xm/main.py ++++ xen-4.1.2-testing/tools/python/xen/xm/main.py @@ -121,7 +121,7 @@ SUBCOMMAND_HELP = { 'reset' : ('', 'Reset a domain.'), 'restore' : (' [-p]', diff --git a/xm-test-cleanup.diff b/xm-test-cleanup.diff index 69abb41..673c802 100644 --- a/xm-test-cleanup.diff +++ b/xm-test-cleanup.diff @@ -1,7 +1,7 @@ -Index: xen-4.1.1-testing/tools/xm-test/tests/save/01_save_basic_pos.py +Index: xen-4.1.2-testing/tools/xm-test/tests/save/01_save_basic_pos.py =================================================================== ---- xen-4.1.1-testing.orig/tools/xm-test/tests/save/01_save_basic_pos.py -+++ xen-4.1.1-testing/tools/xm-test/tests/save/01_save_basic_pos.py +--- xen-4.1.2-testing.orig/tools/xm-test/tests/save/01_save_basic_pos.py ++++ xen-4.1.2-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()):