Hello community,
here is the log from the commit of package xen for openSUSE:11.4
checked in at Wed Feb 8 01:06:42 CET 2012.
--------
--- old-versions/11.4/UPDATES/all/xen/xen.changes 2011-07-25 21:53:26.000000000 +0200
+++ 11.4/xen/xen.changes 2012-02-06 17:44:04.000000000 +0100
@@ -1,0 +2,188 @@
+Thu Feb 2 09:21:01 MST 2012 - carnold@novell.com
+
+- bnc#740165 - VUL-0: kvm: qemu heap overflow in e1000 device
+ emulation (applicable to Xen qemu - CVE-2012-0029)
+ cve-2012-0029-qemu-xen-unstable.patch
+
+-------------------------------------------------------------------
+Wed Jan 18 09:42:54 MST 2012 - carnold@novell.com
+
+- bnc#739585 - L3: Xen block-attach fails after repeated attach/detach
+ blktap-close-fifos.patch
+ blktap-disable-debug-printf.patch
+
+-------------------------------------------------------------------
+Tue Jan 10 17:30:20 CET 2012 - ohering@suse.de
+
+- bnc#694863 - kexec fails in xen
+ 24478-libxl_add_feature_flag_to_xenstore_for_XS_RESET_WATCHES.patch
+
+-------------------------------------------------------------------
+Tue Dec 20 15:26:10 MST 2011 - carnold@novell.com
+
+- bnc#727515 - Fragmented packets hang network boot of HVM guest
+ ipxe-git-v1.0.0.tar.gz.bz2
+ ipxe-v1.0.0-update.patch
+
+-------------------------------------------------------------------
+Mon Dec 19 09:40:35 MST 2011 - carnold@novell.com
+
+- bnc#736824 - Microcode patches for AMD's 15h processors panic the
+ system
+ 24389-amd-fam10-gart-tlb-walk-err.patch
+ 24411-x86-ucode-AMD-Fam15.patch
+ 24412-x86-AMD-errata-model-shift.patch
+ 24417-x86-AMD-erratum-573.patch
+- Upstream patches from Jan
+ 24282-x86-log-dirty-bitmap-leak.patch
+ 24344-tools-x86_64_Fix_cpuid_inline_asm_to_not_clobber_stacks_red_zone.patch
+ 24358-kexec-compat-overflow.patch
+ 24360-x86-pv-domU-no-PCID.patch
+
+-------------------------------------------------------------------
+Wed Dec 7 11:01:43 MST 2011 - jfehlig@suse.com
+
+- bnc#732782 - L3: xm create hangs when maxmen value is enclosed
+ in "quotes"
+ xm-create-maxmem.patch
+
+-------------------------------------------------------------------
+Tue Dec 6 11:14:51 MST 2011 - jfehlig@suse.com
+
+- bnc#734826 - xm rename doesn't work anymore
+ Updated xend-migration-domname-fix.patch
+
+-------------------------------------------------------------------
+Tue Nov 29 13:52:44 MST 2011 - carnold@novell.com
+
+- bnc#694863 - L3:kexec fails in xen
+ 24168-x86-vioapic-clear-remote_irr.patch
+- bnc#726332 - Xen changeset 21326 introduces considerable
+ performance hit
+ 24148-shadow-pgt-dying-op-performance.patch
+- Upstream patches from Jan
+ 24123-x86-cpuidle-quiesce.patch
+ 24124-x86-microcode-amd-quiesce.patch
+ 24155-x86-ioapic-EOI-after-migration.patch
+ 24190-hap-log-dirty-disable-rc.patch
+ 24193-hap-track-dirty-vram-rc.patch
+ 24201-x86-pcpu-platform-op.patch
+
+-------------------------------------------------------------------
+Tue Nov 8 11:00:02 MST 2011 - carnold@novell.com
+
+- submit fix for bnc#649209
+ update suspend_evtchn_lock.patch
+
+-------------------------------------------------------------------
+Tue Nov 8 11:00:01 MST 2011 - carnold@novell.com
+
+- Upstream patches from Jan
+ 23511-AMD-Fam15-C3-no-cache-flush.patch
+ 23957-cpufreq-error-paths.patch
+ Renamed patch x86-microcode-amd-fix-23871.patch to
+ 23993-x86-microcode-amd-fix-23871.patch
+
+-------------------------------------------------------------------
+Mon Nov 7 09:47:03 MST 2011 - carnold@novell.com
+
+- Update to Xen version 4.0.3 FCS c/s 21548
+
+-------------------------------------------------------------------
+Mon Oct 24 11:31:49 MDT 2011 - carnold@novell.com
+
+- bnc#725169 - xen-4.0.2_21511_03-0.5.3: bootup hangs
+ x86-microcode-amd-fix-23871.patch
+
+-------------------------------------------------------------------
+Wed Oct 5 08:25:47 MDT 2011 - carnold@novell.com
+
+- Upstream patches from Jan
+ 23805-x86-IO-APIC-EOI.patch
+ 23820-bitmap_scnlistprintf.patch
+ 23833-x86-IO-APIC-EOI.patch
+ 23848-vmx-conditional-off.patch
+ 23868-vtd-RMRR-validation.patch
+ 23871-x86-microcode-amd-silent.patch
+ 23898-cc-option-grep.patch
+
+-------------------------------------------------------------------
+Wed Oct 5 15:14:51 CEST 2011 - ohering@suse.de
+
+- bnc#694863 - kexec fails in xen
+ xenstored: allow guest to shutdown all its watches/transactions
+ xenstored.XS_RESET_WATCHES.patch
+
+-------------------------------------------------------------------
+Tue Sep 20 13:58:16 CEST 2011 - ohering@suse.de
+
+- bnc#691256 - remove /etc/init.d/xencommons, its unused and breaks
+ upgrading/downgrading of the xen-tools package because this
+ runlevel script remains enabled in this sles11sp1 package
+
+-------------------------------------------------------------------
+Fri Sep 9 10:44:23 MDT 2011 - jfehlig@suse.com
+
+- bnc#716695 - L3:domUs using tap devices will not start
+ updated multi-xvdp.patch and xen-domUloader.diff
+
+-------------------------------------------------------------------
+Thu Sep 8 09:13:42 MDT 2011 - carnold@novell.com
+
+- bnc#683580 - Xen Hypervisor occasionally hangs forever during
+ boot up after the message "Enabled directed EOI with
+ ioapic_ack_old on!
+ 23795-intel-ich10-quirk.patch
+- bnc#701686 - kdump hangs on megaraid_sas driver
+ 23771-x86-ioapic-clear-pin.patch
+ 23782-x86-ioapic-clear-irr.patch
+- bnc#712051 - VUL-1: xen: IOMMU fault livelock
+ 23762-iommu-fault-bm-off.patch
+- bnc#715655 - No support for performance counters for Westmere
+ E7-8837 and SandyBridge i5-2500
+ 23803-intel-pmu-models.patch
+- Upstream patches from Jan
+ 23746-vtd-cleanup-timers.patch
+ 23765-x86-irq-vector-leak.patch
+ 23776-x86-kexec-hpet-legacy-bcast-disable.patch
+ 23781-pm-wide-ACPI-ids.patch
+ 23783-ACPI-set-_PDC-bits.patch
+ 23800-x86_64-guest-addr-range.patch
+ 23804-x86-IPI-counts.patch
+ 23820-bitmap_scnlistprintf.patch
+
+-------------------------------------------------------------------
+Wed Aug 31 11:17:14 MDT 2011 - carnold@novell.com
+
+- bnc#714183 - Since last update Xen VM's don't start if the name
+ contains dots
+ xenpaging.autostart_delay.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
+
+-------------------------------------------------------------------
+Mon Aug 8 16:18:34 MDT 2011 - jfehlig@suse.com
+
+- bnc#704160 - crm resource migrate fails with xen machines
+ (from cyliu@novell.com)
+ update snapshot-xend.patch
+ update xen-utils-0.1.tar.bz2
+
+-------------------------------------------------------------------
+Mon Aug 8 11:24:12 MDT 2011 - jfehlig@suse.com
+
+- bnc#706574 - xm console DomUName hang after "xm save/restore" of
+ PVM on the latest Xen (from cyliu@novell.com)
+ xend-console-port-restore.patch
+
+-------------------------------------------------------------------
calling whatdependson for 11.4-i586
Old:
----
23505-x86-cpu-add-arg-check.patch
23546-fucomip.patch
23706-x86-migration.patch
xen-4.0.2-testing-src.tar.bz2
New:
----
23511-AMD-Fam15-C3-no-cache-flush.patch
23765-x86-irq-vector-leak.patch
23771-x86-ioapic-clear-pin.patch
23776-x86-kexec-hpet-legacy-bcast-disable.patch
23781-pm-wide-ACPI-ids.patch
23782-x86-ioapic-clear-irr.patch
23783-ACPI-set-_PDC-bits.patch
23795-intel-ich10-quirk.patch
23800-x86_64-guest-addr-range.patch
23803-intel-pmu-models.patch
23804-x86-IPI-counts.patch
23957-cpufreq-error-paths.patch
23993-x86-microcode-amd-fix-23871.patch
24123-x86-cpuidle-quiesce.patch
24124-x86-microcode-amd-quiesce.patch
24148-shadow-pgt-dying-op-performance.patch
24155-x86-ioapic-EOI-after-migration.patch
24168-x86-vioapic-clear-remote_irr.patch
24190-hap-log-dirty-disable-rc.patch
24193-hap-track-dirty-vram-rc.patch
24201-x86-pcpu-platform-op.patch
24282-x86-log-dirty-bitmap-leak.patch
24344-tools-x86_64_Fix_cpuid_inline_asm_to_not_clobber_stacks_red_zone.patch
24358-kexec-compat-overflow.patch
24360-x86-pv-domU-no-PCID.patch
24389-amd-fam10-gart-tlb-walk-err.patch
24411-x86-ucode-AMD-Fam15.patch
24412-x86-AMD-errata-model-shift.patch
24417-x86-AMD-erratum-573.patch
24478-libxl_add_feature_flag_to_xenstore_for_XS_RESET_WATCHES.patch
blktap-close-fifos.patch
blktap-disable-debug-printf.patch
cve-2012-0029-qemu-xen-unstable.patch
ipxe-git-v1.0.0.tar.gz.bz2
ipxe-v1.0.0-update.patch
suspend_evtchn_lock.patch
xen-4.0.3-testing-src.tar.bz2
xend-console-port-restore.patch
xend-migration-domname-fix.patch
xend-vcpu-affinity-fix.patch
xenstored.XS_RESET_WATCHES.patch
xm-create-maxmem.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ xen.spec ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -1,7 +1,7 @@
#
# spec file for package xen
#
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -22,8 +22,8 @@
ExclusiveArch: %ix86 x86_64
%define xvers 4.0
%define xvermaj 4
-%define changeset 21511
-%define xen_build_dir xen-4.0.2-testing
+%define changeset 21548
+%define xen_build_dir xen-4.0.3-testing
%define with_kmp 1
%define with_stubdom 1
BuildRequires: LibVNCServer-devel
@@ -72,14 +72,14 @@
%if %{?with_kmp}0
BuildRequires: kernel-source kernel-syms module-init-tools xorg-x11
%endif
-Version: 4.0.2_52
+Version: 4.0.3_01
Release: 0.<RELEASE2>
License: GPLv2+
Group: System/Kernel
AutoReqProv: on
PreReq: %insserv_prereq %fillup_prereq
Summary: Xen Virtualization: Hypervisor (aka VMM aka Microkernel)
-Source0: xen-4.0.2-testing-src.tar.bz2
+Source0: xen-4.0.3-testing-src.tar.bz2
Source1: stubdom.tar.bz2
Source2: xen-utils-0.1.tar.bz2
Source3: README.SuSE
@@ -109,8 +109,9 @@
Source24: xenapiusers
# sysconfig hook script for Xen
Source25: xen-updown.sh
+Source26: ipxe-git-v1.0.0.tar.gz.bz2
# http://xenbits.xensource.com/ext/xenalyze.hg
-Source20000: xenalyze.hg.tar.bz2
+Source27: xenalyze.hg.tar.bz2
# Upstream patches
Patch0: 21089-x86-startup-irq-from-setup-gsi.patch
Patch1: 21235-crashkernel-advanced.patch
@@ -173,16 +174,44 @@
Patch58: 23199-amd-iommu-unmapped-intr-fault.patch
Patch59: 23200-amd-iommu-intremap-sync.patch
Patch60: 23298-hvmop-get-mem-type.patch
-Patch61: 23505-x86-cpu-add-arg-check.patch
+Patch61: 23511-AMD-Fam15-C3-no-cache-flush.patch
Patch62: 23543-x86_64-m2v-assert.patch
-Patch63: 23546-fucomip.patch
-Patch64: 23676-x86_64-alias-mappings.patch
-Patch65: 23706-x86-migration.patch
+Patch63: 23676-x86_64-alias-mappings.patch
+Patch64: 23765-x86-irq-vector-leak.patch
+Patch65: 23771-x86-ioapic-clear-pin.patch
+Patch66: 23776-x86-kexec-hpet-legacy-bcast-disable.patch
+Patch67: 23781-pm-wide-ACPI-ids.patch
+Patch68: 23782-x86-ioapic-clear-irr.patch
+Patch69: 23783-ACPI-set-_PDC-bits.patch
+Patch70: 23795-intel-ich10-quirk.patch
+Patch71: 23800-x86_64-guest-addr-range.patch
+Patch72: 23803-intel-pmu-models.patch
+Patch73: 23804-x86-IPI-counts.patch
+Patch74: 23957-cpufreq-error-paths.patch
+Patch75: 23993-x86-microcode-amd-fix-23871.patch
+Patch76: 24123-x86-cpuidle-quiesce.patch
+Patch77: 24124-x86-microcode-amd-quiesce.patch
+Patch78: 24148-shadow-pgt-dying-op-performance.patch
+Patch79: 24155-x86-ioapic-EOI-after-migration.patch
+Patch80: 24168-x86-vioapic-clear-remote_irr.patch
+Patch81: 24190-hap-log-dirty-disable-rc.patch
+Patch82: 24193-hap-track-dirty-vram-rc.patch
+Patch83: 24201-x86-pcpu-platform-op.patch
+Patch84: 24282-x86-log-dirty-bitmap-leak.patch
+Patch85: 24344-tools-x86_64_Fix_cpuid_inline_asm_to_not_clobber_stacks_red_zone.patch
+Patch86: 24358-kexec-compat-overflow.patch
+Patch87: 24360-x86-pv-domU-no-PCID.patch
+Patch88: 24389-amd-fam10-gart-tlb-walk-err.patch
+Patch89: 24411-x86-ucode-AMD-Fam15.patch
+Patch90: 24412-x86-AMD-errata-model-shift.patch
+Patch91: 24417-x86-AMD-erratum-573.patch
+Patch92: 24478-libxl_add_feature_flag_to_xenstore_for_XS_RESET_WATCHES.patch
# Upstream qemu patches
Patch200: 7410-qemu-alt-gr.patch
Patch201: 7426-xenfb-depth.patch
Patch202: 7433-qemu-altgr.patch
Patch203: 7434-qemu-rlimit-as.patch
+Patch204: cve-2012-0029-qemu-xen-unstable.patch
# Our patches
Patch300: xen-config.diff
Patch301: xend-config.diff
@@ -246,6 +275,9 @@
Patch374: xend-devid-or-name.patch
Patch375: 22326-cpu-pools-numa-placement.patch
Patch376: 20158-revert.patch
+Patch377: suspend_evtchn_lock.patch
+Patch378: xend-migration-domname-fix.patch
+Patch379: xm-create-maxmem.patch
# Patches for snapshot support
Patch400: snapshot-ioemu-save.patch
Patch401: snapshot-ioemu-restore.patch
@@ -285,8 +317,14 @@
Patch444: xentrace.dynamic_sized_tbuf.patch
Patch445: xend-validate-nic-model.patch
Patch446: xend-config-enable-dump-comment.patch
+Patch447: xend-console-port-restore.patch
+Patch448: xend-vcpu-affinity-fix.patch
+Patch449: xenstored.XS_RESET_WATCHES.patch
+Patch450: ipxe-v1.0.0-update.patch
+Patch451: blktap-close-fifos.patch
+Patch452: blktap-disable-debug-printf.patch
# Jim's domain lock patch
-Patch450: xend-domain-lock.patch
+Patch470: xend-domain-lock.patch
# Hypervisor and PV driver Patches
Patch500: 32on64-extra-mem.patch
Patch501: x86-ioapic-ack-default.patch
@@ -668,8 +706,12 @@
Ian Pratt
%prep
-%setup -q -n %xen_build_dir -a 1 -a 20000
-tar xfj %{SOURCE2} -C $RPM_BUILD_DIR/%{xen_build_dir}/tools
+%setup -q -n %xen_build_dir
+%setup -T -D -c -n %xen_build_dir -a 1
+%setup -T -D -c -n %xen_build_dir/tools -a 2
+%setup -T -D -c -n %xen_build_dir/tools/firmware/etherboot -a 26
+%setup -T -D -c -n %xen_build_dir -a 27
+%setup -T -D -n %xen_build_dir
%patch0 -p1
%patch1 -p1
%patch2 -p1
@@ -736,10 +778,38 @@
%patch63 -p1
%patch64 -p1
%patch65 -p1
+%patch66 -p1
+%patch67 -p1
+%patch68 -p1
+%patch69 -p1
+%patch70 -p1
+%patch71 -p1
+%patch72 -p1
+%patch73 -p1
+%patch74 -p1
+%patch75 -p1
+%patch76 -p1
+%patch77 -p1
+%patch78 -p1
+%patch79 -p1
+%patch80 -p1
+%patch81 -p1
+%patch82 -p1
+%patch83 -p1
+%patch84 -p1
+%patch85 -p1
+%patch86 -p1
+%patch87 -p1
+%patch88 -p1
+%patch89 -p1
+%patch90 -p1
+%patch91 -p1
+%patch92 -p1
%patch200 -p1
%patch201 -p1
%patch202 -p1
%patch203 -p1
+%patch204 -p1
%patch300 -p1
%patch301 -p1
%patch302 -p1
@@ -801,6 +871,9 @@
%patch374 -p1
%patch375 -p1
%patch376 -p1
+%patch377 -p1
+%patch378 -p1
+%patch379 -p1
%patch400 -p1
%patch401 -p1
%patch402 -p1
@@ -837,7 +910,13 @@
%patch444 -p1
%patch445 -p1
%patch446 -p1
+%patch447 -p1
+%patch448 -p1
+%patch449 -p1
%patch450 -p1
+%patch451 -p1
+%patch452 -p1
+%patch470 -p1
%patch500 -p1
%patch501 -p1
%patch502 -p1
++++++ 20158-revert.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -15,10 +15,10 @@
http://lists.xensource.com/archives/html/xen-devel/2010-12/msg01160.html
-Index: xen-4.0.2-testing/tools/python/xen/util/blkif.py
+Index: xen-4.0.3-testing/tools/python/xen/util/blkif.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/util/blkif.py
-+++ xen-4.0.2-testing/tools/python/xen/util/blkif.py
+--- xen-4.0.3-testing.orig/tools/python/xen/util/blkif.py
++++ xen-4.0.3-testing/tools/python/xen/util/blkif.py
@@ -79,13 +79,6 @@ def parse_uname(uname):
if typ == "phy" and not fn.startswith("/"):
fn = "/dev/%s" %(fn,)
@@ -33,11 +33,11 @@
if typ in ("tap", "tap2"):
(taptype, fn) = fn.split(":", 1)
if taptype in ("tapdisk", "ioemu"):
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -3283,15 +3283,6 @@ class XendDomainInfo:
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
+@@ -3284,15 +3284,6 @@ class XendDomainInfo:
(fn, types) = parse_uname(disk)
++++++ 21089-x86-startup-irq-from-setup-gsi.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -54,9 +54,11 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/io_apic.c
-+++ b/xen/arch/x86/io_apic.c
-@@ -2223,6 +2223,7 @@ int __init io_apic_get_redir_entries (in
+Index: xen-4.0.3-testing/xen/arch/x86/io_apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/io_apic.c
++++ xen-4.0.3-testing/xen/arch/x86/io_apic.c
+@@ -2337,6 +2337,7 @@ int __init io_apic_get_redir_entries (in
int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int active_high_low)
{
@@ -64,7 +66,7 @@
struct IO_APIC_route_entry entry;
unsigned long flags;
int vector;
-@@ -2273,7 +2274,12 @@ int io_apic_set_pci_routing (int ioapic,
+@@ -2387,7 +2388,12 @@ int io_apic_set_pci_routing (int ioapic,
spin_lock_irqsave(&ioapic_lock, flags);
__ioapic_write_entry(ioapic, pin, 0, entry);
set_native_irq_info(irq, TARGET_CPUS);
@@ -78,8 +80,10 @@
return 0;
}
---- a/xen/arch/x86/mpparse.c
-+++ b/xen/arch/x86/mpparse.c
+Index: xen-4.0.3-testing/xen/arch/x86/mpparse.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/mpparse.c
++++ xen-4.0.3-testing/xen/arch/x86/mpparse.c
@@ -1102,6 +1102,8 @@ int mp_register_gsi (u32 gsi, int trigge
int ioapic = -1;
int ioapic_pin = 0;
++++++ 21235-crashkernel-advanced.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -33,10 +33,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/xen/arch/x86/setup.c
+Index: xen-4.0.3-testing/xen/arch/x86/setup.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/setup.c
-+++ xen-4.0.2-testing/xen/arch/x86/setup.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/setup.c
++++ xen-4.0.3-testing/xen/arch/x86/setup.c
@@ -664,6 +664,11 @@ void __init __start_xen(unsigned long mb
memcpy(&boot_e820, &e820, sizeof(e820));
@@ -49,10 +49,10 @@
kexec_reserve_area(&boot_e820);
/*
-Index: xen-4.0.2-testing/xen/common/kexec.c
+Index: xen-4.0.3-testing/xen/common/kexec.c
===================================================================
---- xen-4.0.2-testing.orig/xen/common/kexec.c
-+++ xen-4.0.2-testing/xen/common/kexec.c
+--- xen-4.0.3-testing.orig/xen/common/kexec.c
++++ xen-4.0.3-testing/xen/common/kexec.c
@@ -49,15 +49,109 @@ static unsigned char vmcoreinfo_data[VMC
static size_t vmcoreinfo_size = 0;
@@ -166,10 +166,10 @@
static void one_cpu_only(void)
{
/* Only allow the first cpu to continue - force other cpus to spin */
-Index: xen-4.0.2-testing/xen/include/xen/kexec.h
+Index: xen-4.0.3-testing/xen/include/xen/kexec.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/xen/kexec.h
-+++ xen-4.0.2-testing/xen/include/xen/kexec.h
+--- xen-4.0.3-testing.orig/xen/include/xen/kexec.h
++++ xen-4.0.3-testing/xen/include/xen/kexec.h
@@ -12,6 +12,8 @@ typedef struct xen_kexec_reserve {
extern xen_kexec_reserve_t kexec_crash_area;
++++++ 21271-x86-cache-flush-global.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -12,10 +12,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/xen/arch/x86/mm.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.0.3-testing/xen/arch/x86/mm.c
@@ -2909,6 +2909,27 @@ int do_mmuext_op(
}
break;
@@ -44,10 +44,10 @@
case MMUEXT_SET_LDT:
{
unsigned long ptr = op.arg1.linear_addr;
-Index: xen-4.0.2-testing/xen/include/public/xen.h
+Index: xen-4.0.3-testing/xen/include/public/xen.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/public/xen.h
-+++ xen-4.0.2-testing/xen/include/public/xen.h
+--- xen-4.0.3-testing.orig/xen/include/public/xen.h
++++ xen-4.0.3-testing/xen/include/public/xen.h
@@ -239,6 +239,10 @@ DEFINE_XEN_GUEST_HANDLE(xen_pfn_t);
*
* cmd: MMUEXT_FLUSH_CACHE
++++++ 21301-svm-lmsl.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -11,10 +11,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/xen/arch/x86/hvm/hvm.c
+Index: xen-4.0.3-testing/xen/arch/x86/hvm/hvm.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/hvm/hvm.c
-+++ xen-4.0.2-testing/xen/arch/x86/hvm/hvm.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.0.3-testing/xen/arch/x86/hvm/hvm.c
@@ -603,11 +603,12 @@ static int hvm_load_cpu_ctxt(struct doma
return -EINVAL;
}
@@ -42,10 +42,10 @@
(!cpu_has_ffxsr && (value & EFER_FFXSE)) )
{
gdprintk(XENLOG_WARNING, "Trying to set reserved bit in "
-Index: xen-4.0.2-testing/xen/arch/x86/hvm/svm/svm.c
+Index: xen-4.0.3-testing/xen/arch/x86/hvm/svm/svm.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/hvm/svm/svm.c
-+++ xen-4.0.2-testing/xen/arch/x86/hvm/svm/svm.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/hvm/svm/svm.c
++++ xen-4.0.3-testing/xen/arch/x86/hvm/svm/svm.c
@@ -57,6 +57,9 @@
u32 svm_feature_flags;
@@ -86,10 +86,10 @@
return 1;
}
-Index: xen-4.0.2-testing/xen/include/asm-x86/hvm/hvm.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/hvm/hvm.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/hvm/hvm.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/hvm/hvm.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/hvm/hvm.h
++++ xen-4.0.3-testing/xen/include/asm-x86/hvm/hvm.h
@@ -143,6 +143,7 @@ struct hvm_function_table {
extern struct hvm_function_table hvm_funcs;
++++++ 21304-keyhandler-alternative.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -11,10 +11,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/xen/common/keyhandler.c
+Index: xen-4.0.3-testing/xen/common/keyhandler.c
===================================================================
---- xen-4.0.2-testing.orig/xen/common/keyhandler.c
-+++ xen-4.0.2-testing/xen/common/keyhandler.c
+--- xen-4.0.3-testing.orig/xen/common/keyhandler.c
++++ xen-4.0.3-testing/xen/common/keyhandler.c
@@ -19,6 +19,7 @@
static struct keyhandler *key_table[256];
++++++ 21406-x86-microcode-quiet.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -7,10 +7,10 @@
Signed-off-by: Keir Fraser
-Index: xen-4.0.2-testing/xen/arch/x86/microcode.c
+Index: xen-4.0.3-testing/xen/arch/x86/microcode.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/microcode.c
-+++ xen-4.0.2-testing/xen/arch/x86/microcode.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/microcode.c
++++ xen-4.0.3-testing/xen/arch/x86/microcode.c
@@ -66,12 +66,10 @@ static void microcode_fini_cpu(int cpu)
int microcode_resume_cpu(int cpu)
++++++ 21421-vtd-ats-enabling.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -18,9 +18,11 @@
Signed-off-by: Weidong Han
---- a/xen/drivers/passthrough/vtd/ia64/ats.c
-+++ b/xen/drivers/passthrough/vtd/ia64/ats.c
-@@ -47,6 +47,11 @@ int enable_ats_device(int seg, int bus,
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/ia64/ats.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/ia64/ats.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/ia64/ats.c
+@@ -47,6 +47,11 @@ int enable_ats_device(int seg, int bus,
return 0;
}
@@ -32,9 +34,11 @@
int dev_invalidate_iotlb(struct iommu *iommu, u16 did,
u64 addr, unsigned int size_order, u64 type)
{
---- a/xen/drivers/passthrough/vtd/iommu.c
-+++ b/xen/drivers/passthrough/vtd/iommu.c
-@@ -1357,6 +1357,9 @@ static int domain_context_mapping(struct
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/iommu.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.c
+@@ -1365,6 +1365,9 @@ static int domain_context_mapping(struct
dprintk(VTDPREFIX, "d%d:PCIe: map bdf = %x:%x.%x\n",
domain->domain_id, bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
ret = domain_context_mapping_one(domain, drhd->iommu, bus, devfn);
@@ -44,7 +48,7 @@
break;
case DEV_TYPE_PCI:
-@@ -1479,6 +1482,9 @@ static int domain_context_unmap(struct d
+@@ -1487,6 +1490,9 @@ static int domain_context_unmap(struct d
dprintk(VTDPREFIX, "d%d:PCIe: unmap bdf = %x:%x.%x\n",
domain->domain_id, bus, PCI_SLOT(devfn), PCI_FUNC(devfn));
ret = domain_context_unmap_one(domain, iommu, bus, devfn);
@@ -54,7 +58,7 @@
break;
case DEV_TYPE_PCI:
-@@ -1816,8 +1822,6 @@ static void setup_dom0_devices(struct do
+@@ -1824,8 +1830,6 @@ static void setup_dom0_devices(struct do
list_add(&pdev->domain_list, &d->arch.pdev_list);
domain_context_mapping(d, pdev->bus, pdev->devfn);
pci_enable_acs(pdev);
@@ -63,8 +67,10 @@
}
}
spin_unlock(&pcidevs_lock);
---- a/xen/drivers/passthrough/vtd/x86/ats.c
-+++ b/xen/drivers/passthrough/vtd/x86/ats.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/x86/ats.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/x86/ats.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/x86/ats.c
@@ -92,6 +92,9 @@ int ats_device(int seg, int bus, int dev
pdev = pci_get_pdev(bus, devfn);
@@ -75,7 +81,7 @@
if ( !ecap_queued_inval(drhd->iommu->ecap) ||
!ecap_dev_iotlb(drhd->iommu->ecap) )
return 0;
-@@ -144,6 +147,9 @@ int enable_ats_device(int seg, int bus,
+@@ -144,6 +147,9 @@ int enable_ats_device(int seg, int bus,
value = pci_conf_read16(bus, PCI_SLOT(devfn),
PCI_FUNC(devfn), pos + ATS_REG_CTL);
@@ -85,7 +91,7 @@
value |= ATS_ENABLE;
pci_conf_write16(bus, PCI_SLOT(devfn), PCI_FUNC(devfn),
pos + ATS_REG_CTL, value);
-@@ -153,10 +159,50 @@ int enable_ats_device(int seg, int bus,
+@@ -153,10 +159,50 @@ int enable_ats_device(int seg, int bus,
pdev->devfn = devfn;
pdev->ats_queue_depth = queue_depth;
list_add(&(pdev->list), &ats_devices);
++++++ 21526-x86-nehalem-cpuid-mask.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -31,10 +31,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/amd.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/amd.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/amd.c
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/amd.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/amd.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/amd.c
@@ -33,14 +33,6 @@ void start_svm(struct cpuinfo_x86 *c);
static char opt_famrev[14];
string_param("cpuid_mask_cpu", opt_famrev);
@@ -78,10 +78,10 @@
} else if (*opt_famrev == '\0') {
return;
} else if (!strcmp(opt_famrev, "fam_0f_rev_c")) {
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/common.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/common.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/common.c
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/common.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/common.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/common.c
@@ -22,6 +22,15 @@ static int cachesize_override __cpuinitd
static int disable_x86_fxsr __cpuinitdata;
static int disable_x86_serial_nr __cpuinitdata;
@@ -98,10 +98,10 @@
struct cpu_dev * cpu_devs[X86_VENDOR_NUM] = {};
/*
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/cpu.h
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/cpu.h
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/cpu.h
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/cpu.h
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/cpu.h
++++ xen-4.0.3-testing/xen/arch/x86/cpu/cpu.h
@@ -21,6 +21,9 @@ struct cpu_dev {
extern struct cpu_dev * cpu_devs [X86_VENDOR_NUM];
@@ -112,10 +112,10 @@
extern int get_model_name(struct cpuinfo_x86 *c);
extern void display_cacheinfo(struct cpuinfo_x86 *c);
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/intel.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/intel.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/intel.c
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/intel.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/intel.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/intel.c
@@ -20,16 +20,6 @@
extern int trap_init_f00f_bug(void);
@@ -211,10 +211,10 @@
/* Work around errata */
Intel_errata_workarounds(c);
-Index: xen-4.0.2-testing/xen/include/asm-x86/msr-index.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/msr-index.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/msr-index.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/msr-index.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/msr-index.h
++++ xen-4.0.3-testing/xen/include/asm-x86/msr-index.h
@@ -156,8 +156,10 @@
#define MSR_P6_EVNTSEL0 0x00000186
#define MSR_P6_EVNTSEL1 0x00000187
++++++ 21542-amd-erratum-411.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -9,8 +9,10 @@
Signed-off-by: Wei Wang
---- a/xen/arch/x86/apic.c
-+++ b/xen/arch/x86/apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.0.3-testing/xen/arch/x86/apic.c
@@ -198,6 +198,9 @@ void clear_local_APIC(void)
maxlvt = get_maxlvt();
@@ -33,8 +35,10 @@
v = apic_read(APIC_LVTT);
apic_write_around(APIC_LVTT, v | APIC_LVT_MASKED);
}
---- a/xen/arch/x86/hpet.c
-+++ b/xen/arch/x86/hpet.c
+Index: xen-4.0.3-testing/xen/arch/x86/hpet.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/hpet.c
++++ xen-4.0.3-testing/xen/arch/x86/hpet.c
@@ -664,8 +664,7 @@ void hpet_broadcast_enter(void)
if ( hpet_attach_channel )
hpet_attach_channel(cpu, ch);
++++++ 21615-dont-save-xen-heap-pages.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -17,10 +17,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/tools/libxc/xc_domain_save.c
+Index: xen-4.0.3-testing/tools/libxc/xc_domain_save.c
===================================================================
---- xen-4.0.2-testing.orig/tools/libxc/xc_domain_save.c
-+++ xen-4.0.2-testing/tools/libxc/xc_domain_save.c
+--- xen-4.0.3-testing.orig/tools/libxc/xc_domain_save.c
++++ xen-4.0.3-testing/tools/libxc/xc_domain_save.c
@@ -1282,58 +1282,64 @@ int xc_domain_save(int xc_handle, int io
goto out;
}
@@ -124,10 +124,10 @@
if ( write_exact(io_fd, &batch, sizeof(unsigned int)) )
{
PERROR("Error when writing to state file (2)");
-Index: xen-4.0.2-testing/xen/arch/x86/domctl.c
+Index: xen-4.0.3-testing/xen/arch/x86/domctl.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/domctl.c
-+++ xen-4.0.2-testing/xen/arch/x86/domctl.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/domctl.c
++++ xen-4.0.3-testing/xen/arch/x86/domctl.c
@@ -206,11 +206,12 @@ long arch_do_domctl(
for ( j = 0; j < k; j++ )
++++++ 21627-cpuidle-wrap.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -7,10 +7,10 @@
Signed-off-by: Wei Gang
-Index: xen-4.0.2-testing/xen/arch/x86/acpi/cpu_idle.c
+Index: xen-4.0.3-testing/xen/arch/x86/acpi/cpu_idle.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c
-+++ xen-4.0.2-testing/xen/arch/x86/acpi/cpu_idle.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/acpi/cpu_idle.c
++++ xen-4.0.3-testing/xen/arch/x86/acpi/cpu_idle.c
@@ -127,9 +127,9 @@ static inline u32 ticks_elapsed(u32 t1,
if ( t2 >= t1 )
return (t2 - t1);
++++++ 21653-xend-mac-addr.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -16,10 +16,10 @@
Signed-off-by Chunyan Liu
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -847,11 +847,6 @@ class XendDomainInfo:
@type dev_config: SXP object (parsed config)
"""
++++++ 21678-xend-mac-fix.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -16,10 +16,10 @@
Signed-off-by: Ian Jackson
Signed-off-by Chunyan Liu
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -847,6 +847,8 @@ class XendDomainInfo:
@type dev_config: SXP object (parsed config)
"""
++++++ 21683-vtd-kill-timer-conditional.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -7,8 +7,10 @@
Signed-off-by: Keir Fraser
---- a/xen/drivers/passthrough/io.c
-+++ b/xen/drivers/passthrough/io.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/io.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/io.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/io.c
@@ -27,7 +27,7 @@
static void hvm_dirq_assist(unsigned long _d);
@@ -18,9 +20,11 @@
{
return !(flags & (HVM_IRQ_DPCI_GUEST_MSI | HVM_IRQ_DPCI_TRANSLATE));
}
---- a/xen/drivers/passthrough/pci.c
-+++ b/xen/drivers/passthrough/pci.c
-@@ -263,7 +263,9 @@ static void pci_clean_dpci_irqs(struct d
+Index: xen-4.0.3-testing/xen/drivers/passthrough/pci.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/pci.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/pci.c
+@@ -260,7 +260,9 @@ static void pci_clean_dpci_irqs(struct d
i = find_next_bit(hvm_irq_dpci->mapping, d->nr_pirqs, i + 1) )
{
pirq_guest_unbind(d, i);
@@ -31,8 +35,10 @@
list_for_each_safe ( digl_list, tmp,
&hvm_irq_dpci->mirq[i].digl_list )
---- a/xen/include/xen/iommu.h
-+++ b/xen/include/xen/iommu.h
+Index: xen-4.0.3-testing/xen/include/xen/iommu.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/xen/iommu.h
++++ xen-4.0.3-testing/xen/include/xen/iommu.h
@@ -106,6 +106,7 @@ void hvm_dpci_isairq_eoi(struct domain *
struct hvm_irq_dpci *domain_get_irq_dpci(struct domain *domain);
int domain_set_irq_dpci(struct domain *domain, struct hvm_irq_dpci *dpci);
++++++ 21723-get-domu-state.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -16,10 +16,10 @@
Signed-off-by James (Song Wei)
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomain.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomain.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomain.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomain.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomain.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomain.py
@@ -250,6 +250,18 @@ class XendDomain:
@return: path to config file.
"""
@@ -39,10 +39,10 @@
def _managed_check_point_path(self, domuuid):
"""Returns absolute path to check point file for managed domain.
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -327,6 +327,8 @@ class XendDomainInfo:
@type info: dictionary
@ivar domid: Domain ID (if VM has started)
@@ -60,10 +60,10 @@
maxmem = self.info.get('memory_static_max', 0)
memory = self.info.get('memory_dynamic_max', 0)
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/SrvDomain.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/SrvDomain.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/SrvDomain.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/SrvDomain.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/SrvDomain.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/SrvDomain.py
@@ -225,6 +225,20 @@ class SrvDomain(SrvDir):
self.acceptCommand(req)
return self.xd.domain_reset(self.dom.getName())
@@ -85,10 +85,10 @@
def op_usb_add(self, op, req):
self.acceptCommand(req)
return req.threadRequest(self.do_usb_add, op, req)
-Index: xen-4.0.2-testing/tools/python/xen/xm/main.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/main.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xm/main.py
-+++ xen-4.0.2-testing/tools/python/xen/xm/main.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xm/main.py
++++ xen-4.0.3-testing/tools/python/xen/xm/main.py
@@ -165,6 +165,8 @@ SUBCOMMAND_HELP = {
#usb
'usb-add' : ('<domain> <[host:bus.addr] [host:vendor_id:product_id]>','Add the usb device to FV VM.'),
++++++ 21810-x2apic-acpi.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -26,10 +26,10 @@
Signed-off-by: Weidong Han
-Index: xen-4.0.2-testing/xen/arch/x86/acpi/boot.c
+Index: xen-4.0.3-testing/xen/arch/x86/acpi/boot.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/acpi/boot.c
-+++ xen-4.0.2-testing/xen/arch/x86/acpi/boot.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/acpi/boot.c
++++ xen-4.0.3-testing/xen/arch/x86/acpi/boot.c
@@ -81,7 +81,7 @@ u8 acpi_enable_value, acpi_disable_value
#warning ACPI uses CMPXCHG, i486 and later hardware
#endif
@@ -138,10 +138,10 @@
printk(KERN_ERR PREFIX "Error parsing LAPIC NMI entry\n");
/* TBD: Cleanup to allow fallback to MPS */
return count;
-Index: xen-4.0.2-testing/xen/arch/x86/mpparse.c
+Index: xen-4.0.3-testing/xen/arch/x86/mpparse.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mpparse.c
-+++ xen-4.0.2-testing/xen/arch/x86/mpparse.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mpparse.c
++++ xen-4.0.3-testing/xen/arch/x86/mpparse.c
@@ -838,7 +838,7 @@ void __init mp_register_lapic_address (
@@ -151,10 +151,10 @@
u8 enabled)
{
struct mpc_config_processor processor;
-Index: xen-4.0.2-testing/xen/arch/x86/srat.c
+Index: xen-4.0.3-testing/xen/arch/x86/srat.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/srat.c
-+++ xen-4.0.2-testing/xen/arch/x86/srat.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/srat.c
++++ xen-4.0.3-testing/xen/arch/x86/srat.c
@@ -164,6 +164,36 @@ void __init acpi_numa_slit_init(struct a
}
#endif
@@ -192,10 +192,10 @@
/* Callback for Proximity Domain -> LAPIC mapping */
void __init
acpi_numa_processor_affinity_init(struct acpi_srat_cpu_affinity *pa)
-Index: xen-4.0.2-testing/xen/drivers/acpi/numa.c
+Index: xen-4.0.3-testing/xen/drivers/acpi/numa.c
===================================================================
---- xen-4.0.2-testing.orig/xen/drivers/acpi/numa.c
-+++ xen-4.0.2-testing/xen/drivers/acpi/numa.c
+--- xen-4.0.3-testing.orig/xen/drivers/acpi/numa.c
++++ xen-4.0.3-testing/xen/drivers/acpi/numa.c
@@ -90,6 +90,21 @@ void __init acpi_table_print_srat_entry(
#endif /* ACPI_DEBUG_OUTPUT */
break;
@@ -261,10 +261,10 @@
acpi_table_parse_srat(ACPI_SRAT_PROCESSOR_AFFINITY,
acpi_parse_processor_affinity,
NR_CPUS);
-Index: xen-4.0.2-testing/xen/drivers/acpi/tables.c
+Index: xen-4.0.3-testing/xen/drivers/acpi/tables.c
===================================================================
---- xen-4.0.2-testing.orig/xen/drivers/acpi/tables.c
-+++ xen-4.0.2-testing/xen/drivers/acpi/tables.c
+--- xen-4.0.3-testing.orig/xen/drivers/acpi/tables.c
++++ xen-4.0.3-testing/xen/drivers/acpi/tables.c
@@ -63,6 +63,18 @@ void __init acpi_table_print_madt_entry(
}
break;
@@ -309,10 +309,10 @@
case ACPI_MADT_TYPE_LOCAL_APIC_OVERRIDE:
{
-Index: xen-4.0.2-testing/xen/include/acpi/actbl1.h
+Index: xen-4.0.3-testing/xen/include/acpi/actbl1.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/acpi/actbl1.h
-+++ xen-4.0.2-testing/xen/include/acpi/actbl1.h
+--- xen-4.0.3-testing.orig/xen/include/acpi/actbl1.h
++++ xen-4.0.3-testing/xen/include/acpi/actbl1.h
@@ -404,7 +404,9 @@ enum acpi_madt_type {
ACPI_MADT_TYPE_IO_SAPIC = 6,
ACPI_MADT_TYPE_LOCAL_SAPIC = 7,
@@ -401,10 +401,10 @@
/*******************************************************************************
*
* TCPA - Trusted Computing Platform Alliance table
-Index: xen-4.0.2-testing/xen/include/asm-x86/acpi.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/acpi.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/acpi.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/acpi.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/acpi.h
++++ xen-4.0.3-testing/xen/include/asm-x86/acpi.h
@@ -151,7 +151,7 @@ struct acpi_sleep_info {
#endif /* CONFIG_ACPI_SLEEP */
@@ -414,10 +414,10 @@
#define MAX_LOCAL_APIC 256
extern u32 pmtmr_ioport;
-Index: xen-4.0.2-testing/xen/include/asm-x86/mpspec.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/mpspec.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/mpspec.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/mpspec.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/mpspec.h
++++ xen-4.0.3-testing/xen/include/asm-x86/mpspec.h
@@ -24,7 +24,7 @@ extern int pic_mode;
extern int using_apic_timer;
@@ -427,10 +427,10 @@
extern void mp_unregister_lapic(uint32_t apic_id, uint32_t cpu);
extern void mp_register_lapic_address (u64 address);
extern void mp_register_ioapic (u8 id, u32 address, u32 gsi_base);
-Index: xen-4.0.2-testing/xen/include/xen/acpi.h
+Index: xen-4.0.3-testing/xen/include/xen/acpi.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/xen/acpi.h
-+++ xen-4.0.2-testing/xen/include/xen/acpi.h
+--- xen-4.0.3-testing.orig/xen/include/xen/acpi.h
++++ xen-4.0.3-testing/xen/include/xen/acpi.h
@@ -57,6 +57,8 @@ enum acpi_madt_entry_id {
ACPI_MADT_IOSAPIC,
ACPI_MADT_LSAPIC,
++++++ 21847-pscsi.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -37,10 +37,10 @@
Comment from Masaki Kanno : "Well done"
Committed-by: Ian Jackson
-Index: xen-4.0.2-testing/tools/examples/xend-config.sxp
+Index: xen-4.0.3-testing/tools/examples/xend-config.sxp
===================================================================
---- xen-4.0.2-testing.orig/tools/examples/xend-config.sxp
-+++ xen-4.0.2-testing/tools/examples/xend-config.sxp
+--- xen-4.0.3-testing.orig/tools/examples/xend-config.sxp
++++ xen-4.0.3-testing/tools/examples/xend-config.sxp
@@ -277,3 +277,11 @@
# we have to realize this may incur security issue and we can't make sure the
# device assignment could really work properly even after we do this.
@@ -53,10 +53,10 @@
+# command lsscsi, e.g. ('16:0:0:0' '15:0')
+# (pscsi-device-mask ('*'))
+
-Index: xen-4.0.2-testing/tools/python/xen/util/vscsi_util.py
+Index: xen-4.0.3-testing/tools/python/xen/util/vscsi_util.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/util/vscsi_util.py
-+++ xen-4.0.2-testing/tools/python/xen/util/vscsi_util.py
+--- xen-4.0.3-testing.orig/tools/python/xen/util/vscsi_util.py
++++ xen-4.0.3-testing/tools/python/xen/util/vscsi_util.py
@@ -148,11 +148,12 @@ def _vscsi_get_scsidevices_by_sysfs():
return devices
@@ -85,10 +85,10 @@
scsi_record = _make_scsi_record(scsi_info)
scsi_records.append(scsi_record)
return scsi_records
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendNode.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendNode.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendNode.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendNode.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendNode.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendNode.py
@@ -323,7 +323,12 @@ class XendNode:
pscsi_table = {}
pscsi_HBA_table = {}
@@ -103,10 +103,10 @@
scsi_id = pscsi_record['scsi_id']
if scsi_id:
saved_HBA_uuid = None
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendOptions.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendOptions.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendOptions.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendOptions.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendOptions.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendOptions.py
@@ -164,6 +164,9 @@ class XendOptions:
"""
print >>sys.stderr, "xend [ERROR]", fmt % args
++++++ 21866-xenapi.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -18,10 +18,10 @@
Acked-by: Jim Fehlig
Committed-by: Ian Jackson
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendAPI.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendAPI.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendAPI.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendAPI.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendAPI.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendAPI.py
@@ -1667,7 +1667,8 @@ class XendAPI(object):
def VM_set_actions_after_crash(self, session, vm_ref, action):
if action not in XEN_API_ON_CRASH_BEHAVIOUR:
@@ -32,10 +32,10 @@
def VM_set_HVM_boot_policy(self, session, vm_ref, value):
if value != "" and value != "BIOS order":
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendAPIConstants.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendAPIConstants.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendAPIConstants.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendAPIConstants.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendAPIConstants.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendAPIConstants.py
@@ -63,6 +63,18 @@ XEN_API_ON_CRASH_BEHAVIOUR_FILTER = {
'rename_restart' : 'rename_restart',
}
@@ -55,10 +55,10 @@
XEN_API_VBD_MODE = ['RO', 'RW']
XEN_API_VDI_TYPE = ['system', 'user', 'ephemeral']
XEN_API_VBD_TYPE = ['CD', 'Disk']
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendConfig.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendConfig.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
@@ -41,6 +41,7 @@ from xen.util.pci import pci_opts_list_f
from xen.xend.XendSXPDev import dev_dict_to_sxp
from xen.util import xsconstants
++++++ 21894-intel-unmask-cpuid.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -13,10 +13,10 @@
Signed-off-by: Wei Gang
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/intel.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/intel.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/intel.c
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/intel.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/intel.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/intel.c
@@ -90,6 +90,20 @@ void __devinit early_intel_workaround(st
/* Netburst reports 64 bytes clflush size, but does IO in 128 bytes */
if (c->x86 == 15 && c->x86_cache_alignment == 64)
@@ -38,10 +38,10 @@
}
/*
-Index: xen-4.0.2-testing/xen/include/asm-x86/msr-index.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/msr-index.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/msr-index.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/msr-index.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/msr-index.h
++++ xen-4.0.3-testing/xen/include/asm-x86/msr-index.h
@@ -324,6 +324,7 @@
#define MSR_IA32_MISC_ENABLE_BTS_UNAVAIL (1<<11)
#define MSR_IA32_MISC_ENABLE_PEBS_UNAVAIL (1<<12)
++++++ 22019-x86-cpuidle-online-check.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -13,10 +13,10 @@
Signed-off-by: Uwe Dannowski
Acked-by: Wei Huang
-Index: xen-4.0.2-testing/xen/arch/x86/acpi/cpuidle_menu.c
+Index: xen-4.0.3-testing/xen/arch/x86/acpi/cpuidle_menu.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/acpi/cpuidle_menu.c
-+++ xen-4.0.2-testing/xen/arch/x86/acpi/cpuidle_menu.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/acpi/cpuidle_menu.c
++++ xen-4.0.3-testing/xen/arch/x86/acpi/cpuidle_menu.c
@@ -270,9 +270,10 @@ static void menu_reflect(struct acpi_pro
static int menu_enable_device(struct acpi_processor_power *power)
++++++ 22214-x86-msr-misc-enable.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -23,9 +23,11 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/traps.c
-+++ b/xen/arch/x86/traps.c
-@@ -1683,6 +1683,16 @@ unsigned long guest_to_host_gpr_switch(u
+Index: xen-4.0.3-testing/xen/arch/x86/traps.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/traps.c
++++ xen-4.0.3-testing/xen/arch/x86/traps.c
+@@ -1692,6 +1692,16 @@ unsigned long guest_to_host_gpr_switch(u
void (*pv_post_outb_hook)(unsigned int port, u8 value);
@@ -42,7 +44,7 @@
/* Instruction fetch with error handling. */
#define insn_fetch(type, base, eip, limit) \
({ unsigned long _rc, _ptr = (base) + (eip); \
-@@ -2280,6 +2290,13 @@ static int emulate_privileged_op(struct
+@@ -2289,6 +2299,13 @@ static int emulate_privileged_op(struct
if ( wrmsr_safe(MSR_FAM10H_MMIO_CONF_BASE, eax, edx) != 0 )
goto fail;
break;
@@ -56,7 +58,7 @@
case MSR_IA32_MPERF:
case MSR_IA32_APERF:
if (( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL ) &&
-@@ -2386,11 +2403,7 @@ static int emulate_privileged_op(struct
+@@ -2395,11 +2412,7 @@ static int emulate_privileged_op(struct
case MSR_IA32_MISC_ENABLE:
if ( rdmsr_safe(regs->ecx, regs->eax, regs->edx) )
goto fail;
@@ -69,8 +71,10 @@
break;
case MSR_EFER:
case MSR_AMD_PATCHLEVEL:
---- a/xen/include/asm-x86/msr.h
-+++ b/xen/include/asm-x86/msr.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/msr.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/msr.h
++++ xen-4.0.3-testing/xen/include/asm-x86/msr.h
@@ -39,7 +39,8 @@ static inline void wrmsrl(unsigned int m
__asm__ __volatile__( \
"1: rdmsr\n2:\n" \
++++++ 22231-x86-pv-ucode-msr-intel.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -13,9 +13,11 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/traps.c
-+++ b/xen/arch/x86/traps.c
-@@ -2290,6 +2290,14 @@ static int emulate_privileged_op(struct
+Index: xen-4.0.3-testing/xen/arch/x86/traps.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/traps.c
++++ xen-4.0.3-testing/xen/arch/x86/traps.c
+@@ -2299,6 +2299,14 @@ static int emulate_privileged_op(struct
if ( wrmsr_safe(MSR_FAM10H_MMIO_CONF_BASE, eax, edx) != 0 )
goto fail;
break;
@@ -30,7 +32,7 @@
case MSR_IA32_MISC_ENABLE:
if ( rdmsr_safe(regs->ecx, l, h) )
goto invalid;
-@@ -2397,16 +2405,21 @@ static int emulate_privileged_op(struct
+@@ -2406,16 +2414,21 @@ static int emulate_privileged_op(struct
regs->eax = regs->edx = 0;
break;
}
@@ -57,7 +59,7 @@
default:
if ( rdmsr_hypervisor_regs(regs->ecx, &val) )
{
-@@ -2422,6 +2435,8 @@ static int emulate_privileged_op(struct
+@@ -2431,6 +2444,8 @@ static int emulate_privileged_op(struct
if ( rc )
goto rdmsr_writeback;
++++++ 22235-lxml-validator.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:51.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:51.000000000 +0100
@@ -16,10 +16,10 @@
Signed-off-by: Stefano Stabellini
committer: Stefano Stabellini
-Index: xen-4.0.2-testing/README
+Index: xen-4.0.3-testing/README
===================================================================
---- xen-4.0.2-testing.orig/README
-+++ xen-4.0.2-testing/README
+--- xen-4.0.3-testing.orig/README
++++ xen-4.0.3-testing/README
@@ -137,12 +137,15 @@ Python Runtime Libraries
Xend (the Xen daemon) has the following runtime dependencies:
@@ -50,10 +50,10 @@
Intel(R) Trusted Execution Technology Support
-Index: xen-4.0.2-testing/tools/python/xen/xm/xenapi_create.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/xenapi_create.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xm/xenapi_create.py
-+++ xen-4.0.2-testing/tools/python/xen/xm/xenapi_create.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xm/xenapi_create.py
++++ xen-4.0.3-testing/tools/python/xen/xm/xenapi_create.py
@@ -14,13 +14,15 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
#============================================================================
++++++ 22326-cpu-pools-numa-placement.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -12,10 +12,10 @@
Signed-off-by: Juergen Gross
Signed-off-by: Ian Jackson
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendCPUPool.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendCPUPool.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendCPUPool.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendCPUPool.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendCPUPool.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendCPUPool.py
@@ -881,6 +881,11 @@ class XendCPUPool(XendBase):
lookup_pool = classmethod(lookup_pool)
@@ -28,11 +28,11 @@
def _cpu_number_to_ref(cls, number):
node = XendNode.instance()
for cpu_ref in node.get_host_cpu_refs():
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -2790,7 +2790,7 @@ class XendDomainInfo:
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
+@@ -2791,7 +2791,7 @@ class XendDomainInfo:
return map(lambda x: x[0], sorted(enumerate(nodeload), key=lambda x:x[1]))
info = xc.physinfo()
++++++ 22332-vtd-workarounds.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -37,15 +37,19 @@
Signed-off-by: Allen Kay
---- a/xen/drivers/passthrough/vtd/Makefile
-+++ b/xen/drivers/passthrough/vtd/Makefile
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/Makefile
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/Makefile
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/Makefile
@@ -6,3 +6,4 @@ obj-y += dmar.o
obj-y += utils.o
obj-y += qinval.o
obj-y += intremap.o
+obj-y += quirks.o
---- a/xen/drivers/passthrough/vtd/dmar.c
-+++ b/xen/drivers/passthrough/vtd/dmar.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/dmar.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/dmar.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/dmar.c
@@ -242,7 +242,7 @@ struct acpi_rhsa_unit * drhd_to_rhsa(str
int is_igd_drhd(struct acpi_drhd_unit *drhd)
@@ -140,8 +144,10 @@
}
else
{
---- a/xen/drivers/passthrough/vtd/extern.h
-+++ b/xen/drivers/passthrough/vtd/extern.h
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/extern.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/extern.h
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/extern.h
@@ -26,6 +26,7 @@
extern int qinval_enabled;
@@ -207,8 +213,10 @@
+void me_wifi_quirk(struct domain *domain, u8 bus, u8 devfn, int map);
#endif // _VTD_EXTERN_H_
---- a/xen/drivers/passthrough/vtd/iommu.c
-+++ b/xen/drivers/passthrough/vtd/iommu.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/iommu.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.c
@@ -46,7 +46,6 @@
bool_t __read_mostly untrusted_msi;
@@ -348,7 +356,7 @@
}
enum faulttype {
-@@ -1092,6 +1121,7 @@ int __init iommu_alloc(struct acpi_drhd_
+@@ -1100,6 +1129,7 @@ int __init iommu_alloc(struct acpi_drhd_
xfree(iommu);
return -ENOMEM;
}
@@ -356,7 +364,7 @@
iommu->reg = map_to_nocache_virt(nr_iommus, drhd->address);
iommu->index = nr_iommus++;
-@@ -1224,7 +1254,7 @@ static void intel_iommu_dom0_init(struct
+@@ -1232,7 +1262,7 @@ static void intel_iommu_dom0_init(struct
}
}
@@ -365,7 +373,7 @@
struct domain *domain,
struct iommu *iommu,
u8 bus, u8 devfn)
-@@ -1327,6 +1357,8 @@ static int domain_context_mapping_one(
+@@ -1335,6 +1365,8 @@ static int domain_context_mapping_one(
unmap_vtd_domain_page(context_entries);
@@ -374,7 +382,7 @@
return 0;
}
-@@ -1401,7 +1433,7 @@ static int domain_context_mapping(struct
+@@ -1409,7 +1441,7 @@ static int domain_context_mapping(struct
return ret;
}
@@ -383,7 +391,7 @@
struct domain *domain,
struct iommu *iommu,
u8 bus, u8 devfn)
-@@ -1449,6 +1481,8 @@ static int domain_context_unmap_one(
+@@ -1457,6 +1489,8 @@ static int domain_context_unmap_one(
spin_unlock(&iommu->lock);
unmap_vtd_domain_page(context_entries);
@@ -392,7 +400,7 @@
return 0;
}
-@@ -1957,19 +1991,6 @@ static void setup_dom0_rmrr(struct domai
+@@ -1965,19 +1999,6 @@ static void setup_dom0_rmrr(struct domai
spin_unlock(&pcidevs_lock);
}
@@ -412,7 +420,7 @@
int intel_vtd_setup(void)
{
struct acpi_drhd_unit *drhd;
-@@ -1978,7 +1999,7 @@ int intel_vtd_setup(void)
+@@ -1986,7 +2007,7 @@ int intel_vtd_setup(void)
if ( list_empty(&acpi_drhd_units) )
return -ENODEV;
@@ -421,8 +429,10 @@
irq_to_iommu = xmalloc_array(struct iommu*, nr_irqs);
BUG_ON(!irq_to_iommu);
---- a/xen/drivers/passthrough/vtd/iommu.h
-+++ b/xen/drivers/passthrough/vtd/iommu.h
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/iommu.h
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.h
@@ -501,6 +501,7 @@ struct intel_iommu {
struct qi_ctrl qi_ctrl;
struct ir_ctrl ir_ctrl;
@@ -431,8 +441,10 @@
};
#endif
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/quirks.c
+===================================================================
--- /dev/null
-+++ b/xen/drivers/passthrough/vtd/quirks.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/quirks.c
@@ -0,0 +1,263 @@
+/*
+ * Copyright (c) 2010, Intel Corporation.
@@ -697,8 +709,10 @@
+
+ }
+}
---- a/xen/drivers/passthrough/vtd/vtd.h
-+++ b/xen/drivers/passthrough/vtd/vtd.h
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/vtd.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/vtd.h
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/vtd.h
@@ -23,6 +23,9 @@
#include
@@ -728,8 +742,10 @@
-void iommu_free(struct acpi_drhd_unit *drhd);
-
#endif // _VTD_H_
---- a/xen/drivers/passthrough/vtd/x86/vtd.c
-+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/x86/vtd.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/x86/vtd.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -27,6 +27,7 @@
#include "../iommu.h"
#include "../dmar.h"
@@ -738,8 +754,10 @@
/*
* iommu_inclusive_mapping: when set, all memory below 4GB is included in dom0
---- a/xen/include/asm-x86/fixmap.h
-+++ b/xen/include/asm-x86/fixmap.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/fixmap.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/fixmap.h
++++ xen-4.0.3-testing/xen/include/asm-x86/fixmap.h
@@ -52,6 +52,7 @@ enum fixed_addresses {
FIX_MSIX_IO_RESERV_BASE,
FIX_MSIX_IO_RESERV_END = FIX_MSIX_IO_RESERV_BASE + FIX_MSIX_MAX_PAGES -1,
++++++ 22369-xend-pci-passthru-fix.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -38,10 +38,10 @@
Signed-off-by: Jim Fehlig
-Index: xen-4.0.2-testing/tools/python/xen/util/pci.py
+Index: xen-4.0.3-testing/tools/python/xen/util/pci.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/util/pci.py
-+++ xen-4.0.2-testing/tools/python/xen/util/pci.py
+--- xen-4.0.3-testing.orig/tools/python/xen/util/pci.py
++++ xen-4.0.3-testing/tools/python/xen/util/pci.py
@@ -240,10 +240,16 @@ def pci_convert_sxp_to_dict(dev_sxp):
pci_dev_info = dict(pci_dev[1:])
if 'opts' in pci_dev_info:
++++++ 22388-x2apic-panic.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -16,8 +16,10 @@
Signed-off-by: Weidong Han
---- a/xen/arch/x86/apic.c
-+++ b/xen/arch/x86/apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.0.3-testing/xen/arch/x86/apic.c
@@ -998,22 +998,11 @@ static void enable_bsp_x2apic(void)
}
else
++++++ 22408-vpmu-nehalem.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -9,8 +9,10 @@
Signed-off-by: Dietmar Hahn
---- a/xen/arch/x86/hvm/vmx/vpmu.c
-+++ b/xen/arch/x86/hvm/vmx/vpmu.c
+Index: xen-4.0.3-testing/xen/arch/x86/hvm/vmx/vpmu.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/hvm/vmx/vpmu.c
++++ xen-4.0.3-testing/xen/arch/x86/hvm/vmx/vpmu.c
@@ -96,6 +96,7 @@ void vpmu_initialise(struct vcpu *v)
case 23:
case 26:
++++++ 22431-p2m-remove-bug-check.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -9,10 +9,10 @@
Signed-off-by: Tim Deegan
-Index: xen-4.0.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm/p2m.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.0.3-testing/xen/arch/x86/mm/p2m.c
@@ -2186,9 +2186,6 @@ guest_physmap_add_entry(struct domain *d
P2M_DEBUG("aliased! mfn=%#lx, old gfn=%#lx, new gfn=%#lx\n",
mfn + i, ogfn, gfn + i);
++++++ 22462-x86-xsave-init-common.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -15,10 +15,10 @@
Signed-off-by: Wei Huang
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/common.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/common.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/common.c
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/common.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/common.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/common.c
@@ -22,6 +22,8 @@ static int cachesize_override __cpuinitd
static int disable_x86_fxsr __cpuinitdata;
static int disable_x86_serial_nr __cpuinitdata;
@@ -42,10 +42,10 @@
/* Disable the PN if appropriate */
squash_the_stupid_serial_number(c);
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/intel.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/intel.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/intel.c
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/intel.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/intel.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/intel.c
@@ -20,9 +20,6 @@
extern int trap_init_f00f_bug(void);
++++++ 22475-x2apic-cleanup.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -8,10 +8,10 @@
Signed-off-by: Keir Fraser
-Index: xen-4.0.2-testing/xen/arch/x86/apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/apic.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/apic.c
-+++ xen-4.0.2-testing/xen/arch/x86/apic.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.0.3-testing/xen/arch/x86/apic.c
@@ -67,12 +67,12 @@ static int enable_local_apic __initdata
*/
int apic_verbosity;
@@ -169,10 +169,10 @@
void __init init_apic_mappings(void)
{
unsigned long apic_phys;
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/common.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/common.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/common.c
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/common.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/common.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/common.c
@@ -252,8 +252,8 @@ static void __init early_cpu_detect(void
c->x86 = 4;
@@ -198,10 +198,10 @@
}
}
-Index: xen-4.0.2-testing/xen/arch/x86/genapic/x2apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/genapic/x2apic.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/genapic/x2apic.c
-+++ xen-4.0.2-testing/xen/arch/x86/genapic/x2apic.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/genapic/x2apic.c
++++ xen-4.0.3-testing/xen/arch/x86/genapic/x2apic.c
@@ -23,89 +23,44 @@
#include
#include
@@ -346,10 +346,10 @@
+{
+ return x2apic_phys ? &apic_x2apic_phys : &apic_x2apic_cluster;
+}
-Index: xen-4.0.2-testing/xen/arch/x86/setup.c
+Index: xen-4.0.3-testing/xen/arch/x86/setup.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/setup.c
-+++ xen-4.0.2-testing/xen/arch/x86/setup.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/setup.c
++++ xen-4.0.3-testing/xen/arch/x86/setup.c
@@ -1006,9 +1006,6 @@ void __init __start_xen(unsigned long mb
tboot_probe();
@@ -370,10 +370,10 @@
percpu_free_unused_areas();
-Index: xen-4.0.2-testing/xen/arch/x86/smpboot.c
+Index: xen-4.0.3-testing/xen/arch/x86/smpboot.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/smpboot.c
-+++ xen-4.0.2-testing/xen/arch/x86/smpboot.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/smpboot.c
++++ xen-4.0.3-testing/xen/arch/x86/smpboot.c
@@ -326,8 +326,7 @@ void __devinit smp_callin(void)
*/
wait_for_init_deassert(&init_deasserted);
@@ -384,10 +384,10 @@
/*
* (This works even if the APIC is not enabled.)
-Index: xen-4.0.2-testing/xen/drivers/passthrough/vtd/intremap.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/intremap.c
===================================================================
---- xen-4.0.2-testing.orig/xen/drivers/passthrough/vtd/intremap.c
-+++ xen-4.0.2-testing/xen/drivers/passthrough/vtd/intremap.c
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/intremap.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/intremap.c
@@ -129,15 +129,10 @@ int iommu_supports_eim(void)
struct acpi_drhd_unit *drhd;
int apic;
@@ -406,10 +406,10 @@
/* We MUST have a DRHD unit for each IOAPIC. */
for ( apic = 0; apic < nr_ioapics; apic++ )
if ( !ioapic_to_drhd(IO_APIC_ID(apic)) )
-Index: xen-4.0.2-testing/xen/include/asm-x86/apic.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/apic.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/apic.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/apic.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/apic.h
++++ xen-4.0.3-testing/xen/include/asm-x86/apic.h
@@ -25,21 +25,8 @@ extern int apic_verbosity;
extern int x2apic_enabled;
extern int directed_eoi_enabled;
@@ -434,10 +434,10 @@
/*
* Define the default level of output to be very little
-Index: xen-4.0.2-testing/xen/include/asm-x86/genapic.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/genapic.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/genapic.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/genapic.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/genapic.h
++++ xen-4.0.3-testing/xen/include/asm-x86/genapic.h
@@ -49,8 +49,6 @@ struct genapic {
APICFUNC(acpi_madt_oem_check)
++++++ 22484-vlapic-tmcct-periodic.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -7,10 +7,10 @@
Signed-off-by: Keir Fraser
-Index: xen-4.0.2-testing/xen/arch/x86/hvm/vlapic.c
+Index: xen-4.0.3-testing/xen/arch/x86/hvm/vlapic.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/hvm/vlapic.c
-+++ xen-4.0.2-testing/xen/arch/x86/hvm/vlapic.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/hvm/vlapic.c
++++ xen-4.0.3-testing/xen/arch/x86/hvm/vlapic.c
@@ -428,12 +428,19 @@ int vlapic_ipi(
static uint32_t vlapic_get_tmcct(struct vlapic *vlapic)
{
++++++ 22499-xen-hotplug-cleanup.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/hotplug/Linux/xen-hotplug-cleanup
+Index: xen-4.0.3-testing/tools/hotplug/Linux/xen-hotplug-cleanup
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/xen-hotplug-cleanup
-+++ xen-4.0.2-testing/tools/hotplug/Linux/xen-hotplug-cleanup
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/xen-hotplug-cleanup
++++ xen-4.0.3-testing/tools/hotplug/Linux/xen-hotplug-cleanup
@@ -21,10 +21,12 @@ if [ "$vm" != "" ]; then
# if the vm path does not exist and the device class is 'vbd' then we may have
++++++ 22504-iommu-dom0-holes.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -19,8 +19,10 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/domain_build.c
-+++ b/xen/arch/x86/domain_build.c
+Index: xen-4.0.3-testing/xen/arch/x86/domain_build.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/domain_build.c
++++ xen-4.0.3-testing/xen/arch/x86/domain_build.c
@@ -194,7 +194,7 @@ static unsigned long __init compute_dom0
unsigned int s;
@@ -30,8 +32,10 @@
}
/*
---- a/xen/drivers/passthrough/amd/pci_amd_iommu.c
-+++ b/xen/drivers/passthrough/amd/pci_amd_iommu.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/amd/pci_amd_iommu.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/amd/pci_amd_iommu.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/amd/pci_amd_iommu.c
@@ -239,8 +239,16 @@ static void amd_iommu_dom0_init(struct d
if ( !iommu_passthrough && !need_iommu(d) )
{
@@ -51,8 +55,10 @@
}
amd_iommu_setup_dom0_devices(d);
---- a/xen/drivers/passthrough/vtd/x86/vtd.c
-+++ b/xen/drivers/passthrough/vtd/x86/vtd.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/x86/vtd.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/x86/vtd.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/x86/vtd.c
@@ -128,14 +128,14 @@ void hvm_dpci_isairq_eoi(struct domain *
void iommu_set_dom0_mapping(struct domain *d)
++++++ 22533-x86-32bit-apicid.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -21,10 +21,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/xen/arch/x86/acpi/cpu_idle.c
+Index: xen-4.0.3-testing/xen/arch/x86/acpi/cpu_idle.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/acpi/cpu_idle.c
-+++ xen-4.0.2-testing/xen/arch/x86/acpi/cpu_idle.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/acpi/cpu_idle.c
++++ xen-4.0.3-testing/xen/arch/x86/acpi/cpu_idle.c
@@ -742,7 +742,7 @@ static void set_cx(
int get_cpu_id(u8 acpi_id)
{
@@ -34,10 +34,10 @@
apic_id = x86_acpiid_to_apicid[acpi_id];
if ( apic_id == 0xff )
-Index: xen-4.0.2-testing/xen/arch/x86/mpparse.c
+Index: xen-4.0.3-testing/xen/arch/x86/mpparse.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mpparse.c
-+++ xen-4.0.2-testing/xen/arch/x86/mpparse.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mpparse.c
++++ xen-4.0.3-testing/xen/arch/x86/mpparse.c
@@ -99,7 +99,8 @@ static int mpc_record;
static struct mpc_config_translation *translation_table[MAX_MPC_ENTRY] __initdata;
@@ -109,10 +109,10 @@
}
void mp_unregister_lapic(uint32_t apic_id, uint32_t cpu)
-Index: xen-4.0.2-testing/xen/common/sched_sedf.c
+Index: xen-4.0.3-testing/xen/common/sched_sedf.c
===================================================================
---- xen-4.0.2-testing.orig/xen/common/sched_sedf.c
-+++ xen-4.0.2-testing/xen/common/sched_sedf.c
+--- xen-4.0.3-testing.orig/xen/common/sched_sedf.c
++++ xen-4.0.3-testing/xen/common/sched_sedf.c
@@ -124,7 +124,6 @@ struct sedf_cpu_info {
#define PERIOD_BEGIN(inf) ((inf)->deadl_abs - (inf)->period)
@@ -121,10 +121,10 @@
#define DIV_UP(x,y) (((x) + (y) - 1) / y)
#define extra_runs(inf) ((inf->status) & 6)
-Index: xen-4.0.2-testing/xen/include/asm-x86/mach-generic/mach_apic.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/mach-generic/mach_apic.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/mach-generic/mach_apic.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/mach-generic/mach_apic.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/mach-generic/mach_apic.h
++++ xen-4.0.3-testing/xen/include/asm-x86/mach-generic/mach_apic.h
@@ -26,15 +26,15 @@ static inline void enable_apic_mode(void
extern u32 bios_cpu_apicid[];
@@ -144,10 +144,10 @@
}
static inline void setup_portio_remap(void)
-Index: xen-4.0.2-testing/xen/include/asm-x86/mpspec_def.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/mpspec_def.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/mpspec_def.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/mpspec_def.h
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/mpspec_def.h
++++ xen-4.0.3-testing/xen/include/asm-x86/mpspec_def.h
@@ -14,7 +14,7 @@
#define SMP_MAGIC_IDENT (('_'<<24)|('P'<<16)|('M'<<8)|'_')
@@ -157,10 +157,10 @@
struct intel_mp_floating
{
-Index: xen-4.0.2-testing/xen/include/xen/kernel.h
+Index: xen-4.0.3-testing/xen/include/xen/kernel.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/xen/kernel.h
-+++ xen-4.0.2-testing/xen/include/xen/kernel.h
+--- xen-4.0.3-testing.orig/xen/include/xen/kernel.h
++++ xen-4.0.3-testing/xen/include/xen/kernel.h
@@ -33,6 +33,13 @@
#define max_t(type,x,y) \
({ type __x = (x); type __y = (y); __x > __y ? __x: __y; })
++++++ 22534-x86-max-local-apic.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -24,8 +24,10 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/acpi/boot.c
-+++ b/xen/arch/x86/acpi/boot.c
+Index: xen-4.0.3-testing/xen/arch/x86/acpi/boot.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/acpi/boot.c
++++ xen-4.0.3-testing/xen/arch/x86/acpi/boot.c
@@ -82,7 +82,7 @@ u8 acpi_enable_value, acpi_disable_value
#endif
@@ -59,8 +61,10 @@
- return 0xff;
+ return INVALID_ACPIID;
}
---- a/xen/arch/x86/acpi/cpu_idle.c
-+++ b/xen/arch/x86/acpi/cpu_idle.c
+Index: xen-4.0.3-testing/xen/arch/x86/acpi/cpu_idle.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/acpi/cpu_idle.c
++++ xen-4.0.3-testing/xen/arch/x86/acpi/cpu_idle.c
@@ -745,7 +745,7 @@ int get_cpu_id(u8 acpi_id)
u32 apic_id;
@@ -70,8 +74,10 @@
return -1;
for ( i = 0; i < NR_CPUS; i++ )
---- a/xen/arch/x86/smpboot.c
-+++ b/xen/arch/x86/smpboot.c
+Index: xen-4.0.3-testing/xen/arch/x86/smpboot.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/smpboot.c
++++ xen-4.0.3-testing/xen/arch/x86/smpboot.c
@@ -97,7 +97,7 @@ struct cpuinfo_x86 cpu_data[NR_CPUS];
EXPORT_SYMBOL(cpu_data);
@@ -81,7 +87,7 @@
EXPORT_SYMBOL(x86_cpu_to_apicid);
static void map_cpu_to_logical_apicid(void);
-@@ -1480,7 +1480,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
+@@ -1482,7 +1482,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
return -EINVAL;
/* Detect if the cpu has been added before */
@@ -90,7 +96,7 @@
{
if (x86_acpiid_to_apicid[acpi_id] != apic_id)
return -EINVAL;
-@@ -1514,7 +1514,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
+@@ -1516,7 +1516,7 @@ int cpu_add(uint32_t apic_id, uint32_t a
{
dprintk(XENLOG_WARNING,
"Setup node failed for pxm %x\n", pxm);
@@ -99,8 +105,10 @@
mp_unregister_lapic(apic_id, cpu);
spin_unlock(&cpu_add_remove_lock);
return node;
---- a/xen/include/asm-x86/acpi.h
-+++ b/xen/include/asm-x86/acpi.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/acpi.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/acpi.h
++++ xen-4.0.3-testing/xen/include/asm-x86/acpi.h
@@ -150,9 +150,11 @@ struct acpi_sleep_info {
#endif /* CONFIG_ACPI_SLEEP */
@@ -115,8 +123,10 @@
extern u32 pmtmr_ioport;
---- a/xen/include/asm-x86/numa.h
-+++ b/xen/include/asm-x86/numa.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/numa.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/numa.h
++++ xen-4.0.3-testing/xen/include/asm-x86/numa.h
@@ -39,7 +39,7 @@ extern int setup_node(int pxm);
extern void srat_detect_node(int cpu);
@@ -126,8 +136,10 @@
#ifdef CONFIG_NUMA
extern void __init init_cpu_to_node(void);
---- a/xen/include/public/vcpu.h
-+++ b/xen/include/public/vcpu.h
+Index: xen-4.0.3-testing/xen/include/public/vcpu.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/public/vcpu.h
++++ xen-4.0.3-testing/xen/include/public/vcpu.h
@@ -187,8 +187,7 @@ DEFINE_XEN_GUEST_HANDLE(vcpu_register_vc
/*
* Get the physical ID information for a pinned vcpu's underlying physical
++++++ 22535-x2apic-preenabled.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -15,8 +15,10 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/apic.c
-+++ b/xen/arch/x86/apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.0.3-testing/xen/arch/x86/apic.c
@@ -961,15 +961,6 @@ void x2apic_setup(void)
rdmsr(MSR_IA32_APICBASE, lo, hi);
if ( lo & MSR_IA32_APICBASE_EXTD )
@@ -44,8 +46,10 @@
printk("Would not enable x2APIC due to interrupt remapping "
"cannot be enabled.\n");
goto restore_out;
---- a/xen/drivers/passthrough/vtd/intremap.c
-+++ b/xen/drivers/passthrough/vtd/intremap.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/intremap.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/intremap.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/intremap.c
@@ -898,23 +898,3 @@ void iommu_disable_IR(void)
for_each_drhd_unit ( drhd )
disable_qinval(drhd->iommu);
@@ -70,8 +74,10 @@
-
- return 1;
-}
---- a/xen/include/xen/iommu.h
-+++ b/xen/include/xen/iommu.h
+Index: xen-4.0.3-testing/xen/include/xen/iommu.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/xen/iommu.h
++++ xen-4.0.3-testing/xen/include/xen/iommu.h
@@ -62,7 +62,6 @@ int iommu_setup(void);
int iommu_supports_eim(void);
int iommu_enable_IR(void);
++++++ 22645-amd-flush-filter.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -11,10 +11,10 @@
Signed-off-by: Keir Fraser
-Index: xen-4.0.2-testing/xen/arch/x86/cpu/amd.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/amd.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/cpu/amd.c
-+++ xen-4.0.2-testing/xen/arch/x86/cpu/amd.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/amd.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/amd.c
@@ -237,20 +237,6 @@ int cpu_has_amd_erratum(const struct cpu
return 0;
}
++++++ 22693-fam10-mmio-conf-base-protect.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -19,9 +19,11 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/traps.c
-+++ b/xen/arch/x86/traps.c
-@@ -1720,6 +1720,10 @@ static int is_cpufreq_controller(struct
+Index: xen-4.0.3-testing/xen/arch/x86/traps.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/traps.c
++++ xen-4.0.3-testing/xen/arch/x86/traps.c
+@@ -1729,6 +1729,10 @@ static int is_cpufreq_controller(struct
(d->domain_id == 0));
}
@@ -32,7 +34,7 @@
static int emulate_privileged_op(struct cpu_user_regs *regs)
{
struct vcpu *v = current;
-@@ -2279,7 +2283,13 @@ static int emulate_privileged_op(struct
+@@ -2288,7 +2292,13 @@ static int emulate_privileged_op(struct
goto fail;
if ( !IS_PRIV(v->domain) )
break;
@@ -47,8 +49,10 @@
(((((u64)h << 32) | l) ^ val) &
~( FAM10H_MMIO_CONF_ENABLE |
(FAM10H_MMIO_CONF_BUSRANGE_MASK <<
---- a/xen/arch/x86/x86_64/mmconfig.h
-+++ b/xen/arch/x86/x86_64/mmconfig.h
+Index: xen-4.0.3-testing/xen/arch/x86/x86_64/mmconfig.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/x86_64/mmconfig.h
++++ xen-4.0.3-testing/xen/arch/x86/x86_64/mmconfig.h
@@ -34,6 +34,8 @@
#define PCI_VENDOR_ID_NVIDIA 0x10de
@@ -58,8 +62,10 @@
/*
* AMD Fam10h CPUs are buggy, and cannot access MMIO config space
* on their northbrige except through the * %eax register. As such, you MUST
---- a/xen/arch/x86/x86_64/mmconfig-shared.c
-+++ b/xen/arch/x86/x86_64/mmconfig-shared.c
+Index: xen-4.0.3-testing/xen/arch/x86/x86_64/mmconfig-shared.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/x86_64/mmconfig-shared.c
++++ xen-4.0.3-testing/xen/arch/x86/x86_64/mmconfig-shared.c
@@ -24,7 +24,7 @@
#include "mmconfig.h"
++++++ 22694-x86_64-no-weak.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -22,10 +22,10 @@
Signed-off-by: Keir Fraser
-Index: xen-4.0.2-testing/xen/drivers/acpi/numa.c
+Index: xen-4.0.3-testing/xen/drivers/acpi/numa.c
===================================================================
---- xen-4.0.2-testing.orig/xen/drivers/acpi/numa.c
-+++ xen-4.0.2-testing/xen/drivers/acpi/numa.c
+--- xen-4.0.3-testing.orig/xen/drivers/acpi/numa.c
++++ xen-4.0.3-testing/xen/drivers/acpi/numa.c
@@ -120,14 +120,15 @@ static int __init acpi_parse_slit(struct
return 0;
}
++++++ 22707-x2apic-preenabled-check.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -17,8 +17,10 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/apic.c
-+++ b/xen/arch/x86/apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.0.3-testing/xen/arch/x86/apic.c
@@ -945,7 +945,6 @@ no_apic:
void x2apic_setup(void)
{
@@ -42,8 +44,10 @@
if ( !opt_x2apic )
{
if ( !x2apic_enabled )
---- a/xen/arch/x86/genapic/probe.c
-+++ b/xen/arch/x86/genapic/probe.c
+Index: xen-4.0.3-testing/xen/arch/x86/genapic/probe.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/genapic/probe.c
++++ xen-4.0.3-testing/xen/arch/x86/genapic/probe.c
@@ -59,8 +59,10 @@ custom_param("apic", genapic_apic_force)
void __init generic_apic_probe(void)
@@ -57,8 +61,10 @@
for (i = 0; !changed && apic_probe[i]; i++) {
if (apic_probe[i]->probe()) {
---- a/xen/arch/x86/genapic/x2apic.c
-+++ b/xen/arch/x86/genapic/x2apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/genapic/x2apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/genapic/x2apic.c
++++ xen-4.0.3-testing/xen/arch/x86/genapic/x2apic.c
@@ -20,6 +20,8 @@
#include
#include
@@ -89,8 +95,10 @@
+ genapic = apic_x2apic_probe();
+ }
+}
---- a/xen/include/asm-x86/apic.h
-+++ b/xen/include/asm-x86/apic.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/apic.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/apic.h
++++ xen-4.0.3-testing/xen/include/asm-x86/apic.h
@@ -25,6 +25,7 @@ extern int apic_verbosity;
extern int x2apic_enabled;
extern int directed_eoi_enabled;
++++++ 22708-xenctx-misc.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -12,10 +12,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/tools/xentrace/xenctx.c
+Index: xen-4.0.3-testing/tools/xentrace/xenctx.c
===================================================================
---- xen-4.0.2-testing.orig/tools/xentrace/xenctx.c
-+++ xen-4.0.2-testing/tools/xentrace/xenctx.c
+--- xen-4.0.3-testing.orig/tools/xentrace/xenctx.c
++++ xen-4.0.3-testing/tools/xentrace/xenctx.c
@@ -19,6 +19,7 @@
#include
#include
++++++ 22744-ept-pod-locking.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -11,10 +11,10 @@
Signed-off-by: Tim Deegan
-Index: xen-4.0.2-testing/xen/arch/x86/mm/hap/p2m-ept.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm/hap/p2m-ept.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm/hap/p2m-ept.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm/hap/p2m-ept.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm/hap/p2m-ept.c
++++ xen-4.0.3-testing/xen/arch/x86/mm/hap/p2m-ept.c
@@ -37,19 +37,26 @@ static int ept_pod_check_and_populate(st
ept_entry_t *entry, int order,
p2m_query_t q)
++++++ 22749-vtd-workarounds.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -54,8 +54,10 @@
Signed-off-by: Allen Kay
---- a/xen/drivers/passthrough/vtd/extern.h
-+++ b/xen/drivers/passthrough/vtd/extern.h
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/extern.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/extern.h
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/extern.h
@@ -87,5 +87,6 @@ void __init platform_quirks_init(void);
void vtd_ops_preamble_quirk(struct iommu* iommu);
void vtd_ops_postamble_quirk(struct iommu* iommu);
@@ -63,9 +65,11 @@
+void pci_vtd_quirk(struct pci_dev *pdev);
#endif // _VTD_EXTERN_H_
---- a/xen/drivers/passthrough/vtd/iommu.c
-+++ b/xen/drivers/passthrough/vtd/iommu.c
-@@ -1856,6 +1856,7 @@ static void setup_dom0_devices(struct do
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/iommu.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.c
+@@ -1864,6 +1864,7 @@ static void setup_dom0_devices(struct do
list_add(&pdev->domain_list, &d->arch.pdev_list);
domain_context_mapping(d, pdev->bus, pdev->devfn);
pci_enable_acs(pdev);
@@ -73,8 +77,10 @@
}
}
spin_unlock(&pcidevs_lock);
---- a/xen/drivers/passthrough/vtd/quirks.c
-+++ b/xen/drivers/passthrough/vtd/quirks.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/quirks.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/quirks.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/quirks.c
@@ -47,12 +47,15 @@
#define IS_CTG(id) (id == 0x2a408086)
#define IS_ILK(id) (id == 0x00408086 || id == 0x00448086 || id== 0x00628086 || id == 0x006A8086)
++++++ 22777-vtd-ats-fixes.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -14,10 +14,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/xen/drivers/passthrough/vtd/x86/ats.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/x86/ats.c
===================================================================
---- xen-4.0.2-testing.orig/xen/drivers/passthrough/vtd/x86/ats.c
-+++ xen-4.0.2-testing/xen/drivers/passthrough/vtd/x86/ats.c
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/x86/ats.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/x86/ats.c
@@ -91,6 +91,9 @@ int ats_device(int seg, int bus, int dev
return 0;
++++++ 22780-pod-preempt.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -13,10 +13,10 @@
Signed-off-by: George Dunlap
Acked-by: Tim Deegan
-Index: xen-4.0.2-testing/xen/arch/x86/domain.c
+Index: xen-4.0.3-testing/xen/arch/x86/domain.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/domain.c
-+++ xen-4.0.2-testing/xen/arch/x86/domain.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/domain.c
++++ xen-4.0.3-testing/xen/arch/x86/domain.c
@@ -1709,8 +1709,8 @@ int hypercall_xlat_continuation(unsigned
unsigned long nval = 0;
va_list args;
@@ -28,10 +28,10 @@
va_start(args, mask);
-Index: xen-4.0.2-testing/xen/arch/x86/mm.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.0.3-testing/xen/arch/x86/mm.c
@@ -4547,14 +4547,22 @@ long arch_memory_op(int op, XEN_GUEST_HA
rc = p2m_pod_set_mem_target(d, target.target_pages);
}
@@ -62,10 +62,10 @@
}
pod_target_out_unlock:
-Index: xen-4.0.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm/p2m.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.0.3-testing/xen/arch/x86/mm/p2m.c
@@ -383,7 +383,7 @@ static struct page_info * p2m_pod_cache_
/* Set the size of the cache, allocating or freeing as necessary. */
@@ -119,10 +119,10 @@
}
out_unlock:
-Index: xen-4.0.2-testing/xen/arch/x86/x86_64/compat/mm.c
+Index: xen-4.0.3-testing/xen/arch/x86/x86_64/compat/mm.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/x86_64/compat/mm.c
-+++ xen-4.0.2-testing/xen/arch/x86/x86_64/compat/mm.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/x86_64/compat/mm.c
++++ xen-4.0.3-testing/xen/arch/x86/x86_64/compat/mm.c
@@ -127,6 +127,9 @@ int compat_arch_memory_op(int op, XEN_GU
if ( rc < 0 )
break;
++++++ 22781-pod-hap-logdirty.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -16,10 +16,10 @@
Signed-off-by: George Dunlap
Acked-by: Tim Deegan
-Index: xen-4.0.2-testing/xen/arch/x86/mm/p2m.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm/p2m.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm/p2m.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm/p2m.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm/p2m.c
++++ xen-4.0.3-testing/xen/arch/x86/mm/p2m.c
@@ -1076,14 +1076,22 @@ p2m_pod_demand_populate(struct domain *d
if ( unlikely(d->is_dying) )
goto out_fail;
++++++ 22789-i386-no-x2apic.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -15,9 +15,11 @@
jb: Moved logic into check_x2apic_preenabled(), disabled dead code on
x86_32.
---- a/xen/arch/x86/apic.c
-+++ b/xen/arch/x86/apic.c
-@@ -67,10 +67,12 @@ static int enable_local_apic __initdata
+Index: xen-4.0.3-testing/xen/arch/x86/apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.0.3-testing/xen/arch/x86/apic.c
+@@ -67,10 +67,12 @@ static int enable_local_apic __initdata
*/
int apic_verbosity;
@@ -49,8 +51,10 @@
if ( ioapic_entries )
free_ioapic_entries(ioapic_entries);
}
---- a/xen/arch/x86/genapic/x2apic.c
-+++ b/xen/arch/x86/genapic/x2apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/genapic/x2apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/genapic/x2apic.c
++++ xen-4.0.3-testing/xen/arch/x86/genapic/x2apic.c
@@ -25,6 +25,8 @@
#include
#include
@@ -89,8 +93,10 @@
+ clear_bit(X86_FEATURE_X2APIC, boot_cpu_data.x86_capability);
+#endif
}
---- a/xen/drivers/passthrough/vtd/intremap.c
-+++ b/xen/drivers/passthrough/vtd/intremap.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/intremap.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/intremap.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/intremap.c
@@ -824,6 +824,7 @@ out:
spin_unlock_irqrestore(&iommu->register_lock, flags);
}
@@ -107,8 +113,10 @@
/*
* This function is used to disable Interrutp remapping when
---- a/xen/include/asm-x86/apic.h
-+++ b/xen/include/asm-x86/apic.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/apic.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/apic.h
++++ xen-4.0.3-testing/xen/include/asm-x86/apic.h
@@ -22,7 +22,11 @@
#define IO_APIC_REDIR_DEST_PHYSICAL 0x00000
++++++ 22790-svm-resume-migrate-pirqs.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -9,10 +9,10 @@
Signed-off-by: Wei Wang
-Index: xen-4.0.2-testing/xen/arch/x86/hvm/svm/svm.c
+Index: xen-4.0.3-testing/xen/arch/x86/hvm/svm/svm.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/hvm/svm/svm.c
-+++ xen-4.0.2-testing/xen/arch/x86/hvm/svm/svm.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/hvm/svm/svm.c
++++ xen-4.0.3-testing/xen/arch/x86/hvm/svm/svm.c
@@ -697,7 +697,7 @@ static void svm_do_resume(struct vcpu *v
{
v->arch.hvm_svm.launch_core = smp_processor_id();
++++++ 22899-x86-tighten-msr-permissions.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -11,9 +11,11 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/traps.c
-+++ b/xen/arch/x86/traps.c
-@@ -2268,7 +2268,7 @@ static int emulate_privileged_op(struct
+Index: xen-4.0.3-testing/xen/arch/x86/traps.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/traps.c
++++ xen-4.0.3-testing/xen/arch/x86/traps.c
+@@ -2277,7 +2277,7 @@ static int emulate_privileged_op(struct
if ( boot_cpu_data.x86_vendor != X86_VENDOR_AMD ||
boot_cpu_data.x86 < 0x10 || boot_cpu_data.x86 > 0x17 )
goto fail;
@@ -22,7 +24,7 @@
break;
if ( (rdmsr_safe(MSR_AMD64_NB_CFG, l, h) != 0) ||
(eax != l) ||
-@@ -2281,7 +2281,7 @@ static int emulate_privileged_op(struct
+@@ -2290,7 +2290,7 @@ static int emulate_privileged_op(struct
if ( boot_cpu_data.x86_vendor != X86_VENDOR_AMD ||
boot_cpu_data.x86 < 0x10 || boot_cpu_data.x86 > 0x17 )
goto fail;
@@ -31,7 +33,7 @@
break;
if ( (rdmsr_safe(MSR_FAM10H_MMIO_CONF_BASE, l, h) != 0) )
goto fail;
-@@ -2303,6 +2303,8 @@ static int emulate_privileged_op(struct
+@@ -2312,6 +2312,8 @@ static int emulate_privileged_op(struct
case MSR_IA32_UCODE_REV:
if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL )
goto fail;
@@ -40,7 +42,7 @@
if ( rdmsr_safe(regs->ecx, l, h) )
goto fail;
if ( l | h )
-@@ -2310,7 +2312,7 @@ static int emulate_privileged_op(struct
+@@ -2319,7 +2321,7 @@ static int emulate_privileged_op(struct
break;
case MSR_IA32_MISC_ENABLE:
if ( rdmsr_safe(regs->ecx, l, h) )
@@ -49,7 +51,7 @@
l = guest_misc_enable(l);
if ( eax != l || edx != h )
goto invalid;
-@@ -2336,7 +2338,7 @@ static int emulate_privileged_op(struct
+@@ -2345,7 +2347,7 @@ static int emulate_privileged_op(struct
case MSR_IA32_THERM_CONTROL:
if ( boot_cpu_data.x86_vendor != X86_VENDOR_INTEL )
goto fail;
++++++ 22915-x86-hpet-msi-s3.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -17,8 +17,10 @@
Signed-off-by: Wei Gang
Acked-by: Jan Beulich
---- a/xen/arch/x86/hpet.c
-+++ b/xen/arch/x86/hpet.c
+Index: xen-4.0.3-testing/xen/arch/x86/hpet.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/hpet.c
++++ xen-4.0.3-testing/xen/arch/x86/hpet.c
@@ -339,12 +339,20 @@ static int hpet_setup_msi_irq(unsigned i
int ret;
struct msi_msg msg;
++++++ 22949-x86-tolerate-serr.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -14,9 +14,11 @@
Signed-off-by: Stefano Stabellini
---- a/xen/arch/x86/traps.c
-+++ b/xen/arch/x86/traps.c
-@@ -3057,23 +3057,12 @@ static void nmi_dom0_report(unsigned int
+Index: xen-4.0.3-testing/xen/arch/x86/traps.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/traps.c
++++ xen-4.0.3-testing/xen/arch/x86/traps.c
+@@ -3066,23 +3066,12 @@ static void nmi_dom0_report(unsigned int
send_guest_trap(d, 0, TRAP_nmi);
}
@@ -44,7 +46,7 @@
}
static void io_check_error(struct cpu_user_regs *regs)
-@@ -3136,7 +3125,7 @@ asmlinkage void do_nmi(struct cpu_user_r
+@@ -3145,7 +3134,7 @@ asmlinkage void do_nmi(struct cpu_user_r
{
reason = inb(0x61);
if ( reason & 0x80 )
++++++ 22998-x86-get_page_from_l1e-retcode.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -19,10 +19,10 @@
Signed-off-by: Jan Beulich
-Index: xen-4.0.2-testing/xen/arch/x86/mm/shadow/multi.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm/shadow/multi.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm/shadow/multi.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm/shadow/multi.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm/shadow/multi.c
++++ xen-4.0.3-testing/xen/arch/x86/mm/shadow/multi.c
@@ -849,7 +849,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.
@@ -64,10 +64,10 @@
{
/* Doesn't look like a pagetable. */
flags |= SHADOW_SET_ERROR;
-Index: xen-4.0.2-testing/xen/arch/x86/mm.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.0.3-testing/xen/arch/x86/mm.c
@@ -776,12 +776,12 @@ get_page_from_l1e(
bool_t write;
++++++ 22999-x86-mod_l1_entry-retcode.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -12,8 +12,10 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.0.3-testing/xen/arch/x86/mm.c
@@ -1745,15 +1745,16 @@ static int mod_l1_entry(l1_pgentry_t *pl
struct domain *pt_dom = pt_vcpu->domain;
unsigned long mfn;
++++++ 23000-x86-mod_l2_entry-retcode.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -11,8 +11,10 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
+Index: xen-4.0.3-testing/xen/arch/x86/mm.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.0.3-testing/xen/arch/x86/mm.c
@@ -1816,16 +1816,16 @@ static int mod_l2_entry(l2_pgentry_t *pl
struct domain *d = vcpu->domain;
struct page_info *l2pg = mfn_to_page(pfn);
++++++ 23020-x86-cpuidle-ordering.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -12,8 +12,10 @@
Signed-off-by: Liu, Jinsong
Acked-by: Wei Gang
---- a/xen/arch/x86/acpi/cpu_idle.c
-+++ b/xen/arch/x86/acpi/cpu_idle.c
+Index: xen-4.0.3-testing/xen/arch/x86/acpi/cpu_idle.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/acpi/cpu_idle.c
++++ xen-4.0.3-testing/xen/arch/x86/acpi/cpu_idle.c
@@ -339,6 +339,19 @@ static void acpi_processor_idle(void)
case ACPI_STATE_C3:
++++++ 23061-amd-iommu-resume.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -9,8 +9,10 @@
Signed-off-by: Jan Beulich
---- a/xen/drivers/passthrough/amd/iommu_init.c
-+++ b/xen/drivers/passthrough/amd/iommu_init.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/amd/iommu_init.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/amd/iommu_init.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/amd/iommu_init.c
@@ -118,7 +118,7 @@ static void register_iommu_cmd_buffer_in
writel(entry, iommu->mmio_base+IOMMU_CMD_BUFFER_BASE_HIGH_OFFSET);
}
++++++ 23127-vtd-bios-settings.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:52.000000000 +0100
@@ -27,8 +27,10 @@
Signed-off-by: Allen Kay
---- a/xen/arch/x86/apic.c
-+++ b/xen/arch/x86/apic.c
+Index: xen-4.0.3-testing/xen/arch/x86/apic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/apic.c
++++ xen-4.0.3-testing/xen/arch/x86/apic.c
@@ -533,7 +533,7 @@ static void resume_x2apic(void)
mask_8259A();
mask_IO_APIC_setup(ioapic_entries);
@@ -56,8 +58,10 @@
{
if ( x2apic_enabled )
panic("Interrupt remapping could not be enabled while "
---- a/xen/drivers/passthrough/vtd/dmar.c
-+++ b/xen/drivers/passthrough/vtd/dmar.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/dmar.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/dmar.c
++++ xen-4.0.3-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);
@@ -97,8 +101,10 @@
+ flags = DMAR_INTR_REMAP | DMAR_X2APIC_OPT_OUT;
+ return ((dmar_flags & flags) == DMAR_INTR_REMAP);
+}
---- a/xen/drivers/passthrough/vtd/extern.h
-+++ b/xen/drivers/passthrough/vtd/extern.h
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/extern.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/extern.h
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/extern.h
@@ -88,5 +88,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);
@@ -107,8 +113,10 @@
+int platform_supports_x2apic(void);
#endif // _VTD_EXTERN_H_
---- a/xen/drivers/passthrough/vtd/intremap.c
-+++ b/xen/drivers/passthrough/vtd/intremap.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/intremap.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/intremap.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/intremap.c
@@ -739,6 +739,13 @@ int enable_intremap(struct iommu *iommu,
ASSERT(ecap_intr_remap(iommu->ecap) && iommu_intremap);
@@ -155,9 +163,11 @@
{
struct acpi_drhd_unit *drhd;
---- a/xen/drivers/passthrough/vtd/iommu.c
-+++ b/xen/drivers/passthrough/vtd/iommu.c
-@@ -1949,7 +1949,7 @@ static int init_vtd_hw(void)
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/iommu.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.c
+@@ -1957,7 +1957,7 @@ static int init_vtd_hw(void)
{
iommu_intremap = 0;
dprintk(XENLOG_WARNING VTDPREFIX,
@@ -166,8 +176,10 @@
break;
}
}
---- a/xen/drivers/passthrough/vtd/iommu.h
-+++ b/xen/drivers/passthrough/vtd/iommu.h
+Index: xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/vtd/iommu.h
++++ xen-4.0.3-testing/xen/drivers/passthrough/vtd/iommu.h
@@ -22,6 +22,10 @@
#include
@@ -179,8 +191,10 @@
/*
* Intel IOMMU register specification per version 1.0 public spec.
*/
---- a/xen/include/xen/iommu.h
-+++ b/xen/include/xen/iommu.h
+Index: xen-4.0.3-testing/xen/include/xen/iommu.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/xen/iommu.h
++++ xen-4.0.3-testing/xen/include/xen/iommu.h
@@ -60,8 +60,8 @@ struct iommu {
int iommu_setup(void);
++++++ 23154-x86-amd-iorr-no-rdwr.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:52.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -15,8 +15,10 @@
Signed-off-by: Wei Huang
---- a/xen/arch/x86/cpu/mtrr/generic.c
-+++ b/xen/arch/x86/cpu/mtrr/generic.c
+Index: xen-4.0.3-testing/xen/arch/x86/cpu/mtrr/generic.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/cpu/mtrr/generic.c
++++ xen-4.0.3-testing/xen/arch/x86/cpu/mtrr/generic.c
@@ -116,20 +116,6 @@ void mtrr_wrmsr(unsigned msr, unsigned a
}
++++++ 23199-amd-iommu-unmapped-intr-fault.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -9,8 +9,10 @@
Signed-off-by: Wei Wang
---- a/xen/drivers/passthrough/amd/iommu_map.c
-+++ b/xen/drivers/passthrough/amd/iommu_map.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/amd/iommu_map.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/amd/iommu_map.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/amd/iommu_map.c
@@ -309,8 +309,9 @@ void amd_iommu_set_intremap_table(u32 *d
set_field_in_reg_u32(0xB, entry,
IOMMU_DEV_TABLE_INT_TABLE_LENGTH_MASK,
++++++ 23200-amd-iommu-intremap-sync.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -20,8 +20,10 @@
Signed-off-by: Wei Wang
Acked-by: Jan Beulich
---- a/xen/drivers/passthrough/amd/iommu_intr.c
-+++ b/xen/drivers/passthrough/amd/iommu_intr.c
+Index: xen-4.0.3-testing/xen/drivers/passthrough/amd/iommu_intr.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/drivers/passthrough/amd/iommu_intr.c
++++ xen-4.0.3-testing/xen/drivers/passthrough/amd/iommu_intr.c
@@ -116,8 +116,7 @@ void invalidate_interrupt_table(struct a
static void update_intremap_entry_from_ioapic(
int bdf,
@@ -43,19 +45,18 @@
- vector = rte->vector;
- dest_mode = rte->dest_mode;
- dest = rte->dest.logical.logical_dest;
-
+-
- spin_lock_irqsave(lock, flags);
- offset = get_intremap_offset(vector, delivery_mode);
- entry = (u32*)get_intremap_entry(req_id, offset);
+
+- update_intremap_entry(entry, vector, delivery_mode, dest_mode, dest);
+- spin_unlock_irqrestore(lock, flags);
+ delivery_mode = rte->delivery_mode;
+ vector = rte->vector;
+ dest_mode = rte->dest_mode;
+ dest = rte->dest.logical.logical_dest;
-- update_intremap_entry(entry, vector, delivery_mode, dest_mode, dest);
-- spin_unlock_irqrestore(lock, flags);
-+ spin_lock_irqsave(lock, flags);
-
- if ( iommu->enabled )
- {
- spin_lock_irqsave(&iommu->lock, flags);
@@ -63,6 +64,8 @@
- flush_command_buffer(iommu);
- spin_unlock_irqrestore(&iommu->lock, flags);
- }
++ spin_lock_irqsave(lock, flags);
++
+ offset = get_intremap_offset(vector, delivery_mode);
+ entry = (u32*)get_intremap_entry(req_id, offset);
+ update_intremap_entry(entry, vector, delivery_mode, dest_mode, dest);
++++++ 23298-hvmop-get-mem-type.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -21,10 +21,10 @@
Acked-by: Tim Deegan
Committed-by: Tim Deegan
-Index: xen-4.0.2-testing/xen/arch/ia64/vmx/vmx_hypercall.c
+Index: xen-4.0.3-testing/xen/arch/ia64/vmx/vmx_hypercall.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/ia64/vmx/vmx_hypercall.c
-+++ xen-4.0.2-testing/xen/arch/ia64/vmx/vmx_hypercall.c
+--- xen-4.0.3-testing.orig/xen/arch/ia64/vmx/vmx_hypercall.c
++++ xen-4.0.3-testing/xen/arch/ia64/vmx/vmx_hypercall.c
@@ -217,6 +217,7 @@ do_hvm_op(unsigned long op, XEN_GUEST_HA
break;
}
@@ -33,10 +33,10 @@
case HVMOP_set_mem_type:
rc = -ENOSYS;
break;
-Index: xen-4.0.2-testing/xen/arch/x86/hvm/hvm.c
+Index: xen-4.0.3-testing/xen/arch/x86/hvm/hvm.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/hvm/hvm.c
-+++ xen-4.0.2-testing/xen/arch/x86/hvm/hvm.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/hvm/hvm.c
++++ xen-4.0.3-testing/xen/arch/x86/hvm/hvm.c
@@ -3026,6 +3026,37 @@ long do_hvm_op(unsigned long op, XEN_GUE
break;
}
@@ -75,10 +75,10 @@
case HVMOP_set_mem_type:
{
struct xen_hvm_set_mem_type a;
-Index: xen-4.0.2-testing/xen/include/public/hvm/hvm_op.h
+Index: xen-4.0.3-testing/xen/include/public/hvm/hvm_op.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/public/hvm/hvm_op.h
-+++ xen-4.0.2-testing/xen/include/public/hvm/hvm_op.h
+--- xen-4.0.3-testing.orig/xen/include/public/hvm/hvm_op.h
++++ xen-4.0.3-testing/xen/include/public/hvm/hvm_op.h
@@ -75,6 +75,12 @@ DEFINE_XEN_GUEST_HANDLE(xen_hvm_set_pci_
/* Flushes all VCPU TLBs: @arg must be NULL. */
#define HVMOP_flush_tlbs 5
++++++ 23511-AMD-Fam15-C3-no-cache-flush.patch ++++++
References: bnc#728999
# HG changeset patch
# User Mark Langsdorf
# Date 1308051989 -3600
# Node ID 450f1d198e1e299b69489d513f591f0301cc5166
# Parent 864a3dd1d9b4664f1ece44c9eaf390969253b7a8
x86/amd: Eliminate cache flushing when entering C3 on select AMD processors
AMD Fam15h processors have a shared cache. It does not need=20
to be be flushed when entering C3 and doing so causes reduces
performance. Modify acpi_processor_power_init_bm_check to
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
@@ -551,7 +551,8 @@ static void acpi_processor_power_init_bm
flags->bm_check = 0;
if ( num_online_cpus() == 1 )
flags->bm_check = 1;
- else if ( c->x86_vendor == X86_VENDOR_INTEL )
+ else if ( (c->x86_vendor == X86_VENDOR_INTEL) ||
+ ((c->x86_vendor == X86_VENDOR_AMD) && (c->x86 == 0x15)) )
{
/*
* Today all MP CPUs that support C3 share cache.
++++++ 23543-x86_64-m2v-assert.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -11,8 +11,10 @@
Signed-off-by: Jan Beulich
---- a/xen/include/asm-x86/x86_64/page.h
-+++ b/xen/include/asm-x86/x86_64/page.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/x86_64/page.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/x86_64/page.h
++++ xen-4.0.3-testing/xen/include/asm-x86/x86_64/page.h
@@ -81,7 +81,7 @@ static inline unsigned long __virt_to_ma
static inline void *__maddr_to_virt(unsigned long ma)
++++++ 23676-x86_64-alias-mappings.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -14,9 +14,11 @@
Signed-off-by: Jan Beulich
---- a/xen/arch/x86/mm.c
-+++ b/xen/arch/x86/mm.c
-@@ -749,7 +749,7 @@ static int update_xen_mappings(unsigned
+Index: xen-4.0.3-testing/xen/arch/x86/mm.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/mm.c
++++ xen-4.0.3-testing/xen/arch/x86/mm.c
+@@ -749,7 +749,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 @@
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.0.3-testing/xen/arch/x86/setup.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/setup.c
++++ xen-4.0.3-testing/xen/arch/x86/setup.c
@@ -103,6 +103,8 @@ unsigned long __read_mostly xen_phys_sta
/* Limits of Xen heap, used to initialise the allocator. */
unsigned long __initdata xenheap_initial_phys_start;
@@ -49,8 +53,10 @@
memguard_init();
nr_pages = 0;
---- a/xen/include/asm-x86/x86_64/page.h
-+++ b/xen/include/asm-x86/x86_64/page.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/x86_64/page.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/x86_64/page.h
++++ xen-4.0.3-testing/xen/include/asm-x86/x86_64/page.h
@@ -32,6 +32,8 @@
#include
#include
++++++ 23765-x86-irq-vector-leak.patch ++++++
# 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
Index: xen-4.0.3-testing/xen/arch/x86/irq.c
===================================================================
--- xen-4.0.3-testing.orig/xen/arch/x86/irq.c
+++ xen-4.0.3-testing/xen/arch/x86/irq.c
@@ -193,6 +193,7 @@ static void __clear_irq_vector(int irq)
if (likely(!cfg->move_in_progress))
return;
+ cpus_and(tmp_mask, cfg->old_domain, cpu_online_map);
for_each_cpu_mask(cpu, tmp_mask) {
for (vector = FIRST_DYNAMIC_VECTOR; vector <= LAST_DYNAMIC_VECTOR;
vector++) {
++++++ 23771-x86-ioapic-clear-pin.patch ++++++
References: bnc#701686
# HG changeset patch
# User Jan Beulich
# Date 1313503555 -3600
# Node ID fc2be6cb89ad49efd90fe1b650f7efaab72f61b2
# Parent 5c1ebc117f9901bc155d2b92ae902a4144767dfb
x86: simplify (and fix) clear_IO_APIC{,_pin}()
These are used during bootup and (emergency) shutdown only, and their
only purpose is to get the actual IO-APIC's RTE(s) cleared.
Consequently, only the "raw" accessors should be used (and the ones
going through interrupt remapping code can be skipped), with the
exception of determining the delivery mode: This one must always go
through the interrupt remapping path, as in the VT-d case the actual
IO-APIC's RTE will have the delivery mode always set to zero (which
before possibly could have resulted in such an entry getting cleared
in the "raw" pass, though I haven't observed this case in practice).
Signed-off-by: Jan Beulich
Index: xen-4.0.3-testing/xen/arch/x86/io_apic.c
===================================================================
--- xen-4.0.3-testing.orig/xen/arch/x86/io_apic.c
+++ xen-4.0.3-testing/xen/arch/x86/io_apic.c
@@ -475,14 +475,12 @@ static void eoi_IO_APIC_irq(unsigned int
spin_unlock_irqrestore(&ioapic_lock, flags);
}
-#define clear_IO_APIC_pin(a,p) __clear_IO_APIC_pin(a,p,0)
-#define clear_IO_APIC_pin_raw(a,p) __clear_IO_APIC_pin(a,p,1)
-static void __clear_IO_APIC_pin(unsigned int apic, unsigned int pin, int raw)
+static void clear_IO_APIC_pin(unsigned int apic, unsigned int pin)
{
struct IO_APIC_route_entry entry;
/* Check delivery_mode to be sure we're not clearing an SMI pin */
- entry = ioapic_read_entry(apic, pin, raw);
+ entry = __ioapic_read_entry(apic, pin, FALSE);
if (entry.delivery_mode == dest_SMI)
return;
@@ -491,7 +489,7 @@ static void __clear_IO_APIC_pin(unsigned
*/
memset(&entry, 0, sizeof(entry));
entry.mask = 1;
- ioapic_write_entry(apic, pin, raw, entry);
+ __ioapic_write_entry(apic, pin, TRUE, entry);
}
static void clear_IO_APIC (void)
@@ -499,10 +497,8 @@ static void clear_IO_APIC (void)
int apic, pin;
for (apic = 0; apic < nr_ioapics; apic++) {
- for (pin = 0; pin < nr_ioapic_registers[apic]; pin++) {
+ for (pin = 0; pin < nr_ioapic_registers[apic]; pin++)
clear_IO_APIC_pin(apic, pin);
- clear_IO_APIC_pin_raw(apic, pin);
- }
}
}
++++++ 23776-x86-kexec-hpet-legacy-bcast-disable.patch ++++++
# 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
Index: xen-4.0.3-testing/xen/arch/x86/crash.c
===================================================================
--- xen-4.0.3-testing.orig/xen/arch/x86/crash.c
+++ xen-4.0.3-testing/xen/arch/x86/crash.c
@@ -25,6 +25,7 @@
#include
#include
#include
+#include
static atomic_t waiting_for_crash_ipi;
static unsigned int crashing_cpu;
@@ -57,6 +58,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;
Index: xen-4.0.3-testing/xen/arch/x86/machine_kexec.c
===================================================================
--- xen-4.0.3-testing.orig/xen/arch/x86/machine_kexec.c
+++ xen-4.0.3-testing/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
++++++ 23781-pm-wide-ACPI-ids.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1314004239 -3600
# Node ID 0849b0e59e2418e8215616df147f955b01b07577
# Parent 07f78b5bd03c02e32324eaa00487643d27b7ffa8
pm: don't truncate processors' ACPI IDs to 8 bits
This is just another adjustment to allow systems with very many CPUs
(or unusual ACPI IDs) to be properly power-managed.
Signed-off-by: Jan Beulich
--- a/xen/arch/ia64/linux-xen/acpi.c
+++ b/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 };
/* acpi id to cpu id */
-int get_cpu_id(u8 acpi_id)
+int get_cpu_id(u32 acpi_id)
{
int i;
u16 apic_id;
+ if ( acpi_id >= MAX_LOCAL_SAPIC )
+ return -EINVAL;
+
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
@@ -742,11 +742,14 @@ static void set_cx(
acpi_power->safe_state = cx;
}
-int get_cpu_id(u8 acpi_id)
+int get_cpu_id(u32 acpi_id)
{
int i;
u32 apic_id;
+ if ( acpi_id >= MAX_MADT_ENTRIES )
+ return -1;
+
apic_id = x86_acpiid_to_apicid[acpi_id];
if ( apic_id == BAD_APICID )
return -1;
@@ -823,7 +826,7 @@ long set_cx_pminfo(uint32_t cpu, struct
print_cx_pminfo(cpu, power);
/* map from acpi_id to cpu_id */
- cpu_id = get_cpu_id((u8)cpu);
+ cpu_id = get_cpu_id(cpu);
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
@@ -6,7 +6,7 @@
#define XEN_PX_INIT 0x80000000
-int get_cpu_id(u8);
+int get_cpu_id(u32);
int powernow_cpufreq_init(void);
unsigned int powernow_register_driver(void);
++++++ 23782-x86-ioapic-clear-irr.patch ++++++
References: bnc#667386, bnc#701686
# HG changeset patch
# User Jan Beulich
# Date 1314004270 -3600
# Node ID 25dfe53bb1898b3967ceb71a7eb60a8b760c25fb
# Parent 0849b0e59e2418e8215616df147f955b01b07577
x86/IO-APIC: clear remoteIRR in clear_IO_APIC_pin()
It was found that in a crash scenario, the remoteIRR bit in an IO-APIC
RTE could be left set, causing problems when bringing up a kdump
kernel. While this generally is most important to be taken care of in
the new kernel (which usually would be a native one), it still seems
desirable to also address this problem in Xen so that (a) the problem
doesn't bite Xen when used as a secondary emergency kernel and (b) an
attempt is being made to save un-fixed secondary kernels from running
into said problem.
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
@@ -485,11 +485,35 @@ static void clear_IO_APIC_pin(unsigned i
return;
/*
+ * Make sure the entry is masked and re-read the contents to check
+ * if it is a level triggered pin and if the remoteIRR is set.
+ */
+ if (!entry.mask) {
+ entry.mask = 1;
+ __ioapic_write_entry(apic, pin, FALSE, entry);
+ }
+ entry = __ioapic_read_entry(apic, pin, TRUE);
+
+ if (entry.irr) {
+ /* Make sure the trigger mode is set to level. */
+ if (!entry.trigger) {
+ entry.trigger = 1;
+ __ioapic_write_entry(apic, pin, TRUE, entry);
+ }
+ __io_apic_eoi(apic, entry.vector, pin);
+ }
+
+ /*
* Disable it in the IO-APIC irq-routing table:
*/
memset(&entry, 0, sizeof(entry));
entry.mask = 1;
__ioapic_write_entry(apic, pin, TRUE, entry);
+
+ entry = __ioapic_read_entry(apic, pin, TRUE);
+ if (entry.irr)
+ printk(KERN_ERR "IO-APIC%02x-%u: Unable to reset IRR\n",
+ IO_APIC_ID(apic), pin);
}
static void clear_IO_APIC (void)
++++++ 23783-ACPI-set-_PDC-bits.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1314004356 -3600
# Node ID 2029263c501c315fa4d94845e5cfa6a9b0b395d5
# Parent 25dfe53bb1898b3967ceb71a7eb60a8b760c25fb
ACPI: add _PDC input override mechanism
In order to have Dom0 call _PDC with input fully representing Xen's
capabilities, and in order to avoid building knowledge of Xen
implementation details into Dom0, this provides a mechanism by which
the Dom0 kernel can, once it filled the _PDC input buffer according to
its own knowledge, present the buffer to Xen to apply overrides for
the parts of the C-, P-, and T-state management that it controls. This
is particularly to address the dependency of Xen using MWAIT to enter
certain C-states on the availability of the break-on-interrupt
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
@@ -243,6 +243,13 @@ int get_cpu_id(u32 acpi_id)
return -1;
}
+
+int arch_acpi_set_pdc_bits(u32 acpi_id, u32 *pdc, u32 mask)
+{
+ pdc[2] |= ACPI_PDC_EST_CAPABILITY_SMP & mask;
+ return 0;
+}
+
#endif
static int __init
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -490,12 +490,6 @@ static int init_cx_pminfo(struct acpi_pr
return 0;
}
-#define CPUID_MWAIT_LEAF (5)
-#define CPUID5_ECX_EXTENSIONS_SUPPORTED (0x1)
-#define CPUID5_ECX_INTERRUPT_BREAK (0x2)
-
-#define MWAIT_ECX_INTERRUPT_BREAK (0x1)
-
#define MWAIT_SUBSTATE_MASK (0xf)
#define MWAIT_SUBSTATE_SIZE (4)
--- a/xen/arch/x86/acpi/boot.c
+++ b/xen/arch/x86/acpi/boot.c
@@ -1008,3 +1008,47 @@ unsigned int acpi_get_processor_id(unsig
return INVALID_ACPIID;
}
+
+static void get_mwait_ecx(void *info)
+{
+ *(u32 *)info = cpuid_ecx(CPUID_MWAIT_LEAF);
+}
+
+int arch_acpi_set_pdc_bits(u32 acpi_id, u32 *pdc, u32 mask)
+{
+ unsigned int cpu = get_cpu_id(acpi_id);
+ struct cpuinfo_x86 *c;
+ u32 ecx;
+
+ if (!(acpi_id + 1))
+ c = &boot_cpu_data;
+ else if (cpu >= NR_CPUS || !cpu_online(cpu))
+ return -EINVAL;
+ else
+ c = cpu_data + cpu;
+
+ pdc[2] |= ACPI_PDC_C_CAPABILITY_SMP & mask;
+
+ if (cpu_has(c, X86_FEATURE_EST))
+ pdc[2] |= ACPI_PDC_EST_CAPABILITY_SWSMP & mask;
+
+ if (cpu_has(c, X86_FEATURE_ACPI))
+ pdc[2] |= ACPI_PDC_T_FFH & mask;
+
+ /*
+ * If mwait/monitor or its break-on-interrupt extension are
+ * unsupported, Cx_FFH will be disabled.
+ */
+ if (!cpu_has(c, X86_FEATURE_MWAIT) ||
+ c->cpuid_level < CPUID_MWAIT_LEAF)
+ ecx = 0;
+ else if (c == &boot_cpu_data || cpu == smp_processor_id())
+ ecx = cpuid_ecx(CPUID_MWAIT_LEAF);
+ else
+ on_selected_cpus(cpumask_of(cpu), get_mwait_ecx, &ecx, 1);
+ if (!(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED) ||
+ !(ecx & CPUID5_ECX_INTERRUPT_BREAK))
+ pdc[2] &= ~(ACPI_PDC_C_C1_FFH | ACPI_PDC_C_C2C3_FFH);
+
+ return 0;
+}
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -396,6 +396,15 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
ret = -EINVAL;
break;
+ case XEN_PM_PDC:
+ {
+ XEN_GUEST_HANDLE(uint32) pdc;
+
+ guest_from_compat_handle(pdc, op->u.set_pminfo.u.pdc);
+ ret = acpi_set_pdc_bits(op->u.set_pminfo.id, pdc);
+ }
+ break;
+
default:
ret = -EINVAL;
break;
--- a/xen/drivers/acpi/pmstat.c
+++ b/xen/drivers/acpi/pmstat.c
@@ -572,3 +572,34 @@ int do_pm_op(struct xen_sysctl_pm_op *op
return ret;
}
+
+int acpi_set_pdc_bits(u32 acpi_id, XEN_GUEST_HANDLE(uint32) pdc)
+{
+ u32 bits[3];
+ int ret;
+
+ if ( copy_from_guest(bits, pdc, 2) )
+ ret = -EFAULT;
+ else if ( bits[0] != ACPI_PDC_REVISION_ID || !bits[1] )
+ ret = -EINVAL;
+ else if ( copy_from_guest_offset(bits + 2, pdc, 2, 1) )
+ ret = -EFAULT;
+ else
+ {
+ u32 mask = 0;
+
+ if ( xen_processor_pmbits & XEN_PROCESSOR_PM_CX )
+ mask |= ACPI_PDC_C_MASK | ACPI_PDC_SMP_C1PT;
+ if ( xen_processor_pmbits & XEN_PROCESSOR_PM_PX )
+ mask |= ACPI_PDC_P_MASK | ACPI_PDC_SMP_C1PT;
+ if ( xen_processor_pmbits & XEN_PROCESSOR_PM_TX )
+ mask |= ACPI_PDC_T_MASK | ACPI_PDC_SMP_C1PT;
+ bits[2] &= (ACPI_PDC_C_MASK | ACPI_PDC_P_MASK | ACPI_PDC_T_MASK |
+ ACPI_PDC_SMP_C1PT) & ~mask;
+ ret = arch_acpi_set_pdc_bits(acpi_id, bits, mask);
+ }
+ if ( !ret )
+ ret = copy_to_guest_offset(pdc, 2, bits + 2, 1);
+
+ return ret;
+}
--- a/xen/include/acpi/cpufreq/processor_perf.h
+++ b/xen/include/acpi/cpufreq/processor_perf.h
@@ -3,10 +3,10 @@
#include
#include
+#include
#define XEN_PX_INIT 0x80000000
-int get_cpu_id(u32);
int powernow_cpufreq_init(void);
unsigned int powernow_register_driver(void);
--- a/xen/include/acpi/pdc_intel.h
+++ b/xen/include/acpi/pdc_intel.h
@@ -4,6 +4,8 @@
#ifndef __PDC_INTEL_H__
#define __PDC_INTEL_H__
+#define ACPI_PDC_REVISION_ID 1
+
#define ACPI_PDC_P_FFH (0x0001)
#define ACPI_PDC_C_C1_HALT (0x0002)
#define ACPI_PDC_T_FFH (0x0004)
@@ -14,6 +16,7 @@
#define ACPI_PDC_SMP_T_SWCOORD (0x0080)
#define ACPI_PDC_C_C1_FFH (0x0100)
#define ACPI_PDC_C_C2C3_FFH (0x0200)
+#define ACPI_PDC_SMP_P_HWCOORD (0x0800)
#define ACPI_PDC_EST_CAPABILITY_SMP (ACPI_PDC_SMP_C1PT | \
ACPI_PDC_C_C1_HALT | \
@@ -22,6 +25,7 @@
#define ACPI_PDC_EST_CAPABILITY_SWSMP (ACPI_PDC_SMP_C1PT | \
ACPI_PDC_C_C1_HALT | \
ACPI_PDC_SMP_P_SWCOORD | \
+ ACPI_PDC_SMP_P_HWCOORD | \
ACPI_PDC_P_FFH)
#define ACPI_PDC_C_CAPABILITY_SMP (ACPI_PDC_SMP_C2C3 | \
@@ -30,4 +34,17 @@
ACPI_PDC_C_C1_FFH | \
ACPI_PDC_C_C2C3_FFH)
+#define ACPI_PDC_C_MASK (ACPI_PDC_C_C1_HALT | \
+ ACPI_PDC_C_C1_FFH | \
+ ACPI_PDC_SMP_C2C3 | \
+ ACPI_PDC_SMP_C_SWCOORD | \
+ ACPI_PDC_C_C2C3_FFH)
+
+#define ACPI_PDC_P_MASK (ACPI_PDC_P_FFH | \
+ ACPI_PDC_SMP_P_SWCOORD | \
+ ACPI_PDC_SMP_P_HWCOORD)
+
+#define ACPI_PDC_T_MASK (ACPI_PDC_T_FFH | \
+ ACPI_PDC_SMP_T_SWCOORD)
+
#endif /* __PDC_INTEL_H__ */
--- a/xen/include/asm-x86/cpufeature.h
+++ b/xen/include/asm-x86/cpufeature.h
@@ -138,6 +138,10 @@
#define cpu_has(c, bit) test_bit(bit, (c)->x86_capability)
#define boot_cpu_has(bit) test_bit(bit, boot_cpu_data.x86_capability)
+#define CPUID_MWAIT_LEAF 5
+#define CPUID5_ECX_EXTENSIONS_SUPPORTED 0x1
+#define CPUID5_ECX_INTERRUPT_BREAK 0x2
+
#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
@@ -210,6 +210,7 @@ DEFINE_XEN_GUEST_HANDLE(xenpf_getidletim
#define XEN_PM_CX 0
#define XEN_PM_PX 1
#define XEN_PM_TX 2
+#define XEN_PM_PDC 3
/* Px sub info type */
#define XEN_PX_PCT 1
@@ -307,6 +308,7 @@ struct xenpf_set_processor_pminfo {
union {
struct xen_processor_power power;/* Cx: _CST/_CSD */
struct xen_processor_performance perf; /* Px: _PPC/_PCT/_PSS/_PSD */
+ XEN_GUEST_HANDLE(uint32) pdc; /* _PDC */
} u;
};
typedef struct xenpf_set_processor_pminfo xenpf_set_processor_pminfo_t;
--- a/xen/include/xen/acpi.h
+++ b/xen/include/xen/acpi.h
@@ -333,6 +333,8 @@ static inline int acpi_boot_table_init(v
#endif /*!CONFIG_ACPI_BOOT*/
+int get_cpu_id(u32 acpi_id);
+
unsigned int acpi_register_gsi (u32 gsi, int edge_level, int active_high_low);
int acpi_gsi_to_irq (u32 gsi, unsigned int *irq);
@@ -430,6 +432,9 @@ static inline unsigned int acpi_get_csta
static inline void acpi_set_cstate_limit(unsigned int new_limit) { return; }
#endif
+int acpi_set_pdc_bits(u32 acpi_id, XEN_GUEST_HANDLE(uint32));
+int arch_acpi_set_pdc_bits(u32 acpi_id, u32 *, u32 mask);
+
#ifdef CONFIG_ACPI_NUMA
int acpi_get_pxm(acpi_handle handle);
#else
++++++ 23795-intel-ich10-quirk.patch ++++++
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.0.3-testing/xen/arch/x86/dmi_scan.c
===================================================================
--- xen-4.0.3-testing.orig/xen/arch/x86/dmi_scan.c
+++ xen-4.0.3-testing/xen/arch/x86/dmi_scan.c
@@ -9,6 +9,8 @@
#include
#include
#include
+#include
+#include
#define bt_ioremap(b,l) ((u8 *)__acpi_map_table(b,l))
#define bt_iounmap(b,l) ((void)0)
@@ -188,6 +190,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)
@@ -275,6 +299,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
++++++ 23800-x86_64-guest-addr-range.patch ++++++
# 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.0.3-testing/xen/include/asm-x86/x86_64/uaccess.h
===================================================================
--- xen-4.0.3-testing.orig/xen/include/asm-x86/x86_64/uaccess.h
+++ xen-4.0.3-testing/xen/include/asm-x86/x86_64/uaccess.h
@@ -19,7 +19,7 @@ int setup_compat_arg_xlat(unsigned int c
* 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) \
++++++ 23803-intel-pmu-models.patch ++++++
References: bnc#715655
# HG changeset patch
# User Dietmar Hahn
# Date 1314800265 -3600
# Node ID 51983821efa4db4040ae1c5063a4404791597699
# Parent bb9b810087337479d8de834d4f19fed4bc3e2dbc
vpmu: Add processors Westmere E7-8837 and SandyBridge i5-2500 to the vpmu list
Signed-off-by: Dietmar Hahn
Index: xen-4.0.3-testing/xen/arch/x86/hvm/vmx/vpmu.c
===================================================================
--- xen-4.0.3-testing.orig/xen/arch/x86/hvm/vmx/vpmu.c
+++ xen-4.0.3-testing/xen/arch/x86/hvm/vmx/vpmu.c
@@ -96,7 +96,9 @@ void vpmu_initialise(struct vcpu *v)
case 23:
case 26:
case 29:
+ case 42:
case 46:
+ case 47:
vpmu->arch_vpmu_ops = &core2_vpmu_ops;
break;
}
++++++ 23804-x86-IPI-counts.patch ++++++
# 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
--- a/xen/arch/x86/apic.c
+++ b/xen/arch/x86/apic.c
@@ -1327,6 +1327,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);
}
@@ -1339,6 +1340,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();
/*
* Check if this really is a spurious interrupt and ACK it
@@ -1365,6 +1367,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);
@@ -1397,6 +1400,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);
}
--- a/xen/arch/x86/cpu/mcheck/mce_intel.c
+++ b/xen/arch/x86/cpu/mcheck/mce_intel.c
@@ -83,6 +83,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();
@@ -977,6 +978,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(
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -533,6 +533,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();
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -210,6 +210,7 @@ fastcall void smp_invalidate_interrupt(v
{
ack_APIC_irq();
perfc_incr(ipis);
+ this_cpu(irq_count)++;
irq_enter();
if ( !__sync_lazy_execstate() ||
(flush_flags & (FLUSH_TLB_GLOBAL | FLUSH_CACHE)) )
@@ -375,6 +376,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);
}
@@ -411,6 +413,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);
}
++++++ 23957-cpufreq-error-paths.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1318580154 -7200
# Node ID de316831471a8e0f11f615e7bf336dee2ba811e7
# Parent a65693f9fb1250ff4819774a70284693705db9e7
cpufreq: error path fixes
This fixes an actual bug (failure to exit from a function after an
allocation failure), an inconsistency (not removing the cpufreq_dom
list member upon failure), and a latent bug (not clearing the current
governor upon governor initialization failure when there was no old
one; latent because the only current code path leading to this
situation frees the policy upon failure and hence the governor not
getting cleared is benign).
Signed-off-by: Jan Beulich
Acked-by: Keir Fraser
--- a/xen/drivers/cpufreq/cpufreq.c
+++ b/xen/drivers/cpufreq/cpufreq.c
@@ -193,8 +193,10 @@ int cpufreq_add_cpu(unsigned int cpu)
if (!domexist || hw_all) {
policy = xmalloc(struct cpufreq_policy);
- if (!policy)
+ if (!policy) {
ret = -ENOMEM;
+ goto err0;
+ }
memset(policy, 0, sizeof(struct cpufreq_policy));
policy->cpu = cpu;
@@ -204,7 +206,7 @@ int cpufreq_add_cpu(unsigned int cpu)
if (ret) {
xfree(policy);
cpufreq_cpu_policy[cpu] = NULL;
- return ret;
+ goto err0;
}
if (cpufreq_verbose)
printk("CPU %u initialization completed\n", cpu);
@@ -261,7 +263,7 @@ err1:
cpufreq_driver->exit(policy);
xfree(policy);
}
-
+err0:
if (cpus_empty(cpufreq_dom->map)) {
list_del(&cpufreq_dom->node);
xfree(cpufreq_dom);
--- a/xen/drivers/cpufreq/utility.c
+++ b/xen/drivers/cpufreq/utility.c
@@ -436,8 +436,8 @@ int __cpufreq_set_policy(struct cpufreq_
data->governor->name);
/* new governor failed, so re-start old one */
+ data->governor = old_gov;
if (old_gov) {
- data->governor = old_gov;
__cpufreq_governor(data, CPUFREQ_GOV_START);
printk(KERN_WARNING "Still stay at %s governor\n",
data->governor->name);
++++++ 23993-x86-microcode-amd-fix-23871.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1319475620 -3600
# Node ID e458dfc35b8d3be04a9b72c30ff97163e27a7314
# Parent ffe861c1d5dfa8f4485052e5600e06124105033f
x86/ucode-amd: fix regression from c/s 23871:503ee256fecf
microcode_fits() must return distinct values for the success and
no-fit-but-no-error cases, so the caller can react accordingly. Make
it return 1 in the success case, and adjust its single caller.
Also remove an impossible code path - install_equiv_cpu_table(), which
gets called prior to microcode_fits(), never leaves equiv_cpu_table
being NULL without also returning an error.
Note that this is still awaiting testing on a system where the
regression was actually observed (which also requires a new enough
microcode_ctl package). Note also that this will need to be
backported to 4.0 and 4.1 (or the broken c/s that got backported
there reverted).
Signed-off-by: Jan Beulich
Committed-by: Keir Fraser
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
@@ -77,14 +77,6 @@ static int microcode_fits(void *mc, int
/* We should bind the task to the CPU */
BUG_ON(cpu != raw_smp_processor_id());
- if ( equiv_cpu_table == NULL )
- {
- printk(KERN_INFO "microcode: CPU%d microcode update with "
- "version 0x%x (current=0x%x)\n",
- cpu, mc_header->patch_id, uci->cpu_sig.rev);
- goto out;
- }
-
current_cpu_id = cpuid_eax(0x00000001);
for ( i = 0; equiv_cpu_table[i].installed_cpu != 0; i++ )
@@ -97,7 +89,7 @@ static int microcode_fits(void *mc, int
}
if ( !equiv_cpu_id )
- return 0;
+ return 0;
if ( (mc_header->processor_rev_id) != equiv_cpu_id )
{
@@ -114,8 +106,7 @@ static int microcode_fits(void *mc, int
"update with version 0x%x (current=0x%x)\n",
cpu, mc_header->patch_id, uci->cpu_sig.rev);
-out:
- return 0;
+ return 1;
}
static int apply_microcode(int cpu)
@@ -290,7 +281,7 @@ static int cpu_request_microcode(int cpu
while ( (ret = get_next_ucode_from_buffer_amd(mc, buf, size, &offset)) == 0)
{
error = microcode_fits(mc, cpu);
- if (error != 0)
+ if (error <= 0)
continue;
error = apply_microcode(cpu);
++++++ 24123-x86-cpuidle-quiesce.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1321017916 -3600
# Node ID 8b08b2166aa82e7df0b1fa620ed57078810f8c12
# Parent 4699decb8424a00447c466205be3cb4d0fb95a76
x86: quiesce cpuidle code
So far these messages got pointlessly (as the code in other places
assumes symmetric configuration) emitted once per CPU. Hide the debug
one behind opt_cpu_info, and issue the info one just once (if the code
gets adjusted to support assymtric configurations, this would need to
be revisited, but ideally without producing per-CPU messages again).
Signed-off-by: Jan Beulich
Acked-by: Keir Fraser
--- a/xen/arch/x86/acpi/cpu_idle.c
+++ b/xen/arch/x86/acpi/cpu_idle.c
@@ -500,6 +500,8 @@ static int acpi_processor_ffh_cstate_pro
unsigned int edx_part;
unsigned int cstate_type; /* C-state type and not ACPI C-state type */
unsigned int num_cstate_subtype;
+ int ret = 0;
+ static unsigned long printed;
if ( c->cpuid_level < CPUID_MWAIT_LEAF )
{
@@ -508,8 +510,9 @@ static int acpi_processor_ffh_cstate_pro
}
cpuid(CPUID_MWAIT_LEAF, &eax, &ebx, &ecx, &edx);
- printk(XENLOG_DEBUG "cpuid.MWAIT[.eax=%x, .ebx=%x, .ecx=%x, .edx=%x]\n",
- eax, ebx, ecx, edx);
+ if ( opt_cpu_info )
+ printk(XENLOG_DEBUG "cpuid.MWAIT[eax=%x ebx=%x ecx=%x edx=%x]\n",
+ eax, ebx, ecx, edx);
/* Check whether this particular cx_type (in CST) is supported or not */
cstate_type = (cx->reg.address >> MWAIT_SUBSTATE_SIZE) + 1;
@@ -517,15 +520,16 @@ static int acpi_processor_ffh_cstate_pro
num_cstate_subtype = edx_part & MWAIT_SUBSTATE_MASK;
if ( num_cstate_subtype < (cx->reg.address & MWAIT_SUBSTATE_MASK) )
- return -EFAULT;
-
+ ret = -ERANGE;
/* mwait ecx extensions INTERRUPT_BREAK should be supported for C2/C3 */
- if ( !(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED) ||
- !(ecx & CPUID5_ECX_INTERRUPT_BREAK) )
- return -EFAULT;
-
- printk(XENLOG_INFO "Monitor-Mwait will be used to enter C-%d state\n", cx->type);
- return 0;
+ else if ( !(ecx & CPUID5_ECX_EXTENSIONS_SUPPORTED) ||
+ !(ecx & CPUID5_ECX_INTERRUPT_BREAK) )
+ ret = -ENODEV;
+ else if ( opt_cpu_info || cx->type >= BITS_PER_LONG ||
+ !test_and_set_bit(cx->type, &printed) )
+ printk(XENLOG_INFO "Monitor-Mwait will be used to enter C%d state\n",
+ cx->type);
+ return ret;
}
/*
++++++ 24124-x86-microcode-amd-quiesce.patch ++++++
References: bnc#719700
# HG changeset patch
# User Jan Beulich
# Date 1321018008 -3600
# Node ID 69f8b6f4c29cb2fb2d11e27c391090f543e6b393
# Parent 8b08b2166aa82e7df0b1fa620ed57078810f8c12
x86/amd-ucode: further turn down verbosity
Turn up the log level on various (mostly debug-only) messages.
Signed-off-by: Jan Beulich
Acked-by: Keir Fraser
--- a/xen/arch/x86/microcode_amd.c
+++ b/xen/arch/x86/microcode_amd.c
@@ -60,7 +60,7 @@ static int collect_cpu_info(int cpu, str
rdmsr(MSR_AMD_PATCHLEVEL, csig->rev, dummy);
- printk(KERN_INFO "microcode: collect_cpu_info: patch_id=0x%x\n",
+ printk(KERN_DEBUG "microcode: collect_cpu_info: patch_id=0x%x\n",
csig->rev);
return 0;
@@ -93,7 +93,7 @@ static int microcode_fits(void *mc, int
if ( (mc_header->processor_rev_id) != equiv_cpu_id )
{
- printk(KERN_INFO "microcode: CPU%d patch does not match "
+ printk(KERN_DEBUG "microcode: CPU%d patch does not match "
"(patch is %x, cpu base id is %x) \n",
cpu, mc_header->processor_rev_id, equiv_cpu_id);
return -EINVAL;
@@ -102,7 +102,7 @@ static int microcode_fits(void *mc, int
if ( mc_header->patch_id <= uci->cpu_sig.rev )
return -EINVAL;
- printk(KERN_INFO "microcode: CPU%d found a matching microcode "
+ printk(KERN_DEBUG "microcode: CPU%d found a matching microcode "
"update with version 0x%x (current=0x%x)\n",
cpu, mc_header->patch_id, uci->cpu_sig.rev);
@@ -140,8 +140,7 @@ static int apply_microcode(int cpu)
return -EIO;
}
- printk("microcode: CPU%d updated from revision "
- "0x%x to 0x%x \n",
+ printk(KERN_INFO "microcode: CPU%d updated from revision %#x to %#x\n",
cpu, uci->cpu_sig.rev, mc_amd->hdr.patch_id);
uci->cpu_sig.rev = rev;
@@ -174,7 +173,7 @@ static int get_next_ucode_from_buffer_am
total_size = (unsigned long) (bufp[off+4] + (bufp[off+5] << 8));
- printk(KERN_INFO "microcode: size %lu, total_size %lu, offset %ld\n",
+ printk(KERN_DEBUG "microcode: size %lu, total_size %lu, offset %ld\n",
(unsigned long)size, total_size, off);
if ( (off + total_size) > size )
++++++ 24148-shadow-pgt-dying-op-performance.patch ++++++
References: bnc#726332
# HG changeset patch
# User Gianluca Guida
# Date 1321456773 0
# Node ID 3ecc8fef428138e4304ef11b47498981e63626b3
# Parent a5f1d3b1612bb48e1cb09dc66b0909e3613dc855
[shadow] Disable higher level pagetables early unshadow only when the "process dying" hypercall is used.
This patch fixes a performance problem in fully virtualized guests.
Signed-off-by: Gianluca Guida
Tested-by: Jan Beulich
Committed-by: Keir Fraser
--- a/xen/arch/x86/mm/shadow/multi.c
+++ b/xen/arch/x86/mm/shadow/multi.c
@@ -2710,8 +2710,9 @@ static inline void check_for_early_unsha
|| ( !v->domain->arch.paging.shadow.pagetable_dying_op
&& v->arch.paging.shadow.last_emulated_mfn_for_unshadow == mfn_x(gmfn) ) )
&& sh_mfn_is_a_page_table(gmfn)
- && !(mfn_to_page(gmfn)->shadow_flags
- & (SHF_L2_32|SHF_L2_PAE|SHF_L2H_PAE|SHF_L4_64)) )
+ && (!v->domain->arch.paging.shadow.pagetable_dying_op ||
+ !(mfn_to_page(gmfn)->shadow_flags
+ & (SHF_L2_32|SHF_L2_PAE|SHF_L2H_PAE|SHF_L4_64))) )
{
perfc_incr(shadow_early_unshadow);
sh_remove_shadows(v, gmfn, 1, 0 /* Fast, can fail to unshadow */ );
++++++ 24155-x86-ioapic-EOI-after-migration.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1321604321 -3600
# Node ID 0d50e704834fb53c6c86b8b0badd19d88e73c4ed
# Parent dbdc840f8f62db58321b5009e5e0f7833066386f
x86/IO-APIC: refine EOI-ing of migrating level interrupts
Rather than going through all IO-APICs and calling io_apic_eoi_vector()
for the vector in question, just use eoi_IO_APIC_irq().
This in turn allows to eliminate quite a bit of other code.
Signed-off-by: Jan Beulich
Tested-by: Andrew Cooper
Acked-by: Andrew Cooper
--- a/xen/arch/x86/io_apic.c
+++ b/xen/arch/x86/io_apic.c
@@ -73,10 +73,6 @@ int disable_timer_pin_1 __initdata;
#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)
*
@@ -212,21 +208,18 @@ 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
+/* EOI an IO-APIC entry. Vector may be zero, indicating that it should be
+ * worked out using the pin. This function expects that the ioapic_lock is
+ * being held, 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 )
+ if ( !vector )
vector = __ioapic_read_entry(apic, pin, TRUE).vector;
*(IO_APIC_BASE(apic)+16) = vector;
@@ -238,42 +231,6 @@ static void __io_apic_eoi(unsigned int a
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 )
@@ -300,17 +257,6 @@ static void __io_apic_eoi(unsigned int a
}
}
-/* 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
*/
@@ -1829,11 +1775,7 @@ static void end_level_ioapic_irq (unsign
/* Manually EOI the old vector if we are moving to the new */
if ( vector && i != vector )
- {
- int ioapic;
- for (ioapic = 0; ioapic < nr_ioapics; ioapic++)
- io_apic_eoi_vector(ioapic, i);
- }
+ eoi_IO_APIC_irq(irq);
v = apic_read(APIC_TMR + ((i & ~0x1f) >> 1));
++++++ 24168-x86-vioapic-clear-remote_irr.patch ++++++
References: bnc#694863
# HG changeset patch
# User Jan Beulich
# Date 1321864171 -3600
# Node ID 9c350ab8d3ea64866421de756ab2bf3daaf63187
# Parent 335e8273a3f34a5e2972643a028f83684609f1c1
x86/vioapic: clear remote IRR when switching RTE to edge triggered mode
Xen itself (as much as Linux) relies on this behavior, so it should
also emulate it properly. Not doing so reportedly gets in the way of
kexec inside a HVM guest.
Signed-off-by: Jan Beulich
Tested-by: Olaf Hering
--- a/xen/arch/x86/hvm/vioapic.c
+++ b/xen/arch/x86/hvm/vioapic.c
@@ -153,8 +153,9 @@ static void vioapic_write_redirent(
{
vlapic_adjust_i8259_target(d);
}
- else if ( (ent.fields.trig_mode == VIOAPIC_LEVEL_TRIG) &&
- !ent.fields.mask &&
+ else if ( ent.fields.trig_mode == VIOAPIC_EDGE_TRIG )
+ pent->fields.remote_irr = 0;
+ else if ( !ent.fields.mask &&
!ent.fields.remote_irr &&
hvm_irq->gsi_assert_count[idx] )
{
++++++ 24190-hap-log-dirty-disable-rc.patch ++++++
# HG changeset patch
# User Andres Lagar-Cavilla
# Date 1322148057 0
# Node ID 6b3d8250ee2c63d90680c142549123a4b1559f55
# Parent 7da681c490e0a8a2b3f1fb311d254dc7ce618a43
x86/mm: change return code for log-dirty disabling
Disabling log dirty mode in HAP always returns -EINVAL. Make it
return the correct rc on success.
Signed-off-by: Andres Lagar-Cavilla
Signed-off-by: Tim Deegan
Committed-by: Tim Deegan
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -678,6 +678,8 @@ int hap_domctl(struct domain *d, xen_dom
return rc;
case XEN_DOMCTL_SHADOW_OP_GET_ALLOCATION:
sc->mb = hap_get_allocation(d);
+ /* Fall through... */
+ case XEN_DOMCTL_SHADOW_OP_OFF:
return 0;
default:
HAP_ERROR("Bad hap domctl op %u\n", sc->op);
++++++ 24193-hap-track-dirty-vram-rc.patch ++++++
# HG changeset patch
# User Andres Lagar-Cavilla
# Date 1322149491 0
# Node ID 67d2ac426defedad9c10eb339019f9dc9f02d2ae
# Parent 3c864e04c2ad060ca1cac6579994777993fef6e6
Trivial fix for rc val in hap track dirty vram
Signed-off-by: Andres Lagar-Cavilla
Committed-by: Keir Fraser
--- a/xen/arch/x86/mm/hap/hap.c
+++ b/xen/arch/x86/mm/hap/hap.c
@@ -143,7 +143,7 @@ int hap_track_dirty_vram(struct domain *
}
else if ( !paging_mode_log_dirty(d) && !dirty_vram )
{
- rc -ENOMEM;
+ rc = -ENOMEM;
if ( (dirty_vram = xmalloc(struct sh_dirty_vram)) == NULL )
goto param_fail;
++++++ 24201-x86-pcpu-platform-op.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1322153786 -3600
# Node ID 9c6bea25f71233787a36893deaf0e811f2dcb8d8
# Parent 480531cab3f4468b1ec9b549bc84d66e420ce685
x86: small fixes to pcpu platform op handling
XENPF_get_cpuinfo should init the flags output field rather than only
modify it.
XENPF_cpu_online must check for the input CPU number to be in range.
XENPF_cpu_offline must also do that, and should also reject attempts to
offline CPU 0 (this fails in cpu_down() too, but preventing this here
appears more correct given that the code here calls
continue_hypercall_on_cpu(0, ...), which would be flawed if cpu_down()
would ever allow bringing down CPU 0 (and a distinct error code is
easier to deal with when debugging issues).
Signed-off-by: Jan Beulich
Acked-by: Keir Fraser
--- a/xen/arch/x86/platform_hypercall.c
+++ b/xen/arch/x86/platform_hypercall.c
@@ -427,13 +427,14 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
if ( (g_info->xen_cpuid >= NR_CPUS) ||
!cpu_present(g_info->xen_cpuid) )
{
- g_info->flags |= XEN_PCPU_FLAGS_INVALID;
+ g_info->flags = XEN_PCPU_FLAGS_INVALID;
}
else
{
g_info->apic_id = x86_cpu_to_apicid[g_info->xen_cpuid];
g_info->acpi_id = acpi_get_processor_id(g_info->xen_cpuid);
ASSERT(g_info->apic_id != BAD_APICID);
+ g_info->flags = 0;
if (cpu_online(g_info->xen_cpuid))
g_info->flags |= XEN_PCPU_FLAGS_ONLINE;
}
@@ -451,7 +452,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
int cpu;
cpu = op->u.cpu_ol.cpuid;
- if (!cpu_present(cpu))
+ if ( cpu >= NR_CPUS || !cpu_present(cpu) )
{
ret = -EINVAL;
break;
@@ -471,7 +472,13 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
int cpu;
cpu = op->u.cpu_ol.cpuid;
- if (!cpu_present(cpu))
+ if ( cpu == 0 )
+ {
+ ret = -EOPNOTSUPP;
+ break;
+ }
+
+ if ( cpu >= NR_CPUS || !cpu_present(cpu) )
{
ret = -EINVAL;
break;
++++++ 24282-x86-log-dirty-bitmap-leak.patch ++++++
# HG changeset patch
# User Tim Deegan
# Date 1322749036 0
# Node ID a06cda9fb25f2d7b7b5c7da170813e4a8bb0cd67
# Parent 75f4e4d9f039ea656051e6dfd73e40d4cb32896b
x86/mm: Don't lose track of the log dirty bitmap
hap_log_dirty_init unconditionally sets the top of the log dirty
bitmap to INVALID_MFN. If there had been a bitmap allocated, it is
then leaked, and the host crashes on an ASSERT when the domain is
cleaned up.
Signed-off-by: Tim Deegan
Acked-by: Andres Lagar-Cavilla
Committed-by: Tim Deegan
--- a/xen/arch/x86/mm/paging.c
+++ b/xen/arch/x86/mm/paging.c
@@ -621,7 +621,6 @@ void paging_log_dirty_init(struct domain
d->arch.paging.log_dirty.enable_log_dirty = enable_log_dirty;
d->arch.paging.log_dirty.disable_log_dirty = disable_log_dirty;
d->arch.paging.log_dirty.clean_dirty_bitmap = clean_dirty_bitmap;
- d->arch.paging.log_dirty.top = _mfn(INVALID_MFN);
}
/* This function fress log dirty bitmap resources. */
@@ -642,6 +641,11 @@ int paging_domain_init(struct domain *d,
if ( (rc = p2m_init(d)) != 0 )
return rc;
+ /* This must be initialized separately from the rest of the
+ * log-dirty init code as that can be called more than once and we
+ * don't want to leak any active log-dirty bitmaps */
+ d->arch.paging.log_dirty.top = _mfn(INVALID_MFN);
+
/* The order of the *_init calls below is important, as the later
* ones may rewrite some common fields. Shadow pagetables are the
* default... */
++++++ 24344-tools-x86_64_Fix_cpuid_inline_asm_to_not_clobber_stacks_red_zone.patch ++++++
# HG changeset patch
# User Keir Fraser
# Date 1322836274 28800
# Node ID 72f4e4cb7440c6ab64d4c08dfdc3158112cc95ac
# Parent 109b99239b21275ee2249873dcdb9a413741142d
tools/x86_64: Fix cpuid() inline asm to not clobber stack's red zone
Pushing stuff onto the stack on x86-64 when we do not specify
-mno-red-zone is unsafe. Since the complicated asm is due to register
pressure on i386, we simply implement an all-new simpler alternative
for x86-64.
Signed-off-by: Keir Fraser
Acked-by: Jan Beulich
# HG changeset patch
# User Keir Fraser
# Date 1322844002 28800
# Node ID 491c3ebf1d371d03fdd0aabe82b0f422037c67ba
# Parent 72f4e4cb7440c6ab64d4c08dfdc3158112cc95ac
tools/libxc: Fix x86_32 build breakage in previous changeset.
Signed-off-by: Keir Fraser
--- a/tools/libxc/xc_cpuid_x86.c
+++ b/tools/libxc/xc_cpuid_x86.c
@@ -41,23 +41,23 @@ static int hypervisor_is_64bit(int xc)
static void cpuid(const unsigned int *input, unsigned int *regs)
{
unsigned int count = (input[1] == XEN_CPUID_INPUT_UNUSED) ? 0 : input[1];
- asm (
#ifdef __i386__
+ /* Use the stack to avoid reg constraint failures with some gcc flags */
+ asm (
"push %%ebx; push %%edx\n\t"
-#else
- "push %%rbx; push %%rdx\n\t"
-#endif
"cpuid\n\t"
"mov %%ebx,4(%4)\n\t"
"mov %%edx,12(%4)\n\t"
-#ifdef __i386__
"pop %%edx; pop %%ebx\n\t"
-#else
- "pop %%rdx; pop %%rbx\n\t"
-#endif
: "=a" (regs[0]), "=c" (regs[2])
: "0" (input[0]), "1" (count), "S" (regs)
: "memory" );
+#else
+ asm (
+ "cpuid"
+ : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3])
+ : "0" (input[0]), "2" (count) );
+#endif
}
/* Get the manufacturer brand name of the host processor. */
--- a/tools/misc/xen-detect.c
+++ b/tools/misc/xen-detect.c
@@ -35,18 +35,21 @@
static void cpuid(uint32_t idx, uint32_t *regs, int pv_context)
{
- asm volatile (
#ifdef __i386__
-#define R(x) "%%e"#x"x"
-#else
-#define R(x) "%%r"#x"x"
-#endif
- "push "R(a)"; push "R(b)"; push "R(c)"; push "R(d)"\n\t"
+ /* Use the stack to avoid reg constraint failures with some gcc flags */
+ asm volatile (
+ "push %%eax; push %%ebx; push %%ecx; push %%edx\n\t"
"test %1,%1 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid\n\t"
"mov %%eax,(%2); mov %%ebx,4(%2)\n\t"
"mov %%ecx,8(%2); mov %%edx,12(%2)\n\t"
- "pop "R(d)"; pop "R(c)"; pop "R(b)"; pop "R(a)"\n\t"
+ "pop %%edx; pop %%ecx; pop %%ebx; pop %%eax\n\t"
: : "a" (idx), "c" (pv_context), "S" (regs) : "memory" );
+#else
+ asm volatile (
+ "test %5,%5 ; jz 1f ; ud2a ; .ascii \"xen\" ; 1: cpuid\n\t"
+ : "=a" (regs[0]), "=b" (regs[1]), "=c" (regs[2]), "=d" (regs[3])
+ : "0" (idx), "1" (pv_context), "2" (0) );
+#endif
}
static int check_for_xen(int pv_context)
++++++ 24358-kexec-compat-overflow.patch ++++++
# HG changeset patch
# User Andrew Cooper
# Date 1323114166 0
# Node ID 9961a6d5356a57685b06f65133c6ade5041e3356
# Parent 832fa3f3543298a7125cd5f996d1e28dd7ba47b1
KEXEC: fix kexec_get_range_compat to fail vocally.
Fail with -ERANGE rather than silently truncating 64bit values (a
physical address and size) into 32bit integers for dom0 to consume.
Signed-off-by: Andrew Cooper
Simplify the bitwise arithmetic a bit.
Signed-off-by: Keir Fraser
--- a/xen/common/kexec.c
+++ b/xen/common/kexec.c
@@ -389,6 +389,10 @@ static int kexec_get_range_compat(XEN_GU
ret = kexec_get_range_internal(&range);
+ /* Dont silently truncate physical addresses or sizes. */
+ if ( (range.start | range.size) & ~(unsigned long)(~0u) )
+ return -ERANGE;
+
if ( ret == 0 ) {
XLAT_kexec_range(&compat_range, &range);
if ( unlikely(copy_to_guest(uarg, &compat_range, 1)) )
++++++ 24360-x86-pv-domU-no-PCID.patch ++++++
# HG changeset patch
# User Liu, Jinsong
# Date 1323170884 0
# Node ID d313582d4fa2157332f1d50e599aebca36c41b3b
# Parent a0befa32e927cc147aaee9bce42c51f53580a875
X86: Disable PCID/INVPCID for pv
This patch disable PCID/INVPCID for pv.
Signed-off-by: Liu, Jinsong
Committed-by: Keir Fraser
--- a/tools/libxc/xc_cpufeature.h
+++ b/tools/libxc/xc_cpufeature.h
@@ -79,6 +79,7 @@
#define X86_FEATURE_CX16 (4*32+13) /* CMPXCHG16B */
#define X86_FEATURE_XTPR (4*32+14) /* Send Task Priority Messages */
#define X86_FEATURE_PDCM (4*32+15) /* Perf/Debug Capability MSR */
+#define X86_FEATURE_PCID (4*32+17) /* Process Context ID */
#define X86_FEATURE_DCA (4*32+18) /* Direct Cache Access */
#define X86_FEATURE_SSE4_1 (4*32+19) /* Streaming SIMD Extensions 4.1 */
#define X86_FEATURE_SSE4_2 (4*32+20) /* Streaming SIMD Extensions 4.2 */
--- a/tools/libxc/xc_cpuid_x86.c
+++ b/tools/libxc/xc_cpuid_x86.c
@@ -317,6 +317,7 @@ static void xc_cpuid_pv_policy(
clear_bit(X86_FEATURE_CX16, regs[2]);
clear_bit(X86_FEATURE_XTPR, regs[2]);
clear_bit(X86_FEATURE_PDCM, regs[2]);
+ clear_bit(X86_FEATURE_PCID, regs[2]);
clear_bit(X86_FEATURE_DCA, regs[2]);
clear_bit(X86_FEATURE_XSAVE, regs[2]);
set_bit(X86_FEATURE_HYPERVISOR, regs[2]);
++++++ 24389-amd-fam10-gart-tlb-walk-err.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1323765911 -3600
# Node ID 868d82faf6511de3b3edce18cc6a9e1c938f0b8f
# Parent 7ca56cca09ade16645fb4806be2c5b2b0bc3332b
x86, amd: Disable GartTlbWlkErr when BIOS forgets it
This patch disables GartTlbWlk errors on AMD Fam10h CPUs if the BIOS
forgets to do is (or is just too old). Letting these errors enabled
can cause a sync-flood on the CPU causing a reboot.
The AMD BKDG recommends disabling GART TLB Wlk Error completely.
Based on a Linux patch from Joerg Roedel ; see e.g.
https://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=patch;h=5bbc...
Signed-off-by: Jan Beulich
Acked-by: Keir Fraser
--- a/xen/arch/x86/cpu/mcheck/amd_f10.c
+++ b/xen/arch/x86/cpu/mcheck/amd_f10.c
@@ -46,6 +46,7 @@
#include
#include "mce.h"
+#include "mce_quirks.h"
#include "x86_mca.h"
@@ -85,9 +86,14 @@ amd_f10_handler(struct mc_info *mi, uint
/* AMD Family10 machine check */
enum mcheck_type amd_f10_mcheck_init(struct cpuinfo_x86 *c)
{
+ enum mcequirk_amd_flags quirkflag = mcequirk_lookup_amd_quirkdata(c);
+
if (amd_k8_mcheck_init(c) == mcheck_none)
return mcheck_none;
+ if (quirkflag == MCEQUIRK_F10_GART)
+ mcequirk_amd_apply(quirkflag);
+
x86_mce_callback_register(amd_f10_handler);
return mcheck_amd_famXX;
--- a/xen/arch/x86/cpu/mcheck/mce_amd_quirks.c
+++ b/xen/arch/x86/cpu/mcheck/mce_amd_quirks.c
@@ -17,6 +17,8 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
+#include
+#include
#include
#include
@@ -29,6 +31,8 @@ static const struct mce_quirkdata mce_am
MCEQUIRK_K7_BANK0 },
{ 0xf /* cpu family */, ANY /* all models */, ANY /* all steppings */,
MCEQUIRK_K8_GART },
+ { 0x10 /* cpu family */, ANY /* all models */, ANY /* all steppings */,
+ MCEQUIRK_F10_GART },
};
enum mcequirk_amd_flags
@@ -54,6 +58,8 @@ mcequirk_lookup_amd_quirkdata(struct cpu
int mcequirk_amd_apply(enum mcequirk_amd_flags flags)
{
+ u32 lo, hi;
+
switch (flags) {
case MCEQUIRK_K7_BANK0:
return 1; /* first bank */
@@ -67,6 +73,10 @@ int mcequirk_amd_apply(enum mcequirk_amd
wrmsrl(MSR_IA32_MC4_CTL, ~(1ULL << 10));
wrmsrl(MSR_IA32_MC4_STATUS, 0ULL);
break;
+ case MCEQUIRK_F10_GART:
+ if (rdmsr_safe(MSR_AMD64_MCx_MASK(4), lo, hi) == 0)
+ wrmsr_safe(MSR_AMD64_MCx_MASK(4), lo | (1 << 10), hi);
+ break;
}
return 0;
--- a/xen/arch/x86/cpu/mcheck/mce_quirks.h
+++ b/xen/arch/x86/cpu/mcheck/mce_quirks.h
@@ -33,8 +33,9 @@ struct mce_quirkdata {
*/
enum mcequirk_amd_flags {
- MCEQUIRK_K7_BANK0 = 0x1,
- MCEQUIRK_K8_GART = 0x2,
+ MCEQUIRK_K7_BANK0 = 1,
+ MCEQUIRK_K8_GART,
+ MCEQUIRK_F10_GART
};
enum mcequirk_intel_flags {
--- a/xen/include/asm-x86/msr-index.h
+++ b/xen/include/asm-x86/msr-index.h
@@ -98,6 +98,8 @@
#define CMCI_EN (1UL<<30)
#define CMCI_THRESHOLD_MASK 0x7FFF
+#define MSR_AMD64_MC0_MASK 0xc0010044
+
#define MSR_IA32_MC1_CTL 0x00000404
#define MSR_IA32_MC1_CTL2 0x00000281
#define MSR_IA32_MC1_STATUS 0x00000405
@@ -151,6 +153,8 @@
#define MSR_IA32_MCx_ADDR(x) (MSR_IA32_MC0_ADDR + 4*(x))
#define MSR_IA32_MCx_MISC(x) (MSR_IA32_MC0_MISC + 4*(x))
+#define MSR_AMD64_MCx_MASK(x) (MSR_AMD64_MC0_MASK + (x))
+
#define MSR_P6_PERFCTR0 0x000000c1
#define MSR_P6_PERFCTR1 0x000000c2
#define MSR_P6_EVNTSEL0 0x00000186
++++++ 24411-x86-ucode-AMD-Fam15.patch ++++++
References: bnc#736824
# HG changeset patch
# User Christoph Egger
# Date 1323943209 -3600
# Node ID ca5f588bd203c9207e0988fcc80f43d83eed5420
# Parent 25f8952313ae683f41b634163f62651185d7be38
x86/ucode: fix for AMD Fam15 CPUs
Remove hardcoded maximum size a microcode patch can have. This is
dynamic now.
The microcode patch for family15h can be larger than 2048 bytes and
gets silently truncated.
Signed-off-by: Christoph Egger
Signed-off-by: Jan Beulich
--- a/xen/arch/x86/microcode_amd.c
+++ b/xen/arch/x86/microcode_amd.c
@@ -27,18 +27,10 @@
#include
#include
-#define pr_debug(x...) ((void)0)
-
#define UCODE_MAGIC 0x00414d44
#define UCODE_EQUIV_CPU_TABLE_TYPE 0x00000000
#define UCODE_UCODE_TYPE 0x00000001
-#define UCODE_MAX_SIZE (2048)
-#define DEFAULT_UCODE_DATASIZE (896)
-#define MC_HEADER_SIZE (sizeof(struct microcode_header_amd))
-#define DEFAULT_UCODE_TOTALSIZE (DEFAULT_UCODE_DATASIZE + MC_HEADER_SIZE)
-#define DWSIZE (sizeof(uint32_t))
-
/* serialize access to the physical write */
static DEFINE_SPINLOCK(microcode_update_lock);
@@ -100,7 +92,7 @@ static int microcode_fits(void *mc, int
}
if ( mc_header->patch_id <= uci->cpu_sig.rev )
- return -EINVAL;
+ return 0;
printk(KERN_DEBUG "microcode: CPU%d found a matching microcode "
"update with version 0x%x (current=0x%x)\n",
@@ -148,8 +140,12 @@ static int apply_microcode(int cpu)
return 0;
}
-static int get_next_ucode_from_buffer_amd(void *mc, const void *buf,
- size_t size, unsigned long *offset)
+static int get_next_ucode_from_buffer_amd(
+ void **mc,
+ size_t *mc_size,
+ const void *buf,
+ size_t size,
+ unsigned long *offset)
{
struct microcode_header_amd *mc_header;
size_t total_size;
@@ -182,8 +178,17 @@ static int get_next_ucode_from_buffer_am
return -EINVAL;
}
- memset(mc, 0, UCODE_MAX_SIZE);
- memcpy(mc, (const void *)(&bufp[off + 8]), total_size);
+ if ( *mc_size < total_size )
+ {
+ xfree(*mc);
+ *mc = xmalloc_bytes(total_size);
+ if ( !*mc )
+ return -ENOMEM;
+ *mc_size = total_size;
+ }
+ else if ( *mc_size > total_size )
+ memset(*mc + total_size, 0, *mc_size - total_size);
+ memcpy(*mc, mc_header, total_size);
*offset = off + total_size + 8;
@@ -237,10 +242,10 @@ static int cpu_request_microcode(int cpu
{
const uint32_t *buf_pos;
unsigned long offset = 0;
- int error = 0;
- int ret;
+ int error;
struct ucode_cpu_info *uci = &per_cpu(ucode_cpu_info, cpu);
void *mc;
+ size_t mc_size;
/* We should bind the task to the CPU */
BUG_ON(cpu != raw_smp_processor_id());
@@ -261,7 +266,9 @@ static int cpu_request_microcode(int cpu
return -EINVAL;
}
- mc = xmalloc_bytes(UCODE_MAX_SIZE);
+ /* Size of 1st microcode patch in bytes */
+ mc_size = buf_pos[offset / sizeof(*buf_pos) + 1];
+ mc = xmalloc_bytes(mc_size);
if ( mc == NULL )
{
printk(KERN_ERR "microcode: error! "
@@ -277,24 +284,33 @@ static int cpu_request_microcode(int cpu
* It's possible the data file has multiple matching ucode,
* lets keep searching till the latest version
*/
- while ( (ret = get_next_ucode_from_buffer_amd(mc, buf, size, &offset)) == 0)
+ while ( (error = get_next_ucode_from_buffer_amd(&mc, &mc_size, buf, size,
+ &offset)) == 0 )
{
+ uci->mc.mc_amd = mc;
+
error = microcode_fits(mc, cpu);
if (error <= 0)
continue;
error = apply_microcode(cpu);
if (error == 0)
+ {
+ error = 1;
break;
+ }
}
/* On success keep the microcode patch for
* re-apply on resume.
*/
- if (error) {
+ if ( error <= 0 )
+ {
xfree(mc);
mc = NULL;
}
+ else
+ error = 0;
uci->mc.mc_amd = mc;
out:
++++++ 24412-x86-AMD-errata-model-shift.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1323955725 -3600
# Node ID 99caac2e35df41cbece606f663cb5570a62613c3
# Parent ca5f588bd203c9207e0988fcc80f43d83eed5420
x86/AMD: use correct shift count when merging model and stepping
... for legacy errata matching.
Signed-off-by: Jan Beulich
Acked-by: Keir Fraser
--- a/xen/arch/x86/cpu/amd.c
+++ b/xen/arch/x86/cpu/amd.c
@@ -223,7 +223,7 @@ int cpu_has_amd_erratum(const struct cpu
}
/* OSVW unavailable or ID unknown, match family-model-stepping range */
- ms = (cpu->x86_model << 8) | cpu->x86_mask;
+ ms = (cpu->x86_model << 4) | cpu->x86_mask;
while ((range = va_arg(ap, int))) {
if ((cpu->x86 == AMD_MODEL_RANGE_FAMILY(range)) &&
(ms >= AMD_MODEL_RANGE_START(range)) &&
++++++ 24417-x86-AMD-erratum-573.patch ++++++
# HG changeset patch
# User Jan Beulich
# Date 1324046740 -3600
# Node ID 1452fb248cd513832cfbbd1100b9b72a0dde7ea6
# Parent 01c8b27e3d7d4ad2b469be9922bb04b5eb0195e8
x86/emulator: workaround for AMD erratum 573
The only cases where we might end up emulating fsincos (as any other
x87 operations without memory operands) are
- when a HVM guest is in real mode (not applicable on AMD)
- between two half page table updates in PAE mode (unlikely, and not
doing the emulation here does affect only performance, not
correctness)
- when a guest maliciously (or erroneously) modifies an (MMIO or page
table update) instruction under emulation (unspecified behavior)
Hence, in order to avoid the erratum to cause harm to the entire host,
don't emulate fsincos on the affected AMD CPU families.
Signed-off-by: Jan Beulich
Acked-by: Keir Fraser
--- a/tools/tests/x86_emulate.c
+++ b/tools/tests/x86_emulate.c
@@ -3,5 +3,7 @@
#include
#include
+#define cpu_has_amd_erratum(nr) 0
+
#include "x86_emulate/x86_emulate.h"
#include "x86_emulate/x86_emulate.c"
--- a/xen/arch/x86/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate.c
@@ -10,8 +10,15 @@
*/
#include
+#include /* current_cpu_info */
+#include /* cpu_has_amd_erratum() */
/* Avoid namespace pollution. */
#undef cmpxchg
+#undef cpuid
+#undef wbinvd
+
+#define cpu_has_amd_erratum(nr) \
+ cpu_has_amd_erratum(¤t_cpu_data, AMD_ERRATUM_##nr)
#include "x86_emulate/x86_emulate.c"
--- a/xen/arch/x86/x86_emulate/x86_emulate.c
+++ b/xen/arch/x86/x86_emulate/x86_emulate.c
@@ -2577,6 +2577,9 @@ x86_emulate(
case 0xd9: /* FPU 0xd9 */
switch ( modrm )
{
+ case 0xfb: /* fsincos */
+ fail_if(cpu_has_amd_erratum(573));
+ /* fall through */
case 0xc0 ... 0xc7: /* fld %stN */
case 0xc8 ... 0xcf: /* fxch %stN */
case 0xd0: /* fnop */
@@ -2602,7 +2605,6 @@ x86_emulate(
case 0xf8: /* fprem */
case 0xf9: /* fyl2xp1 */
case 0xfa: /* fsqrt */
- case 0xfb: /* fsincos */
case 0xfc: /* frndint */
case 0xfd: /* fscale */
case 0xfe: /* fsin */
--- a/xen/include/asm-x86/amd.h
+++ b/xen/include/asm-x86/amd.h
@@ -134,5 +134,11 @@
AMD_OSVW_ERRATUM(3, AMD_MODEL_RANGE(0x10, 0x2, 0x1, 0xff, 0xf), \
AMD_MODEL_RANGE(0x12, 0x0, 0x0, 0x1, 0x0))
+#define AMD_ERRATUM_573 \
+ AMD_LEGACY_ERRATUM(AMD_MODEL_RANGE(0x0f, 0x0, 0x0, 0xff, 0xf), \
+ AMD_MODEL_RANGE(0x10, 0x0, 0x0, 0xff, 0xf), \
+ AMD_MODEL_RANGE(0x11, 0x0, 0x0, 0xff, 0xf), \
+ AMD_MODEL_RANGE(0x12, 0x0, 0x0, 0xff, 0xf))
+
int cpu_has_amd_erratum(const struct cpuinfo_x86 *, int, ...);
#endif /* __AMD_H__ */
++++++ 24478-libxl_add_feature_flag_to_xenstore_for_XS_RESET_WATCHES.patch ++++++
changeset: 24478:ef99b8571a6f
user: Olaf Hering
date: Thu Jan 05 19:40:40 2012 +0100
files: tools/libxl/libxl_create.c tools/python/xen/xend/XendDomainInfo.py
description:
libxl: add feature flag to xenstore for XS_RESET_WATCHES
Tell guest about availibilty of xenstoreds XS_RESET_WATCHES function.
Guests can not issue this command unconditionally because some buggy
toolstacks (such as EC2) do not ignore unknown commands properly.
Signed-off-by: Olaf Hering
Committed-by: Ian Jackson
Acked-by: Ian Jackson
---
tools/libxl/libxl.c | 1 +
tools/python/xen/xend/XendDomainInfo.py | 1 +
2 files changed, 2 insertions(+)
Index: xen-4.0.3-testing/tools/libxl/libxl.c
===================================================================
--- xen-4.0.3-testing.orig/tools/libxl/libxl.c
+++ xen-4.0.3-testing/tools/libxl/libxl.c
@@ -169,6 +169,7 @@ retry_transaction:
libxl_xs_writev(ctx, t, libxl_sprintf(ctx, "%s/platform", dom_path), info->platformdata);
xs_write(ctx->xsh, t, libxl_sprintf(ctx, "%s/control/platform-feature-multiprocessor-suspend", dom_path), "1", 1);
+ xs_write(ctx->xsh, t, libxl_sprintf(ctx, "%s/control/platform-feature-xs_reset_watches", dom_path), "1", 1);
if (!xs_transaction_end(ctx->xsh, t, 0))
if (errno == EAGAIN)
Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
+++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -1784,6 +1784,7 @@ class XendDomainInfo:
f('store/port', self.store_port)
f('store/ring-ref', self.store_mfn)
+ f('control/platform-feature-xs_reset_watches', True)
if arch.type == "x86":
f('control/platform-feature-multiprocessor-suspend', True)
++++++ 32on64-extra-mem.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -2917,7 +2917,7 @@ class XendDomainInfo:
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
+@@ -2924,7 +2924,7 @@ class XendDomainInfo:
self.guest_bitsize = self.image.getBitSize()
# Make sure there's enough RAM available for the domain
++++++ 7410-qemu-alt-gr.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -20,10 +20,10 @@
committer: Ian Jackson
git-commit-id: f95d202ed6444dacb15fbea4dee185eb0e048d9a
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/keymaps.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/keymaps.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/keymaps.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/keymaps.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/keymaps.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/keymaps.c
@@ -51,6 +51,7 @@ typedef struct {
struct key_range *numlock_range;
struct key_range *shift_range;
@@ -32,17 +32,19 @@
} kbd_layout_t;
static void add_to_key_range(struct key_range **krp, int code) {
-@@ -133,6 +134,10 @@ static kbd_layout_t *parse_keyboard_layo
+@@ -133,7 +134,11 @@ static kbd_layout_t *parse_keyboard_layo
add_to_key_range(&k->localstate_range, keycode);
//fprintf(stderr, "localstate keysym %04x keycode %d\n", keysym, keycode);
}
+-
+ if (rest && strstr(rest, "altgr")) {
+ add_to_key_range(&k->altgr_range, keysym);
+ //fprintf(stderr, "altgr keysym %04x keycode %d\n", keysym, keycode);
+ }
-
++
/* if(keycode&0x80)
keycode=(keycode<<8)^0x80e0; */
+ if (keysym < MAX_NORMAL_KEYCODE) {
@@ -233,3 +238,16 @@ static inline int keycode_is_shiftable(v
return 0;
return 1;
@@ -60,10 +62,10 @@
+ return 0;
+}
+
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vnc.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/vnc.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
@@ -1274,12 +1274,27 @@ static void press_key_shift_up(VncState
}
}
++++++ 7426-xenfb-depth.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xenfb.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xenfb.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xenfb.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xenfb.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xenfb.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xenfb.c
@@ -622,6 +622,18 @@ static void xenfb_guest_copy(struct XenF
oops = 1;
}
++++++ 7433-qemu-altgr.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -57,10 +57,10 @@
committer: Ian Jackson
git-commit-id: fdb22f24bc8adb3455b771d804496e11b4570085
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/keymaps.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/keymaps.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/keymaps.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/keymaps.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/keymaps.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/keymaps.c
@@ -54,6 +54,17 @@ typedef struct {
struct key_range *altgr_range;
} kbd_layout_t;
@@ -86,12 +86,12 @@
+ } else {
+ del_key_range(&k->altgr_range, keysym);
}
-
+
/* if(keycode&0x80)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vnc.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/vnc.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
@@ -1279,11 +1279,9 @@ static void press_key_altgr_down(VncStat
kbd_put_keycode(0xe0);
if (down){
++++++ 7434-qemu-rlimit-as.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -16,10 +16,10 @@
git-commit-id: 2aa36d470e97f4baa219f78df82e2d3fe3d9f96d
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vl.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/vl.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vl.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vl.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/vl.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/vl.c
@@ -4845,6 +4845,13 @@ int main(int argc, char **argv, char **e
rl.rlim_cur = rl.rlim_max;
if (setrlimit(RLIMIT_DATA, &rl) != 0)
++++++ altgr_2.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -29,10 +29,10 @@
Signed-off by Chunyan Liu (cyliu@novell.com)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vnc.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/vnc.c
++++ xen-4.0.3-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];
++++++ bdrv_default_rwflag.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -1,10 +1,10 @@
Subject: modify default read/write flag in bdrv_init.
Signed-off by Chunyan Liu
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vl.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/vl.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vl.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vl.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/vl.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/vl.c
@@ -2612,6 +2612,8 @@ int drive_init(struct drive_opt *arg, in
strncpy(drives_table[nb_drives].serial, serial, sizeof(serial));
nb_drives++;
++++++ bdrv_open2_fix_flags.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/block.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/block.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/block.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/block.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/block.c
++++ xen-4.0.3-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 @@
ret = drv->bdrv_open(bs, filename, open_flags);
if ((ret == -EACCES || ret == -EPERM) && !(flags & BDRV_O_FILE)) {
ret = drv->bdrv_open(bs, filename, open_flags & ~BDRV_O_RDWR);
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/usb-msd.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/usb-msd.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/usb-msd.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/usb-msd.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/usb-msd.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/usb-msd.c
@@ -551,7 +551,7 @@ USBDevice *usb_msd_init(const char *file
s = qemu_mallocz(sizeof(MSDState));
@@ -41,10 +41,10 @@
goto fail;
s->bs = bdrv;
*pbs = bdrv;
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-img.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-img.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/qemu-img.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-img.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/qemu-img.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-img.c
@@ -32,7 +32,7 @@
#endif
++++++ bdrv_open2_flags_2.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
++++ xen-4.0.3-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 @@
fprintf(stderr, "Could not open image file %s\n", path);
return -ENOMEM;
}
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/xenstore.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
@@ -136,7 +136,8 @@ static void insert_media(void *opaque)
else
format = &bdrv_raw;
++++++ blktap-close-fifos.patch ++++++
Index: xen-4.0.3-testing/tools/blktap/drivers/blktapctrl.c
===================================================================
--- xen-4.0.3-testing.orig/tools/blktap/drivers/blktapctrl.c
+++ xen-4.0.3-testing/tools/blktap/drivers/blktapctrl.c
@@ -280,7 +280,7 @@ static int del_disktype(blkif_t *blkif)
* qemu-dm instance. We may close the file handle only if there is
* no other disk left for this domain.
*/
- if (dtypes[type]->use_ioemu)
+ if (dtypes[type]->use_ioemu && dtypes[type]->idnum != DISK_TYPE_AIO)
return !qemu_instance_has_disks(blkif->tappid);
/* Caller should close() if no single controller, or list is empty. */
++++++ blktap-disable-debug-printf.patch ++++++
Index: xen-4.0.2-testing/tools/blktap/drivers/blktapctrl.c
===================================================================
--- xen-4.0.2-testing.orig/tools/blktap/drivers/blktapctrl.c
+++ xen-4.0.2-testing/tools/blktap/drivers/blktapctrl.c
@@ -59,6 +59,9 @@
#include "list.h"
#include "xs_api.h" /* for xs_fire_next_watch() */
+#undef DPRINTF
+#define DPRINTF(_f, _a...) ((void)0)
+
#define PIDFILE "/var/run/blktapctrl.pid"
#define NUM_POLL_FDS 2
Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
===================================================================
--- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
@@ -48,7 +48,7 @@
#define BLKTAP_CTRL_DIR "/var/run/tap"
/* If enabled, print debug messages to stderr */
-#if 1
+#if 0
#define DPRINTF(_f, _a...) fprintf(stderr, __FILE__ ":%d: " _f, __LINE__, ##_a)
#else
#define DPRINTF(_f, _a...) ((void)0)
++++++ blktap-pv-cdrom.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/blktap/drivers/block-cdrom.c
+Index: xen-4.0.3-testing/tools/blktap/drivers/block-cdrom.c
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/blktap/drivers/block-cdrom.c
++++ xen-4.0.3-testing/tools/blktap/drivers/block-cdrom.c
@@ -0,0 +1,535 @@
+/* block-cdrom.c
+ *
@@ -538,10 +538,10 @@
+ .td_get_parent_id = tdcdrom_get_parent_id,
+ .td_validate_parent = tdcdrom_validate_parent
+};
-Index: xen-4.0.2-testing/xen/include/public/io/cdromif.h
+Index: xen-4.0.3-testing/xen/include/public/io/cdromif.h
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/xen/include/public/io/cdromif.h
++++ xen-4.0.3-testing/xen/include/public/io/cdromif.h
@@ -0,0 +1,122 @@
+/******************************************************************************
+ * cdromif.h
@@ -665,10 +665,10 @@
+ sizeof(struct vcd_generic_command) - sizeof(struct request_sense))
+
+#endif
-Index: xen-4.0.2-testing/tools/blktap/drivers/Makefile
+Index: xen-4.0.3-testing/tools/blktap/drivers/Makefile
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/drivers/Makefile
-+++ xen-4.0.2-testing/tools/blktap/drivers/Makefile
+--- xen-4.0.3-testing.orig/tools/blktap/drivers/Makefile
++++ xen-4.0.3-testing/tools/blktap/drivers/Makefile
@@ -28,8 +28,9 @@ CFLAGS += -DMEMSHR
MEMSHRLIBS += $(MEMSHR_DIR)/libmemshr.a
endif
@@ -689,10 +689,10 @@
BLK-OBJS-y += aes.o
BLK-OBJS-y += tapaio.o
BLK-OBJS-$(CONFIG_Linux) += blk_linux.o
-Index: xen-4.0.2-testing/tools/blktap/drivers/tapdisk.h
+Index: xen-4.0.3-testing/tools/blktap/drivers/tapdisk.h
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/drivers/tapdisk.h
-+++ xen-4.0.2-testing/tools/blktap/drivers/tapdisk.h
+--- xen-4.0.3-testing.orig/tools/blktap/drivers/tapdisk.h
++++ xen-4.0.3-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,11 +737,11 @@
};
typedef struct driver_list_entry {
-Index: xen-4.0.2-testing/tools/blktap/lib/blktaplib.h
+Index: xen-4.0.3-testing/tools/blktap/lib/blktaplib.h
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/lib/blktaplib.h
-+++ xen-4.0.2-testing/tools/blktap/lib/blktaplib.h
-@@ -225,6 +225,7 @@ typedef struct msg_pid {
+--- xen-4.0.3-testing.orig/tools/blktap/lib/blktaplib.h
++++ xen-4.0.3-testing/tools/blktap/lib/blktaplib.h
+@@ -224,6 +224,7 @@ typedef struct msg_pid {
#define DISK_TYPE_RAM 3
#define DISK_TYPE_QCOW 4
#define DISK_TYPE_QCOW2 5
@@ -749,10 +749,10 @@
/* xenstore/xenbus: */
#define DOMNAME "Domain-0"
-Index: xen-4.0.2-testing/xen/include/public/io/blkif.h
+Index: xen-4.0.3-testing/xen/include/public/io/blkif.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/public/io/blkif.h
-+++ xen-4.0.2-testing/xen/include/public/io/blkif.h
+--- xen-4.0.3-testing.orig/xen/include/public/io/blkif.h
++++ xen-4.0.3-testing/xen/include/public/io/blkif.h
@@ -76,6 +76,10 @@
* "feature-flush-cache" node!
*/
@@ -764,10 +764,10 @@
/*
* Maximum scatter/gather segments per request.
-Index: xen-4.0.2-testing/tools/blktap/drivers/tapdisk.c
+Index: xen-4.0.3-testing/tools/blktap/drivers/tapdisk.c
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/drivers/tapdisk.c
-+++ xen-4.0.2-testing/tools/blktap/drivers/tapdisk.c
+--- xen-4.0.3-testing.orig/tools/blktap/drivers/tapdisk.c
++++ xen-4.0.3-testing/tools/blktap/drivers/tapdisk.c
@@ -735,6 +735,22 @@ static void get_io_request(struct td_sta
goto out;
}
@@ -791,10 +791,10 @@
default:
DPRINTF("Unknown block operation\n");
break;
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/BlktapController.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/BlktapController.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/BlktapController.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/BlktapController.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/BlktapController.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/BlktapController.py
@@ -21,6 +21,7 @@ blktap1_disk_types = [
'ram',
'qcow',
++++++ blktap.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -1,11 +1,11 @@
bug #239173
bug #242953
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -3291,7 +3291,7 @@ class XendDomainInfo:
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
+@@ -3292,7 +3292,7 @@ class XendDomainInfo:
(fn, BOOTLOADER_LOOPBACK_DEVICE))
vbd = {
@@ -14,10 +14,10 @@
'device': BOOTLOADER_LOOPBACK_DEVICE,
}
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/xenstore.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
@@ -397,9 +397,9 @@ void xenstore_parse_domain_config(int hv
{
char **e_danger = NULL;
++++++ blktap2.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -3,10 +3,10 @@
Signed-off-by ChunyanLiu
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/BlktapController.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/BlktapController.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/BlktapController.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/BlktapController.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/BlktapController.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/BlktapController.py
@@ -4,6 +4,7 @@ import string, re
from xen.xend.server.blkif import BlkifController
from xen.xend.XendLogging import log
++++++ blktapctrl-default-to-ioemu.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:53.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:53.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/blktap/drivers/tapdisk.h
+Index: xen-4.0.3-testing/tools/blktap/drivers/tapdisk.h
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/drivers/tapdisk.h
-+++ xen-4.0.2-testing/tools/blktap/drivers/tapdisk.h
+--- xen-4.0.3-testing.orig/tools/blktap/drivers/tapdisk.h
++++ xen-4.0.3-testing/tools/blktap/drivers/tapdisk.h
@@ -168,7 +168,7 @@ static disk_info_t aio_disk = {
"raw image (aio)",
"aio",
++++++ bridge-bonding.diff ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
+Index: xen-4.0.3-testing/tools/hotplug/Linux/network-bridge
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/network-bridge
-+++ xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/network-bridge
++++ xen-4.0.3-testing/tools/hotplug/Linux/network-bridge
@@ -245,6 +245,9 @@ op_start () {
claim_lock "network-bridge"
++++++ bridge-opensuse.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
+Index: xen-4.0.3-testing/tools/hotplug/Linux/network-bridge
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/network-bridge
-+++ xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/network-bridge
++++ xen-4.0.3-testing/tools/hotplug/Linux/network-bridge
@@ -270,19 +270,19 @@ op_stop () {
transfer_addrs ${bridge} ${pdev}
if ! ifdown ${bridge}; then
++++++ bridge-record-creation.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
+Index: xen-4.0.3-testing/tools/hotplug/Linux/network-bridge
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/network-bridge
-+++ xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/network-bridge
++++ xen-4.0.3-testing/tools/hotplug/Linux/network-bridge
@@ -253,6 +253,11 @@ op_start () {
create_bridge ${tdev}
++++++ bridge-vlan.diff ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
+Index: xen-4.0.3-testing/tools/hotplug/Linux/network-bridge
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/network-bridge
-+++ xen-4.0.2-testing/tools/hotplug/Linux/network-bridge
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/network-bridge
++++ xen-4.0.3-testing/tools/hotplug/Linux/network-bridge
@@ -193,6 +193,28 @@ antispoofing () {
iptables -A FORWARD -m physdev --physdev-in ${pdev} -j ACCEPT
}
++++++ build-tapdisk-ioemu.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -15,10 +15,10 @@
tapdisk-ioemu.c | 17 -----------------
4 files changed, 17 insertions(+), 26 deletions(-)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/Makefile
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/Makefile
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/Makefile
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/Makefile
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/Makefile
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/Makefile
@@ -46,14 +46,6 @@ $(filter %-user,$(SUBDIR_RULES)): libqem
recurse-all: $(SUBDIR_RULES)
@@ -56,10 +56,10 @@
######################################################################
# libqemu_common.a: Target independent part of system emulation. The
# long term path is to suppress *all* target specific code in case of
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/configure
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/configure
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/configure
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/configure
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/configure
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/configure
@@ -1511,7 +1511,7 @@ bsd)
;;
esac
@@ -69,10 +69,10 @@
if test `expr "$target_list" : ".*softmmu.*"` != 0 ; then
tools="qemu-img\$(EXESUF) $tools"
if [ "$linux" = "yes" ] ; then
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-tool.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-tool.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/qemu-tool.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-tool.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/qemu-tool.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-tool.c
@@ -68,7 +68,7 @@ void qemu_bh_delete(QEMUBH *bh)
qemu_free(bh);
}
@@ -82,10 +82,10 @@
IOCanRWHandler *fd_read_poll,
IOHandler *fd_read,
IOHandler *fd_write,
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
@@ -12,34 +12,12 @@
extern void qemu_aio_init(void);
++++++ capslock_enable.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vnc.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/vnc.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
@@ -1342,6 +1342,11 @@ static void do_key_event(VncState *vs, i
}
break;
++++++ cdrom-removable.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/HalDaemon.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/HalDaemon.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/HalDaemon.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/HalDaemon.py
@@ -0,0 +1,243 @@
+#!/usr/bin/env python
+# -*- mode: python; -*-
@@ -246,10 +246,10 @@
+ print 'Falling off end'
+
+
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/Hald.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/Hald.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/Hald.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/Hald.py
@@ -0,0 +1,125 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -376,10 +376,10 @@
+ watcher.run()
+ time.sleep(10)
+ watcher.shutdown()
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/SrvServer.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/SrvServer.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/SrvServer.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/SrvServer.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/SrvServer.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/SrvServer.py
@@ -56,6 +56,7 @@ from xen.web.SrvDir import SrvDir
from SrvRoot import SrvRoot
@@ -397,10 +397,10 @@
def create():
root = SrvDir()
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/xenstore.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
@@ -18,6 +18,7 @@
#include "exec-all.h"
#include "sysemu.h"
++++++ change_home_server.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -3134,6 +3134,11 @@ class XendDomainInfo:
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
+@@ -3137,6 +3137,11 @@ class XendDomainInfo:
self._cleanup_phantom_devs(paths)
self._cleanupVm()
++++++ check_device_status.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -5,10 +5,11 @@
returned. To fix this problem, we do not depend on ev.wait() result, but read
xenstore directly to get correct device status.
-diff -r ce65e0e03a57 tools/python/xen/xend/server/DevController.py
---- a/tools/python/xen/xend/server/DevController.py Fri Aug 27 16:53:00 2010 +0800
-+++ b/tools/python/xen/xend/server/DevController.py Fri Aug 27 17:13:32 2010 +0800
-@@ -149,7 +149,10 @@
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/DevController.py
+===================================================================
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/DevController.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/DevController.py
+@@ -149,7 +149,10 @@ class DevController:
(status, err) = self.waitForBackend(devid)
if status == Timeout:
@@ -20,7 +21,7 @@
raise VmError("Device %s (%s) could not be connected. "
"Hotplug scripts not working." %
(devid, self.deviceClass))
-@@ -554,7 +557,17 @@
+@@ -554,7 +557,17 @@ class DevController:
xswatch(statusPath, hotplugStatusCallback, ev, result)
@@ -39,7 +40,7 @@
err = xstransact.Read(backpath, HOTPLUG_ERROR_NODE)
-@@ -571,7 +584,12 @@
+@@ -571,7 +584,12 @@ class DevController:
xswatch(statusPath, deviceDestroyCallback, ev, result)
++++++ checkpoint-rename.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendCheckpoint.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendCheckpoint.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendCheckpoint.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendCheckpoint.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendCheckpoint.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendCheckpoint.py
@@ -165,7 +165,7 @@ def save(fd, dominfo, network, live, dst
dominfo.destroy()
dominfo.testDeviceComplete()
++++++ cpu-pools-docs.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/docs/xen-api/coversheet.tex
+Index: xen-4.0.3-testing/docs/xen-api/coversheet.tex
===================================================================
---- xen-4.0.2-testing.orig/docs/xen-api/coversheet.tex
-+++ xen-4.0.2-testing/docs/xen-api/coversheet.tex
+--- xen-4.0.3-testing.orig/docs/xen-api/coversheet.tex
++++ xen-4.0.3-testing/docs/xen-api/coversheet.tex
@@ -52,6 +52,7 @@ Mike Day, IBM & Daniel Veillard, Red Hat
Jim Fehlig, Novell & Tom Wilkie, University of Cambridge \\
Jon Harrop, XenSource & Yosuke Iwamatsu, NEC \\
@@ -10,10 +10,10 @@
\end{tabular}
\end{large}
-Index: xen-4.0.2-testing/docs/xen-api/revision-history.tex
+Index: xen-4.0.3-testing/docs/xen-api/revision-history.tex
===================================================================
---- xen-4.0.2-testing.orig/docs/xen-api/revision-history.tex
-+++ xen-4.0.2-testing/docs/xen-api/revision-history.tex
+--- xen-4.0.3-testing.orig/docs/xen-api/revision-history.tex
++++ xen-4.0.3-testing/docs/xen-api/revision-history.tex
@@ -50,6 +50,12 @@
between classes. Added host.PSCSI\_HBAs and VM.DSCSI\_HBAs
fields.\tabularnewline
@@ -27,10 +27,10 @@
\end{tabular}
\end{center}
\end{flushleft}
-Index: xen-4.0.2-testing/docs/xen-api/xenapi-coversheet.tex
+Index: xen-4.0.3-testing/docs/xen-api/xenapi-coversheet.tex
===================================================================
---- xen-4.0.2-testing.orig/docs/xen-api/xenapi-coversheet.tex
-+++ xen-4.0.2-testing/docs/xen-api/xenapi-coversheet.tex
+--- xen-4.0.3-testing.orig/docs/xen-api/xenapi-coversheet.tex
++++ xen-4.0.3-testing/docs/xen-api/xenapi-coversheet.tex
@@ -17,12 +17,12 @@
\newcommand{\coversheetlogo}{xen.eps}
@@ -46,10 +46,10 @@
%% Document authors
\newcommand{\docauthors}{
-Index: xen-4.0.2-testing/docs/xen-api/xenapi-datamodel-graph.dot
+Index: xen-4.0.3-testing/docs/xen-api/xenapi-datamodel-graph.dot
===================================================================
---- xen-4.0.2-testing.orig/docs/xen-api/xenapi-datamodel-graph.dot
-+++ xen-4.0.2-testing/docs/xen-api/xenapi-datamodel-graph.dot
+--- xen-4.0.3-testing.orig/docs/xen-api/xenapi-datamodel-graph.dot
++++ xen-4.0.3-testing/docs/xen-api/xenapi-datamodel-graph.dot
@@ -14,7 +14,7 @@ fontname="Verdana";
node [ shape=box ]; session VM host network VIF PIF SR VDI VBD PBD user;
@@ -67,10 +67,10 @@
+cpu_pool -> VM [ arrowhead="crow", arrowtail="none" ]
+host -> cpu_pool [ arrowhead="crow", arrowtail="none" ]
}
-Index: xen-4.0.2-testing/docs/xen-api/xenapi-datamodel.tex
+Index: xen-4.0.3-testing/docs/xen-api/xenapi-datamodel.tex
===================================================================
---- xen-4.0.2-testing.orig/docs/xen-api/xenapi-datamodel.tex
-+++ xen-4.0.2-testing/docs/xen-api/xenapi-datamodel.tex
+--- xen-4.0.3-testing.orig/docs/xen-api/xenapi-datamodel.tex
++++ xen-4.0.3-testing/docs/xen-api/xenapi-datamodel.tex
@@ -56,6 +56,7 @@ Name & Description \\
{\tt debug} & A basic class for testing \\
{\tt XSPolicy} & A class for handling Xen Security Policies \\
++++++ cpu-pools-libxc.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/libxc/Makefile
+Index: xen-4.0.3-testing/tools/libxc/Makefile
===================================================================
---- xen-4.0.2-testing.orig/tools/libxc/Makefile
-+++ xen-4.0.2-testing/tools/libxc/Makefile
+--- xen-4.0.3-testing.orig/tools/libxc/Makefile
++++ xen-4.0.3-testing/tools/libxc/Makefile
@@ -8,6 +8,7 @@ CTRL_SRCS-y :=
CTRL_SRCS-y += xc_core.c
CTRL_SRCS-$(CONFIG_X86) += xc_core_x86.c
@@ -10,10 +10,10 @@
CTRL_SRCS-y += xc_domain.c
CTRL_SRCS-y += xc_evtchn.c
CTRL_SRCS-y += xc_misc.c
-Index: xen-4.0.2-testing/tools/libxc/xc_cpupool.c
+Index: xen-4.0.3-testing/tools/libxc/xc_cpupool.c
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/libxc/xc_cpupool.c
++++ xen-4.0.3-testing/tools/libxc/xc_cpupool.c
@@ -0,0 +1,165 @@
+/******************************************************************************
+ * xc_cpupool.c
@@ -180,10 +180,10 @@
+
+ return 0;
+}
-Index: xen-4.0.2-testing/tools/libxc/xc_domain.c
+Index: xen-4.0.3-testing/tools/libxc/xc_domain.c
===================================================================
---- xen-4.0.2-testing.orig/tools/libxc/xc_domain.c
-+++ xen-4.0.2-testing/tools/libxc/xc_domain.c
+--- xen-4.0.3-testing.orig/tools/libxc/xc_domain.c
++++ xen-4.0.3-testing/tools/libxc/xc_domain.c
@@ -220,6 +220,7 @@ int xc_domain_getinfo(int xc_handle,
info->cpu_time = domctl.u.getdomaininfo.cpu_time;
info->nr_online_vcpus = domctl.u.getdomaininfo.nr_online_vcpus;
@@ -192,10 +192,10 @@
memcpy(info->handle, domctl.u.getdomaininfo.handle,
sizeof(xen_domain_handle_t));
-Index: xen-4.0.2-testing/tools/libxc/xenctrl.h
+Index: xen-4.0.3-testing/tools/libxc/xenctrl.h
===================================================================
---- xen-4.0.2-testing.orig/tools/libxc/xenctrl.h
-+++ xen-4.0.2-testing/tools/libxc/xenctrl.h
+--- xen-4.0.3-testing.orig/tools/libxc/xenctrl.h
++++ xen-4.0.3-testing/tools/libxc/xenctrl.h
@@ -161,6 +161,7 @@ typedef struct xc_dominfo {
unsigned int nr_online_vcpus;
unsigned int max_vcpu_id;
++++++ cpu-pools-libxen.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,17 +1,17 @@
-Index: xen-4.0.2-testing/tools/libxen/include/xen/api/xen_all.h
+Index: xen-4.0.3-testing/tools/libxen/include/xen/api/xen_all.h
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/include/xen/api/xen_all.h
-+++ xen-4.0.2-testing/tools/libxen/include/xen/api/xen_all.h
+--- xen-4.0.3-testing.orig/tools/libxen/include/xen/api/xen_all.h
++++ xen-4.0.3-testing/tools/libxen/include/xen/api/xen_all.h
@@ -37,4 +37,5 @@
#include
#include
#include
+#include
#endif
-Index: xen-4.0.2-testing/tools/libxen/include/xen/api/xen_cpu_pool.h
+Index: xen-4.0.3-testing/tools/libxen/include/xen/api/xen_cpu_pool.h
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/libxen/include/xen/api/xen_cpu_pool.h
++++ xen-4.0.3-testing/tools/libxen/include/xen/api/xen_cpu_pool.h
@@ -0,0 +1,424 @@
+/*
+ * Copyright (c) 2006-2007, XenSource Inc.
@@ -437,10 +437,10 @@
+
+
+#endif
-Index: xen-4.0.2-testing/tools/libxen/include/xen/api/xen_cpu_pool_decl.h
+Index: xen-4.0.3-testing/tools/libxen/include/xen/api/xen_cpu_pool_decl.h
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/libxen/include/xen/api/xen_cpu_pool_decl.h
++++ xen-4.0.3-testing/tools/libxen/include/xen/api/xen_cpu_pool_decl.h
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2006-2007, XenSource Inc.
@@ -472,10 +472,10 @@
+struct xen_cpu_pool_record_opt_set;
+
+#endif
-Index: xen-4.0.2-testing/tools/libxen/include/xen/api/xen_host.h
+Index: xen-4.0.3-testing/tools/libxen/include/xen/api/xen_host.h
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/include/xen/api/xen_host.h
-+++ xen-4.0.2-testing/tools/libxen/include/xen/api/xen_host.h
+--- xen-4.0.3-testing.orig/tools/libxen/include/xen/api/xen_host.h
++++ xen-4.0.3-testing/tools/libxen/include/xen/api/xen_host.h
@@ -29,7 +29,7 @@
#include
#include
@@ -505,10 +505,10 @@
+ xen_host host);
+
#endif
-Index: xen-4.0.2-testing/tools/libxen/include/xen/api/xen_host_cpu.h
+Index: xen-4.0.3-testing/tools/libxen/include/xen/api/xen_host_cpu.h
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/include/xen/api/xen_host_cpu.h
-+++ xen-4.0.2-testing/tools/libxen/include/xen/api/xen_host_cpu.h
+--- xen-4.0.3-testing.orig/tools/libxen/include/xen/api/xen_host_cpu.h
++++ xen-4.0.3-testing/tools/libxen/include/xen/api/xen_host_cpu.h
@@ -22,6 +22,7 @@
#include
#include
@@ -544,10 +544,10 @@
+
+
#endif
-Index: xen-4.0.2-testing/tools/libxen/include/xen/api/xen_vm.h
+Index: xen-4.0.3-testing/tools/libxen/include/xen/api/xen_vm.h
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/include/xen/api/xen_vm.h
-+++ xen-4.0.2-testing/tools/libxen/include/xen/api/xen_vm.h
+--- xen-4.0.3-testing.orig/tools/libxen/include/xen/api/xen_vm.h
++++ xen-4.0.3-testing/tools/libxen/include/xen/api/xen_vm.h
@@ -34,6 +34,7 @@
#include
#include
@@ -599,10 +599,10 @@
+xen_vm_cpu_pool_migrate(xen_session *session, xen_vm vm, xen_cpu_pool cpu_pool);
+
#endif
-Index: xen-4.0.2-testing/tools/libxen/src/xen_cpu_pool.c
+Index: xen-4.0.3-testing/tools/libxen/src/xen_cpu_pool.c
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/libxen/src/xen_cpu_pool.c
++++ xen-4.0.3-testing/tools/libxen/src/xen_cpu_pool.c
@@ -0,0 +1,671 @@
+/*
+ * Copyright (c) 2006-2007, XenSource Inc.
@@ -1275,10 +1275,10 @@
+ return session->ok;
+}
+
-Index: xen-4.0.2-testing/tools/libxen/src/xen_host.c
+Index: xen-4.0.3-testing/tools/libxen/src/xen_host.c
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/src/xen_host.c
-+++ xen-4.0.2-testing/tools/libxen/src/xen_host.c
+--- xen-4.0.3-testing.orig/tools/libxen/src/xen_host.c
++++ xen-4.0.3-testing/tools/libxen/src/xen_host.c
@@ -30,6 +30,7 @@
#include
#include
@@ -1330,10 +1330,10 @@
+ return session->ok;
+}
+
-Index: xen-4.0.2-testing/tools/libxen/src/xen_host_cpu.c
+Index: xen-4.0.3-testing/tools/libxen/src/xen_host_cpu.c
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/src/xen_host_cpu.c
-+++ xen-4.0.2-testing/tools/libxen/src/xen_host_cpu.c
+--- xen-4.0.3-testing.orig/tools/libxen/src/xen_host_cpu.c
++++ xen-4.0.3-testing/tools/libxen/src/xen_host_cpu.c
@@ -24,6 +24,7 @@
#include
#include
@@ -1397,10 +1397,10 @@
+
+
+
-Index: xen-4.0.2-testing/tools/libxen/src/xen_vm.c
+Index: xen-4.0.3-testing/tools/libxen/src/xen_vm.c
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/src/xen_vm.c
-+++ xen-4.0.2-testing/tools/libxen/src/xen_vm.c
+--- xen-4.0.3-testing.orig/tools/libxen/src/xen_vm.c
++++ xen-4.0.3-testing/tools/libxen/src/xen_vm.c
@@ -36,6 +36,7 @@
#include
#include
@@ -1504,10 +1504,10 @@
+}
+
+
-Index: xen-4.0.2-testing/tools/libxen/test/test_bindings.c
+Index: xen-4.0.3-testing/tools/libxen/test/test_bindings.c
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/test/test_bindings.c
-+++ xen-4.0.2-testing/tools/libxen/test/test_bindings.c
+--- xen-4.0.3-testing.orig/tools/libxen/test/test_bindings.c
++++ xen-4.0.3-testing/tools/libxen/test/test_bindings.c
@@ -28,6 +28,7 @@
#include
++++++ cpu-pools-python.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/python/xen/lowlevel/xc/xc.c
+Index: xen-4.0.3-testing/tools/python/xen/lowlevel/xc/xc.c
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/lowlevel/xc/xc.c
-+++ xen-4.0.2-testing/tools/python/xen/lowlevel/xc/xc.c
+--- xen-4.0.3-testing.orig/tools/python/xen/lowlevel/xc/xc.c
++++ xen-4.0.3-testing/tools/python/xen/lowlevel/xc/xc.c
@@ -106,8 +106,8 @@ static PyObject *pyxc_domain_create(XcOb
static char *kwd_list[] = { "domid", "ssidref", "handle", "flags", "target", NULL };
@@ -289,10 +289,10 @@
{ NULL, NULL, 0, NULL }
};
-Index: xen-4.0.2-testing/tools/python/xen/util/sxputils.py
+Index: xen-4.0.3-testing/tools/python/xen/util/sxputils.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/python/xen/util/sxputils.py
++++ xen-4.0.3-testing/tools/python/xen/util/sxputils.py
@@ -0,0 +1,64 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -358,10 +358,10 @@
+ return sxphash
+
+
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendAPI.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendAPI.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendAPI.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendAPI.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendAPI.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendAPI.py
@@ -51,6 +51,7 @@ from XendDPCI import XendDPCI
from XendPSCSI import XendPSCSI, XendPSCSI_HBA
from XendDSCSI import XendDSCSI, XendDSCSI_HBA
@@ -553,10 +553,10 @@
# Xen API: Class VBD
# ----------------------------------------------------------------
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendCPUPool.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendCPUPool.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendCPUPool.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendCPUPool.py
@@ -0,0 +1,903 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -1461,10 +1461,10 @@
+
+ unbound_cpus = classmethod(unbound_cpus)
+
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendConfig.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendConfig.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
@@ -134,6 +134,7 @@ XENAPI_CFG_TO_LEGACY_CFG = {
'PV_bootloader': 'bootloader',
'PV_bootloader_args': 'bootloader_args',
@@ -1505,10 +1505,10 @@
'superpages': 0,
'description': '',
}
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendConstants.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendConstants.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendConstants.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendConstants.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendConstants.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendConstants.py
@@ -133,6 +133,8 @@ VTPM_DELETE_SCRIPT = auxbin.scripts_dir(
XS_VMROOT = "/vm/"
@@ -1518,10 +1518,10 @@
NR_PCI_FUNC = 8
NR_PCI_DEV = 32
NR_PCI_DEVFN = NR_PCI_FUNC * NR_PCI_DEV
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -60,6 +60,7 @@ from xen.xend.xenstore.xsutil import Get
from xen.xend.xenstore.xswatch import xswatch
from xen.xend.XendConstants import *
@@ -1530,7 +1530,7 @@
from xen.xend.server.DevConstants import xenbusState
from xen.xend.server.BlktapController import TAPDISK_DEVICE, parseDeviceString
-@@ -2569,6 +2570,19 @@ class XendDomainInfo:
+@@ -2570,6 +2571,19 @@ class XendDomainInfo:
oos = self.info['platform'].get('oos', 1)
oos_off = 1 - int(oos)
@@ -1550,7 +1550,7 @@
flags = (int(hvm) << 0) | (int(hap) << 1) | (int(s3_integrity) << 2) | (int(oos_off) << 3)
try:
-@@ -2590,6 +2604,11 @@ class XendDomainInfo:
+@@ -2591,6 +2605,11 @@ class XendDomainInfo:
failmsg += ', error=%i' % int(self.domid)
raise VmError(failmsg)
@@ -1562,7 +1562,7 @@
self.dompath = GetDomainPath(self.domid)
self._recreateDom()
-@@ -3618,6 +3637,11 @@ class XendDomainInfo:
+@@ -3619,6 +3638,11 @@ class XendDomainInfo:
retval = xc.sched_credit_domain_get(self.getDomid())
return retval
@@ -1574,10 +1574,10 @@
def get_power_state(self):
return XEN_API_VM_POWER_STATE[self._stateGet()]
def get_platform(self):
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendError.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendError.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendError.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendError.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendError.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendError.py
@@ -18,6 +18,7 @@
from xmlrpclib import Fault
@@ -1613,10 +1613,10 @@
class VDIError(XendAPIError):
def __init__(self, error, vdi):
XendAPIError.__init__(self)
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendNode.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendNode.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendNode.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendNode.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendNode.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendNode.py
@@ -43,6 +43,7 @@ from XendStateStore import XendStateStor
from XendMonitor import XendMonitor
from XendPPCI import XendPPCI
@@ -1690,10 +1690,10 @@
'max_free_memory',
'max_para_memory',
'max_hvm_memory',
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/SrvServer.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/SrvServer.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/SrvServer.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/SrvServer.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/SrvServer.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/SrvServer.py
@@ -52,6 +52,7 @@ from xen.xend import XendNode, XendOptio
from xen.xend.XendLogging import log
from xen.xend.XendClient import XEN_API_SOCKET
@@ -1715,10 +1715,10 @@
# Reaching this point means we can auto start domains
try:
xenddomain().autostart_domains()
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/XMLRPCServer.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/XMLRPCServer.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/XMLRPCServer.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/XMLRPCServer.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/XMLRPCServer.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/XMLRPCServer.py
@@ -33,6 +33,7 @@ from xen.xend.XendClient import XML_RPC_
from xen.xend.XendConstants import DOM_STATE_RUNNING
from xen.xend.XendLogging import log
@@ -1750,10 +1750,10 @@
# Functions in XendNode and XendDmesg
for type, lst, n in [(XendNode,
['info', 'pciinfo', 'send_debug_keys',
-Index: xen-4.0.2-testing/tools/python/xen/xm/create.dtd
+Index: xen-4.0.3-testing/tools/python/xen/xm/create.dtd
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xm/create.dtd
-+++ xen-4.0.2-testing/tools/python/xen/xm/create.dtd
+--- xen-4.0.3-testing.orig/tools/python/xen/xm/create.dtd
++++ xen-4.0.3-testing/tools/python/xen/xm/create.dtd
@@ -50,6 +50,7 @@
s3_integrity CDATA #REQUIRED
vcpus_max CDATA #REQUIRED
@@ -1762,10 +1762,10 @@
actions_after_shutdown %NORMAL_EXIT; #REQUIRED
actions_after_reboot %NORMAL_EXIT; #REQUIRED
actions_after_crash %CRASH_BEHAVIOUR; #REQUIRED
-Index: xen-4.0.2-testing/tools/python/xen/xm/create.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/create.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xm/create.py
-+++ xen-4.0.2-testing/tools/python/xen/xm/create.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xm/create.py
++++ xen-4.0.3-testing/tools/python/xen/xm/create.py
@@ -659,6 +659,10 @@ gopts.var('suppress_spurious_page_faults
fn=set_bool, default=None,
use="""Do not inject spurious page faults into this guest""")
@@ -1786,10 +1786,10 @@
config_image = configure_image(vals)
if vals.bootloader:
-Index: xen-4.0.2-testing/tools/python/xen/xm/main.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/main.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xm/main.py
-+++ xen-4.0.2-testing/tools/python/xen/xm/main.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xm/main.py
++++ xen-4.0.3-testing/tools/python/xen/xm/main.py
@@ -56,6 +56,7 @@ from xen.util.xmlrpcclient import Server
import xen.util.xsm.xsm as security
from xen.util.xsm.xsm import XSMError
@@ -2155,10 +2155,10 @@
]
for c in IMPORTED_COMMANDS:
-Index: xen-4.0.2-testing/tools/python/xen/xm/pool-create.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/pool-create.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/python/xen/xm/pool-create.py
++++ xen-4.0.3-testing/tools/python/xen/xm/pool-create.py
@@ -0,0 +1,51 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -2211,10 +2211,10 @@
+if __name__ == '__main__':
+ main(sys.argv)
+
-Index: xen-4.0.2-testing/tools/python/xen/xm/pool-new.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/pool-new.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/python/xen/xm/pool-new.py
++++ xen-4.0.3-testing/tools/python/xen/xm/pool-new.py
@@ -0,0 +1,50 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -2266,10 +2266,10 @@
+if __name__ == '__main__':
+ main(sys.argv)
+
-Index: xen-4.0.2-testing/tools/python/xen/xm/pool.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/pool.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/python/xen/xm/pool.py
++++ xen-4.0.3-testing/tools/python/xen/xm/pool.py
@@ -0,0 +1,236 @@
+#============================================================================
+# This library is free software; you can redistribute it and/or
@@ -2507,10 +2507,10 @@
+def help():
+ return str(GOPTS)
+
-Index: xen-4.0.2-testing/tools/python/xen/xm/xenapi_create.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/xenapi_create.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xm/xenapi_create.py
-+++ xen-4.0.2-testing/tools/python/xen/xm/xenapi_create.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xm/xenapi_create.py
++++ xen-4.0.3-testing/tools/python/xen/xm/xenapi_create.py
@@ -309,6 +309,8 @@ class xenapi_create:
get_child_nodes_as_dict(vm, "platform", "key", "value"),
"other_config":
++++++ cpu-pools-xmtest.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/xm-test/configure.ac
+Index: xen-4.0.3-testing/tools/xm-test/configure.ac
===================================================================
---- xen-4.0.2-testing.orig/tools/xm-test/configure.ac
-+++ xen-4.0.2-testing/tools/xm-test/configure.ac
+--- xen-4.0.3-testing.orig/tools/xm-test/configure.ac
++++ xen-4.0.3-testing/tools/xm-test/configure.ac
@@ -161,6 +161,7 @@ AC_CONFIG_FILES([
tests/vtpm/Makefile
tests/xapi/Makefile
@@ -10,16 +10,16 @@
lib/XmTestReport/xmtest.py
lib/XmTestLib/config.py
])
-Index: xen-4.0.2-testing/tools/xm-test/grouptest/cpupool
+Index: xen-4.0.3-testing/tools/xm-test/grouptest/cpupool
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/grouptest/cpupool
++++ xen-4.0.3-testing/tools/xm-test/grouptest/cpupool
@@ -0,0 +1 @@
+cpupool
-Index: xen-4.0.2-testing/tools/xm-test/lib/XmTestLib/NetConfig.py
+Index: xen-4.0.3-testing/tools/xm-test/lib/XmTestLib/NetConfig.py
===================================================================
---- xen-4.0.2-testing.orig/tools/xm-test/lib/XmTestLib/NetConfig.py
-+++ xen-4.0.2-testing/tools/xm-test/lib/XmTestLib/NetConfig.py
+--- xen-4.0.3-testing.orig/tools/xm-test/lib/XmTestLib/NetConfig.py
++++ xen-4.0.3-testing/tools/xm-test/lib/XmTestLib/NetConfig.py
@@ -56,17 +56,21 @@ def getXendNetConfig():
val = pin.get_val()
while val[0] != 'network-script':
@@ -51,10 +51,10 @@
configfile.close()
return netenv
-Index: xen-4.0.2-testing/tools/xm-test/lib/XmTestLib/XenDomain.py
+Index: xen-4.0.3-testing/tools/xm-test/lib/XmTestLib/XenDomain.py
===================================================================
---- xen-4.0.2-testing.orig/tools/xm-test/lib/XmTestLib/XenDomain.py
-+++ xen-4.0.2-testing/tools/xm-test/lib/XmTestLib/XenDomain.py
+--- xen-4.0.3-testing.orig/tools/xm-test/lib/XmTestLib/XenDomain.py
++++ xen-4.0.3-testing/tools/xm-test/lib/XmTestLib/XenDomain.py
@@ -181,6 +181,7 @@ class XenDomain:
if not self.isManaged:
@@ -63,10 +63,10 @@
else:
ret, output = traceCommand("xm new %s" % self.config)
if ret != 0:
-Index: xen-4.0.2-testing/tools/xm-test/runtest.sh
+Index: xen-4.0.3-testing/tools/xm-test/runtest.sh
===================================================================
---- xen-4.0.2-testing.orig/tools/xm-test/runtest.sh
-+++ xen-4.0.2-testing/tools/xm-test/runtest.sh
+--- xen-4.0.3-testing.orig/tools/xm-test/runtest.sh
++++ xen-4.0.3-testing/tools/xm-test/runtest.sh
@@ -91,7 +91,7 @@ runnable_tests() {
echo "Error: ramdisk/initrd.img is from an old version, or is not for this "
echo "architecture ($ARCH)."
@@ -76,10 +76,10 @@
fi
# See if xend is running
-Index: xen-4.0.2-testing/tools/xm-test/tests/Makefile.am
+Index: xen-4.0.3-testing/tools/xm-test/tests/Makefile.am
===================================================================
---- xen-4.0.2-testing.orig/tools/xm-test/tests/Makefile.am
-+++ xen-4.0.2-testing/tools/xm-test/tests/Makefile.am
+--- xen-4.0.3-testing.orig/tools/xm-test/tests/Makefile.am
++++ xen-4.0.3-testing/tools/xm-test/tests/Makefile.am
@@ -28,7 +28,8 @@ SUBDIRS = \
vcpu-pin \
vtpm \
@@ -90,10 +90,10 @@
EXTRA_DIST = $(SUBDIRS) Makefile.am.template
-Index: xen-4.0.2-testing/tools/xm-test/tests/cpupool/01_cpupool_basic_pos.py
+Index: xen-4.0.3-testing/tools/xm-test/tests/cpupool/01_cpupool_basic_pos.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/tests/cpupool/01_cpupool_basic_pos.py
++++ xen-4.0.3-testing/tools/xm-test/tests/cpupool/01_cpupool_basic_pos.py
@@ -0,0 +1,72 @@
+#!/usr/bin/python
+
@@ -167,10 +167,10 @@
+destroyAllDomUs()
+
+
-Index: xen-4.0.2-testing/tools/xm-test/tests/cpupool/02_cpupool_manage_pos.py
+Index: xen-4.0.3-testing/tools/xm-test/tests/cpupool/02_cpupool_manage_pos.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/tests/cpupool/02_cpupool_manage_pos.py
++++ xen-4.0.3-testing/tools/xm-test/tests/cpupool/02_cpupool_manage_pos.py
@@ -0,0 +1,152 @@
+#!/usr/bin/python
+
@@ -324,10 +324,10 @@
+ FAIL("'Pool-1' not deleted")
+
+
-Index: xen-4.0.2-testing/tools/xm-test/tests/cpupool/03_cpupool_domain.py
+Index: xen-4.0.3-testing/tools/xm-test/tests/cpupool/03_cpupool_domain.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/tests/cpupool/03_cpupool_domain.py
++++ xen-4.0.3-testing/tools/xm-test/tests/cpupool/03_cpupool_domain.py
@@ -0,0 +1,126 @@
+#!/usr/bin/python
+
@@ -455,10 +455,10 @@
+for pool in pool_names:
+ destroyPool(pool, True)
+
-Index: xen-4.0.2-testing/tools/xm-test/tests/cpupool/04_cpupool_migrate.py
+Index: xen-4.0.3-testing/tools/xm-test/tests/cpupool/04_cpupool_migrate.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/tests/cpupool/04_cpupool_migrate.py
++++ xen-4.0.3-testing/tools/xm-test/tests/cpupool/04_cpupool_migrate.py
@@ -0,0 +1,84 @@
+#!/usr/bin/python
+
@@ -544,10 +544,10 @@
+#
+cleanupPoolsDomains()
+
-Index: xen-4.0.2-testing/tools/xm-test/tests/cpupool/Makefile.am
+Index: xen-4.0.3-testing/tools/xm-test/tests/cpupool/Makefile.am
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/tests/cpupool/Makefile.am
++++ xen-4.0.3-testing/tools/xm-test/tests/cpupool/Makefile.am
@@ -0,0 +1,22 @@
+SUBDIRS =
+
@@ -571,16 +571,16 @@
+ rm -f *log
+ rm -f *~
+
-Index: xen-4.0.2-testing/tools/xm-test/tests/cpupool/pool1.cfg
+Index: xen-4.0.3-testing/tools/xm-test/tests/cpupool/pool1.cfg
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/tests/cpupool/pool1.cfg
++++ xen-4.0.3-testing/tools/xm-test/tests/cpupool/pool1.cfg
@@ -0,0 +1 @@
+name="Pool-1"
-Index: xen-4.0.2-testing/tools/xm-test/tests/cpupool/pools.py
+Index: xen-4.0.3-testing/tools/xm-test/tests/cpupool/pools.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/tests/cpupool/pools.py
++++ xen-4.0.3-testing/tools/xm-test/tests/cpupool/pools.py
@@ -0,0 +1,78 @@
+#!/usr/bin/python
+
@@ -660,10 +660,10 @@
+ break
+ time.sleep(1)
+
-Index: xen-4.0.2-testing/tools/xm-test/tests/xapi/20_xapi-cpu_pool_basic.py
+Index: xen-4.0.3-testing/tools/xm-test/tests/xapi/20_xapi-cpu_pool_basic.py
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xm-test/tests/xapi/20_xapi-cpu_pool_basic.py
++++ xen-4.0.3-testing/tools/xm-test/tests/xapi/20_xapi-cpu_pool_basic.py
@@ -0,0 +1,157 @@
+#!/usr/bin/python
+
@@ -822,10 +822,10 @@
+if pool1 in session.xenapi.cpu_pool.get_all():
+ FAIL("cpu_pool.destroy() has not removed pool")
+
-Index: xen-4.0.2-testing/tools/xm-test/tests/xapi/Makefile.am
+Index: xen-4.0.3-testing/tools/xm-test/tests/xapi/Makefile.am
===================================================================
---- xen-4.0.2-testing.orig/tools/xm-test/tests/xapi/Makefile.am
-+++ xen-4.0.2-testing/tools/xm-test/tests/xapi/Makefile.am
+--- xen-4.0.3-testing.orig/tools/xm-test/tests/xapi/Makefile.am
++++ xen-4.0.3-testing/tools/xm-test/tests/xapi/Makefile.am
@@ -3,7 +3,8 @@ SUBDIRS =
TESTS = 01_xapi-vm_basic.test \
02_xapi-vbd_basic.test \
++++++ cpupools-core-fixup.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:54.000000000 +0100
@@ -9,10 +9,10 @@
missing adjustments get detected at build time)
- remove boot time per-CPU pool assignment messages (bnc#572146)
-Index: xen-4.0.2-testing/xen/arch/x86/domain.c
+Index: xen-4.0.3-testing/xen/arch/x86/domain.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/domain.c
-+++ xen-4.0.2-testing/xen/arch/x86/domain.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/domain.c
++++ xen-4.0.3-testing/xen/arch/x86/domain.c
@@ -1590,6 +1590,7 @@ int continue_hypercall_on_cpu(int cpu, v
v->arch.schedule_tail = continue_hypercall_on_cpu_helper;
@@ -31,10 +31,10 @@
raise_softirq(SCHEDULE_SOFTIRQ);
/* Dummy return value will be overwritten by new schedule_tail. */
-Index: xen-4.0.2-testing/xen/common/sched_credit.c
+Index: xen-4.0.3-testing/xen/common/sched_credit.c
===================================================================
---- xen-4.0.2-testing.orig/xen/common/sched_credit.c
-+++ xen-4.0.2-testing/xen/common/sched_credit.c
+--- xen-4.0.3-testing.orig/xen/common/sched_credit.c
++++ xen-4.0.3-testing/xen/common/sched_credit.c
@@ -176,7 +176,6 @@ struct csched_private {
/*
* Global variables
@@ -58,10 +58,10 @@
.init_domain = csched_dom_init,
.destroy_domain = csched_dom_destroy,
-Index: xen-4.0.2-testing/xen/common/softirq.c
+Index: xen-4.0.3-testing/xen/common/softirq.c
===================================================================
---- xen-4.0.2-testing.orig/xen/common/softirq.c
-+++ xen-4.0.2-testing/xen/common/softirq.c
+--- xen-4.0.3-testing.orig/xen/common/softirq.c
++++ xen-4.0.3-testing/xen/common/softirq.c
@@ -114,12 +114,15 @@ static void tasklet_schedule_list(struct
{
BUG_ON(!list_empty(&t->list));
@@ -105,10 +105,10 @@
}
/*
-Index: xen-4.0.2-testing/xen/include/public/domctl.h
+Index: xen-4.0.3-testing/xen/include/public/domctl.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/public/domctl.h
-+++ xen-4.0.2-testing/xen/include/public/domctl.h
+--- xen-4.0.3-testing.orig/xen/include/public/domctl.h
++++ xen-4.0.3-testing/xen/include/public/domctl.h
@@ -35,7 +35,7 @@
#include "xen.h"
#include "grant_table.h"
@@ -118,10 +118,10 @@
struct xenctl_cpumap {
XEN_GUEST_HANDLE_64(uint8) bitmap;
-Index: xen-4.0.2-testing/xen/include/xen/softirq.h
+Index: xen-4.0.3-testing/xen/include/xen/softirq.h
===================================================================
---- xen-4.0.2-testing.orig/xen/include/xen/softirq.h
-+++ xen-4.0.2-testing/xen/include/xen/softirq.h
+--- xen-4.0.3-testing.orig/xen/include/xen/softirq.h
++++ xen-4.0.3-testing/xen/include/xen/softirq.h
@@ -52,15 +52,17 @@ struct tasklet
bool_t is_scheduled;
bool_t is_running;
++++++ cpupools-core.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:54.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,9 +1,7 @@
From: Juergen Gross
-Index: xen-4.0.2-testing/xen/arch/x86/acpi/power.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/acpi/power.c
-+++ xen-4.0.2-testing/xen/arch/x86/acpi/power.c
+--- a/xen/arch/x86/acpi/power.c
++++ b/xen/arch/x86/acpi/power.c
@@ -236,7 +236,7 @@ static int enter_state(u32 state)
return error;
}
@@ -22,10 +20,8 @@
}
static int acpi_get_wake_status(void)
-Index: xen-4.0.2-testing/xen/arch/x86/domain.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/domain.c
-+++ xen-4.0.2-testing/xen/arch/x86/domain.c
+--- a/xen/arch/x86/domain.c
++++ b/xen/arch/x86/domain.c
@@ -1527,42 +1527,52 @@ void sync_vcpu_execstate(struct vcpu *v)
}
@@ -139,10 +135,8 @@
return 0;
}
-Index: xen-4.0.2-testing/xen/arch/x86/domain_build.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/domain_build.c
-+++ xen-4.0.2-testing/xen/arch/x86/domain_build.c
+--- a/xen/arch/x86/domain_build.c
++++ b/xen/arch/x86/domain_build.c
@@ -9,6 +9,7 @@
#include
#include
@@ -183,10 +177,8 @@
/* Set up CR3 value for write_ptbase */
if ( paging_mode_enabled(d) )
-Index: xen-4.0.2-testing/xen/arch/x86/microcode.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/microcode.c
-+++ xen-4.0.2-testing/xen/arch/x86/microcode.c
+--- a/xen/arch/x86/microcode.c
++++ b/xen/arch/x86/microcode.c
@@ -114,7 +114,7 @@ static int microcode_update_cpu(const vo
return err;
}
@@ -214,10 +206,8 @@
+ return continue_hypercall_on_cpu(info->cpu, NULL,
+ do_microcode_update, info);
}
-Index: xen-4.0.2-testing/xen/arch/x86/mm.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/mm.c
-+++ xen-4.0.2-testing/xen/arch/x86/mm.c
+--- a/xen/arch/x86/mm.c
++++ b/xen/arch/x86/mm.c
@@ -243,7 +243,7 @@ void __init arch_init_memory(void)
* Any Xen-heap pages that we will allow to be mapped will have
* their domain field set to dom_xen.
@@ -244,10 +234,8 @@
BUG_ON(dom_cow == NULL);
/* First 1MB of RAM is historically marked as I/O. */
-Index: xen-4.0.2-testing/xen/arch/x86/platform_hypercall.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/platform_hypercall.c
-+++ xen-4.0.2-testing/xen/arch/x86/platform_hypercall.c
+--- a/xen/arch/x86/platform_hypercall.c
++++ b/xen/arch/x86/platform_hypercall.c
@@ -48,12 +48,12 @@ static DEFINE_PER_CPU(uint64_t, freq);
extern int set_px_pminfo(uint32_t cpu, struct xen_processor_performance *perf);
extern long set_cx_pminfo(uint32_t cpu, struct xen_processor_power *power);
@@ -272,7 +260,7 @@
cpu_frequency_change_helper,
NULL);
break;
-@@ -472,7 +472,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
+@@ -488,7 +488,7 @@ ret_t do_platform_op(XEN_GUEST_HANDLE(xe
break;
}
ret = continue_hypercall_on_cpu(
@@ -281,10 +269,8 @@
break;
}
break;
-Index: xen-4.0.2-testing/xen/arch/x86/setup.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/setup.c
-+++ xen-4.0.2-testing/xen/arch/x86/setup.c
+--- a/xen/arch/x86/setup.c
++++ b/xen/arch/x86/setup.c
@@ -2,6 +2,7 @@
#include
#include
@@ -317,10 +303,8 @@
if ( (dom0 == NULL) || (alloc_dom0_vcpu0() == NULL) )
panic("Error creating domain 0\n");
-Index: xen-4.0.2-testing/xen/arch/x86/smpboot.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/smpboot.c
-+++ xen-4.0.2-testing/xen/arch/x86/smpboot.c
+--- a/xen/arch/x86/smpboot.c
++++ b/xen/arch/x86/smpboot.c
@@ -39,6 +39,7 @@
#include
#include
@@ -389,10 +373,8 @@
cpufreq_add_cpu(cpu);
return 0;
}
-Index: xen-4.0.2-testing/xen/arch/x86/sysctl.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/sysctl.c
-+++ xen-4.0.2-testing/xen/arch/x86/sysctl.c
+--- a/xen/arch/x86/sysctl.c
++++ b/xen/arch/x86/sysctl.c
@@ -29,7 +29,7 @@
#define get_xen_guest_handle(val, hnd) do { val = (hnd).p; } while (0)
@@ -411,10 +393,8 @@
break;
case XEN_SYSCTL_CPU_HOTPLUG_STATUS:
ret = 0;
-Index: xen-4.0.2-testing/xen/common/Makefile
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/Makefile
-+++ xen-4.0.2-testing/xen/common/Makefile
+--- a/xen/common/Makefile
++++ b/xen/common/Makefile
@@ -1,5 +1,6 @@
obj-y += bitmap.o
obj-y += cpu.o
@@ -422,10 +402,8 @@
obj-y += domctl.o
obj-y += domain.o
obj-y += event_channel.o
-Index: xen-4.0.2-testing/xen/common/cpupool.c
-===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/xen/common/cpupool.c
++++ b/xen/common/cpupool.c
@@ -0,0 +1,609 @@
+/******************************************************************************
+ * cpupool.c
@@ -1036,10 +1014,8 @@
+ * indent-tabs-mode: nil
+ * End:
+ */
-Index: xen-4.0.2-testing/xen/common/domain.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/domain.c
-+++ xen-4.0.2-testing/xen/common/domain.c
+--- a/xen/common/domain.c
++++ b/xen/common/domain.c
@@ -209,7 +209,7 @@ static void __init parse_extra_guest_irq
custom_param("extra_guest_irqs", parse_extra_guest_irqs);
@@ -1068,10 +1044,8 @@
sched_destroy_domain(d);
/* Free page used by xen oprofile buffer. */
-Index: xen-4.0.2-testing/xen/common/domctl.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/domctl.c
-+++ xen-4.0.2-testing/xen/common/domctl.c
+--- a/xen/common/domctl.c
++++ b/xen/common/domctl.c
@@ -11,6 +11,7 @@
#include
#include
@@ -1147,10 +1121,8 @@
if ( alloc_vcpu(d, i, cpu) == NULL )
goto maxvcpu_out;
-Index: xen-4.0.2-testing/xen/common/kexec.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/kexec.c
-+++ xen-4.0.2-testing/xen/common/kexec.c
+--- a/xen/common/kexec.c
++++ b/xen/common/kexec.c
@@ -228,7 +228,7 @@ void kexec_crash(void)
BUG();
}
@@ -1160,7 +1132,7 @@
{
xen_kexec_image_t *image = _image;
-@@ -582,7 +582,7 @@ static int kexec_exec(XEN_GUEST_HANDLE(v
+@@ -586,7 +586,7 @@ static int kexec_exec(XEN_GUEST_HANDLE(v
case KEXEC_TYPE_DEFAULT:
image = &kexec_image[base + pos];
#ifdef CONFIG_X86
@@ -1169,10 +1141,8 @@
#else
one_cpu_only();
machine_reboot_kexec(image); /* Does not return */
-Index: xen-4.0.2-testing/xen/common/sched_credit.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/sched_credit.c
-+++ xen-4.0.2-testing/xen/common/sched_credit.c
+--- a/xen/common/sched_credit.c
++++ b/xen/common/sched_credit.c
@@ -70,11 +70,15 @@
/*
* Useful macros
@@ -2061,7 +2031,7 @@
.destroy_vcpu = csched_vcpu_destroy,
.sleep = csched_vcpu_sleep,
-@@ -1422,6 +1551,13 @@ const struct scheduler sched_credit_def
+@@ -1422,6 +1551,13 @@ const struct scheduler sched_credit_def
.dump_cpu_state = csched_dump_pcpu,
.dump_settings = csched_dump,
.init = csched_init,
@@ -2075,10 +2045,8 @@
.tick_suspend = csched_tick_suspend,
.tick_resume = csched_tick_resume,
-Index: xen-4.0.2-testing/xen/common/sched_sedf.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/sched_sedf.c
-+++ xen-4.0.2-testing/xen/common/sched_sedf.c
+--- a/xen/common/sched_sedf.c
++++ b/xen/common/sched_sedf.c
@@ -21,6 +21,9 @@
printk(_a ); \
} while ( 0 )
@@ -2344,7 +2312,7 @@
.name = "Simple EDF Scheduler",
.opt_name = "sedf",
.sched_id = XEN_SCHEDULER_SEDF,
-@@ -1463,9 +1508,15 @@ const struct scheduler sched_sedf_def =
+@@ -1463,9 +1508,15 @@ const struct scheduler sched_sedf_def =
.init_domain = sedf_init_domain,
.destroy_domain = sedf_destroy_domain,
@@ -2361,10 +2329,8 @@
.do_schedule = sedf_do_schedule,
.pick_cpu = sedf_pick_cpu,
.dump_cpu_state = sedf_dump_cpu_state,
-Index: xen-4.0.2-testing/xen/common/schedule.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/schedule.c
-+++ xen-4.0.2-testing/xen/common/schedule.c
+--- a/xen/common/schedule.c
++++ b/xen/common/schedule.c
@@ -53,10 +53,11 @@ static void poll_timer_fn(void *data);
/* This is global for now so that private implementations can reach it */
@@ -2697,20 +2663,21 @@
{
struct vcpu *prev = current, *next = NULL;
s_time_t now = NOW();
-+ struct scheduler *sched = this_cpu(scheduler);
++ struct scheduler *sched;
struct schedule_data *sd;
struct task_slice next_slice;
-@@ -871,7 +950,7 @@ static void schedule(void)
+@@ -871,7 +950,8 @@ static void schedule(void)
stop_timer(&sd->s_timer);
/* get policy-specific decision on scheduling... */
- next_slice = ops.do_schedule(now);
++ sched = this_cpu(scheduler);
+ next_slice = sched->do_schedule(sched, now);
next = next_slice.task;
-@@ -977,6 +1056,19 @@ static void poll_timer_fn(void *data)
+@@ -977,6 +1057,19 @@ static void poll_timer_fn(void *data)
vcpu_unblock(v);
}
@@ -2730,7 +2697,7 @@
/* Initialise the data structures. */
void __init scheduler_init(void)
{
-@@ -984,12 +1076,6 @@ void __init scheduler_init(void)
+@@ -984,12 +1077,6 @@ void __init scheduler_init(void)
open_softirq(SCHEDULE_SOFTIRQ, schedule);
@@ -2743,7 +2710,7 @@
for ( i = 0; schedulers[i] != NULL; i++ )
{
ops = *schedulers[i];
-@@ -1003,43 +1089,123 @@ void __init scheduler_init(void)
+@@ -1003,43 +1090,123 @@ void __init scheduler_init(void)
ops = *schedulers[0];
}
@@ -2883,10 +2850,8 @@
}
#ifdef CONFIG_COMPAT
-Index: xen-4.0.2-testing/xen/common/softirq.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/softirq.c
-+++ xen-4.0.2-testing/xen/common/softirq.c
+--- a/xen/common/softirq.c
++++ b/xen/common/softirq.c
@@ -98,9 +98,11 @@ void raise_softirq(unsigned int nr)
}
@@ -2980,10 +2945,8 @@
open_softirq(TASKLET_SOFTIRQ, tasklet_action);
}
-Index: xen-4.0.2-testing/xen/common/sysctl.c
-===================================================================
---- xen-4.0.2-testing.orig/xen/common/sysctl.c
-+++ xen-4.0.2-testing/xen/common/sysctl.c
+--- a/xen/common/sysctl.c
++++ b/xen/common/sysctl.c
@@ -314,6 +314,14 @@ long do_sysctl(XEN_GUEST_HANDLE(xen_sysc
}
break;
@@ -2999,10 +2962,8 @@
default:
ret = arch_do_sysctl(op, u_sysctl);
break;
-Index: xen-4.0.2-testing/xen/include/asm-x86/domain.h
-===================================================================
---- xen-4.0.2-testing.orig/xen/include/asm-x86/domain.h
-+++ xen-4.0.2-testing/xen/include/asm-x86/domain.h
+--- a/xen/include/asm-x86/domain.h
++++ b/xen/include/asm-x86/domain.h
@@ -458,7 +458,8 @@ struct arch_vcpu
#define hvm_svm hvm_vcpu.u.svm
@@ -3013,10 +2974,8 @@
void vcpu_show_execution_state(struct vcpu *);
void vcpu_show_registers(const struct vcpu *);
-Index: xen-4.0.2-testing/xen/include/public/domctl.h
-===================================================================
---- xen-4.0.2-testing.orig/xen/include/public/domctl.h
-+++ xen-4.0.2-testing/xen/include/public/domctl.h
+--- a/xen/include/public/domctl.h
++++ b/xen/include/public/domctl.h
@@ -60,10 +60,10 @@ struct xen_domctl_createdomain {
/* Should domain memory integrity be verifed by tboot during Sx? */
#define _XEN_DOMCTL_CDF_s3_integrity 2
@@ -3045,10 +3004,8 @@
struct xen_domctl {
uint32_t cmd;
#define XEN_DOMCTL_createdomain 1
-Index: xen-4.0.2-testing/xen/include/public/sysctl.h
-===================================================================
---- xen-4.0.2-testing.orig/xen/include/public/sysctl.h
-+++ xen-4.0.2-testing/xen/include/public/sysctl.h
+--- a/xen/include/public/sysctl.h
++++ b/xen/include/public/sysctl.h
@@ -491,6 +491,28 @@ struct xen_sysctl_lockprof_op {
typedef struct xen_sysctl_lockprof_op xen_sysctl_lockprof_op_t;
DEFINE_XEN_GUEST_HANDLE(xen_sysctl_lockprof_op_t);
@@ -3086,10 +3043,8 @@
uint8_t pad[128];
} u;
};
-Index: xen-4.0.2-testing/xen/include/xen/sched-if.h
-===================================================================
---- xen-4.0.2-testing.orig/xen/include/xen/sched-if.h
-+++ xen-4.0.2-testing/xen/include/xen/sched-if.h
+--- a/xen/include/xen/sched-if.h
++++ b/xen/include/xen/sched-if.h
@@ -10,16 +10,26 @@
#include
@@ -3181,10 +3136,8 @@
+struct scheduler *scheduler_get_by_id(unsigned int id);
+
#endif /* __XEN_SCHED_IF_H__ */
-Index: xen-4.0.2-testing/xen/include/xen/sched.h
-===================================================================
---- xen-4.0.2-testing.orig/xen/include/xen/sched.h
-+++ xen-4.0.2-testing/xen/include/xen/sched.h
+--- a/xen/include/xen/sched.h
++++ b/xen/include/xen/sched.h
@@ -9,6 +9,7 @@
#include
#include
@@ -3193,7 +3146,7 @@
#include
#include
#include
-@@ -132,8 +133,6 @@ struct vcpu
+@@ -132,8 +133,6 @@ struct vcpu
bool_t defer_shutdown;
/* VCPU is paused following shutdown request (d->is_shutting_down)? */
bool_t paused_for_shutdown;
@@ -3266,10 +3219,8 @@
#endif /* __SCHED_H__ */
/*
-Index: xen-4.0.2-testing/xen/include/xen/softirq.h
-===================================================================
---- xen-4.0.2-testing.orig/xen/include/xen/softirq.h
-+++ xen-4.0.2-testing/xen/include/xen/softirq.h
+--- a/xen/include/xen/softirq.h
++++ b/xen/include/xen/softirq.h
@@ -60,6 +60,7 @@ struct tasklet
struct tasklet name = { LIST_HEAD_INIT(name.list), 0, 0, 0, func, data }
++++++ cve-2012-0029-qemu-xen-unstable.patch ++++++
Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/e1000.c
===================================================================
--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/e1000.c
+++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/e1000.c
@@ -432,6 +432,8 @@ process_tx_desc(E1000State *s, struct e1
bytes = split_size;
if (tp->size + bytes > msh)
bytes = msh - tp->size;
+
+ bytes = MIN(sizeof(tp->data) - tp->size, bytes);
cpu_physical_memory_read(addr, tp->data + tp->size, bytes);
if ((sz = tp->size + bytes) >= hdr && tp->size < hdr)
memmove(tp->header, tp->data, hdr);
@@ -447,6 +449,7 @@ process_tx_desc(E1000State *s, struct e1
// context descriptor TSE is not set, while data descriptor TSE is set
DBGOUT(TXERR, "TCP segmentaion Error\n");
} else {
+ split_size = MIN(sizeof(tp->data) - tp->size, split_size);
cpu_physical_memory_read(addr, tp->data + tp->size, split_size);
tp->size += split_size;
}
++++++ del_usb_xend_entry.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,8 +1,8 @@
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -1310,8 +1310,15 @@ class XendDomainInfo:
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
+@@ -1311,8 +1311,15 @@ class XendDomainInfo:
frontpath = self.getDeviceController(deviceClass).frontendPath(dev)
backpath = xstransact.Read(frontpath, "backend")
thread.start_new_thread(self.getDeviceController(deviceClass).finishDeviceCleanup, (backpath, path))
++++++ disable_emulated_device.diff ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+Index: xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
===================================================================
---- xen-4.0.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
-+++ xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+--- xen-4.0.3-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
++++ xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -396,6 +396,11 @@ static int __devinit platform_pci_init(s
platform_mmio = mmio_addr;
platform_mmiolen = mmio_len;
++++++ dom-print.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/xen/arch/x86/domain.c
+Index: xen-4.0.3-testing/xen/arch/x86/domain.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/domain.c
-+++ xen-4.0.2-testing/xen/arch/x86/domain.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/domain.c
++++ xen-4.0.3-testing/xen/arch/x86/domain.c
@@ -144,15 +144,30 @@ void dump_pageframe_info(struct domain *
printk("Memory pages belonging to domain %u:\n", d->domain_id);
++++++ domu-usb-controller.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendConfig.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendConfig.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
@@ -1861,7 +1861,14 @@ class XendConfig(dict):
ports = sxp.child(dev_sxp, 'port')
for port in ports[1:]:
++++++ dump-exec-state.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,6 +1,8 @@
---- a/xen/arch/ia64/linux-xen/smp.c
-+++ b/xen/arch/ia64/linux-xen/smp.c
-@@ -94,6 +94,7 @@ static volatile struct call_data_struct
+Index: xen-4.0.3-testing/xen/arch/ia64/linux-xen/smp.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/ia64/linux-xen/smp.c
++++ xen-4.0.3-testing/xen/arch/ia64/linux-xen/smp.c
+@@ -94,6 +94,7 @@ static volatile struct call_data_struct
#define IPI_CALL_FUNC 0
#define IPI_CPU_STOP 1
@@ -32,9 +34,11 @@
int __init
setup_profiling_timer (unsigned int multiplier)
{
---- a/xen/arch/x86/smp.c
-+++ b/xen/arch/x86/smp.c
-@@ -370,11 +370,24 @@ void smp_send_nmi_allbutself(void)
+Index: xen-4.0.3-testing/xen/arch/x86/smp.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/arch/x86/smp.c
++++ xen-4.0.3-testing/xen/arch/x86/smp.c
+@@ -371,12 +371,25 @@ void smp_send_nmi_allbutself(void)
send_IPI_mask(&cpu_online_map, APIC_DM_NMI);
}
@@ -49,6 +53,7 @@
struct cpu_user_regs *old_regs = set_irq_regs(regs);
ack_APIC_irq();
perfc_incr(ipis);
+ this_cpu(irq_count)++;
+ if ( unlikely(state_dump_pending(smp_processor_id())) )
+ {
+ irq_enter();
@@ -59,8 +64,10 @@
set_irq_regs(old_regs);
}
---- a/xen/common/keyhandler.c
-+++ b/xen/common/keyhandler.c
+Index: xen-4.0.3-testing/xen/common/keyhandler.c
+===================================================================
+--- xen-4.0.3-testing.orig/xen/common/keyhandler.c
++++ xen-4.0.3-testing/xen/common/keyhandler.c
@@ -71,19 +71,52 @@ static struct keyhandler show_handlers_k
.desc = "show this message"
};
@@ -151,8 +158,10 @@
printk("\n");
---- a/xen/include/asm-ia64/linux-xen/asm/ptrace.h
-+++ b/xen/include/asm-ia64/linux-xen/asm/ptrace.h
+Index: xen-4.0.3-testing/xen/include/asm-ia64/linux-xen/asm/ptrace.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-ia64/linux-xen/asm/ptrace.h
++++ xen-4.0.3-testing/xen/include/asm-ia64/linux-xen/asm/ptrace.h
@@ -278,7 +278,7 @@ struct switch_stack {
# define ia64_task_regs(t) (((struct pt_regs *) ((char *) (t) + IA64_STK_OFFSET)) - 1)
# define ia64_psr(regs) ((struct ia64_psr *) &(regs)->cr_ipsr)
@@ -162,8 +171,10 @@
# define guest_kernel_mode(regs) (ia64_psr(regs)->cpl == CONFIG_CPL0_EMUL)
# define vmx_guest_kernel_mode(regs) (ia64_psr(regs)->cpl == 0)
# define regs_increment_iip(regs) \
---- a/xen/include/asm-x86/hardirq.h
-+++ b/xen/include/asm-x86/hardirq.h
+Index: xen-4.0.3-testing/xen/include/asm-x86/hardirq.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/asm-x86/hardirq.h
++++ xen-4.0.3-testing/xen/include/asm-x86/hardirq.h
@@ -8,6 +8,7 @@ typedef struct {
unsigned long __softirq_pending;
unsigned int __local_irq_count;
@@ -172,8 +183,10 @@
} __cacheline_aligned irq_cpustat_t;
#include /* Standard mappings for irq_cpustat_t above */
---- a/xen/include/xen/irq_cpustat.h
-+++ b/xen/include/xen/irq_cpustat.h
+Index: xen-4.0.3-testing/xen/include/xen/irq_cpustat.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/xen/irq_cpustat.h
++++ xen-4.0.3-testing/xen/include/xen/irq_cpustat.h
@@ -26,5 +26,6 @@ extern irq_cpustat_t irq_stat[];
#define softirq_pending(cpu) __IRQ_STAT((cpu), __softirq_pending)
#define local_irq_count(cpu) __IRQ_STAT((cpu), __local_irq_count)
@@ -181,8 +194,10 @@
+#define state_dump_pending(cpu) __IRQ_STAT((cpu), __state_dump_pending)
#endif /* __irq_cpustat_h */
---- a/xen/include/xen/lib.h
-+++ b/xen/include/xen/lib.h
+Index: xen-4.0.3-testing/xen/include/xen/lib.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/xen/lib.h
++++ xen-4.0.3-testing/xen/include/xen/lib.h
@@ -116,4 +116,7 @@ extern int tainted;
extern char *print_tainted(char *str);
extern void add_taint(unsigned);
@@ -191,8 +206,10 @@
+void dump_execstate(struct cpu_user_regs *);
+
#endif /* __LIB_H__ */
---- a/xen/include/xen/smp.h
-+++ b/xen/include/xen/smp.h
+Index: xen-4.0.3-testing/xen/include/xen/smp.h
+===================================================================
+--- xen-4.0.3-testing.orig/xen/include/xen/smp.h
++++ xen-4.0.3-testing/xen/include/xen/smp.h
@@ -13,6 +13,8 @@ extern void smp_send_event_check_mask(co
#define smp_send_event_check_cpu(cpu) \
smp_send_event_check_mask(cpumask_of(cpu))
++++++ enable_more_nic_pxe.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/firmware/etherboot/Config
+Index: xen-4.0.3-testing/tools/firmware/etherboot/Config
===================================================================
---- xen-4.0.2-testing.orig/tools/firmware/etherboot/Config
-+++ xen-4.0.2-testing/tools/firmware/etherboot/Config
+--- xen-4.0.3-testing.orig/tools/firmware/etherboot/Config
++++ xen-4.0.3-testing/tools/firmware/etherboot/Config
@@ -1,5 +1,5 @@
-NICS = rtl8139 eepro100
@@ -9,10 +9,10 @@
CFLAGS += -UPXE_DHCP_STRICT
CFLAGS += -DPXE_DHCP_STRICT
-Index: xen-4.0.2-testing/tools/firmware/etherboot/eb-roms.h
+Index: xen-4.0.3-testing/tools/firmware/etherboot/eb-roms.h
===================================================================
---- xen-4.0.2-testing.orig/tools/firmware/etherboot/eb-roms.h
-+++ xen-4.0.2-testing/tools/firmware/etherboot/eb-roms.h
+--- xen-4.0.3-testing.orig/tools/firmware/etherboot/eb-roms.h
++++ xen-4.0.3-testing/tools/firmware/etherboot/eb-roms.h
@@ -6367,5 +6367,6149 @@ unsigned etherboot[] = {
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
++++++ hibernate.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/firmware/hvmloader/acpi/dsdt.asl
+Index: xen-4.0.3-testing/tools/firmware/hvmloader/acpi/dsdt.asl
===================================================================
---- xen-4.0.2-testing.orig/tools/firmware/hvmloader/acpi/dsdt.asl
-+++ xen-4.0.2-testing/tools/firmware/hvmloader/acpi/dsdt.asl
+--- xen-4.0.3-testing.orig/tools/firmware/hvmloader/acpi/dsdt.asl
++++ xen-4.0.3-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:
++++++ hotplug-block-losetup-a.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -17,10 +17,10 @@
tools/hotplug/Linux/block | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
-Index: xen-4.0.2-testing/tools/hotplug/Linux/block
+Index: xen-4.0.3-testing/tools/hotplug/Linux/block
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/block
-+++ xen-4.0.2-testing/tools/hotplug/Linux/block
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/block
++++ xen-4.0.3-testing/tools/hotplug/Linux/block
@@ -279,9 +279,9 @@ mount it read-write in a guest domain."
fatal "Unable to lookup $file: dev: $dev inode: $inode"
fi
++++++ hv_extid_compatibility.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendConfig.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendConfig.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
@@ -157,6 +157,7 @@ XENAPI_PLATFORM_CFG_TYPES = {
'nographic': int,
'nomigrate': int,
@@ -19,10 +19,10 @@
if 'viridian' not in self['platform']:
self['platform']['viridian'] = 0
if 'rtc_timeoffset' not in self['platform']:
-Index: xen-4.0.2-testing/tools/python/xen/xend/image.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/image.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/image.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/image.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/image.py
++++ xen-4.0.3-testing/tools/python/xen/xend/image.py
@@ -842,6 +842,7 @@ class HVMImageHandler(ImageHandler):
self.apic = int(vmConfig['platform'].get('apic', 0))
@@ -31,10 +31,10 @@
self.guest_os_type = vmConfig['platform'].get('guest_os_type')
self.memory_sharing = int(vmConfig['memory_sharing'])
try:
-Index: xen-4.0.2-testing/tools/python/xen/xm/create.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/create.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xm/create.py
-+++ xen-4.0.2-testing/tools/python/xen/xm/create.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xm/create.py
++++ xen-4.0.3-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).""")
++++++ ioemu-7615-qcow2-fix-alloc_cluster_link_l2.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -17,10 +17,10 @@
Signed-off-by: Kevin Wolf
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/block-qcow2.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/block-qcow2.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/block-qcow2.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/block-qcow2.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/block-qcow2.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/block-qcow2.c
@@ -916,7 +916,7 @@ static int alloc_cluster_link_l2(BlockDr
goto err;
++++++ ioemu-bdrv-open-CACHE_WB.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
++++ xen-4.0.3-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");
++++++ ioemu-blktap-barriers.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
@@ -360,6 +360,15 @@ static void qemu_send_responses(void* op
}
++++++ ioemu-blktap-fv-init.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_machine_fv.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_machine_fv.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_machine_fv.c
@@ -268,6 +268,7 @@ void qemu_invalidate_entry(uint8_t *buff
#endif /* defined(MAPCACHE) */
++++++ ioemu-blktap-image-format.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -15,10 +15,10 @@
hw/xen_blktap.h | 14 ++++++++++++++
2 files changed, 33 insertions(+), 3 deletions(-)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
++++ xen-4.0.3-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 @@
msglen = sizeof(msg_hdr_t);
msg->type = CTLMSG_IMG_FAIL;
msg->len = msglen;
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h
@@ -53,4 +53,18 @@ typedef struct fd_list_entry {
int init_blktap(void);
++++++ ioemu-blktap-zero-size.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -12,10 +12,10 @@
hw/xen_blktap.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
++++ xen-4.0.3-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 @@
s->info = ((s->flags & TD_RDONLY) ? VDISK_READONLY : 0);
return 0;
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/DevController.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/DevController.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/DevController.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/DevController.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/DevController.py
++++ xen-4.0.3-testing/tools/python/xen/xend/server/DevController.py
@@ -155,7 +155,7 @@ class DevController:
(devid, self.deviceClass))
++++++ ioemu-debuginfo.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/Makefile
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/Makefile
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/Makefile
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/Makefile
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/Makefile
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/Makefile
@@ -243,7 +243,7 @@ endif
install: all $(if $(BUILD_DOCS),install-doc)
mkdir -p "$(DESTDIR)$(bindir)"
@@ -11,10 +11,10 @@
endif
ifneq ($(BLOBS),)
mkdir -p "$(DESTDIR)$(datadir)"
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/Makefile.target
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/Makefile.target
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/Makefile.target
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/Makefile.target
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/Makefile.target
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/Makefile.target
@@ -754,7 +754,7 @@ clean:
install: all install-hook
++++++ ioemu-disable-emulated-ide-if-pv.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-xen.h
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-xen.h
@@ -1,6 +1,8 @@
#ifndef QEMU_XEN_H
#define QEMU_XEN_H
@@ -20,10 +20,10 @@
int xenstore_parse_disable_pf_config(void);
int xenstore_fd(void);
void xenstore_process_event(void *opaque);
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vl.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/vl.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vl.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vl.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/vl.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/vl.c
@@ -5827,10 +5827,10 @@ 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);
@@ -37,10 +37,10 @@
#endif /* CONFIG_STUBDOM */
/* we always create the cdrom drive, even if no disk is there */
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/xenstore.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
@@ -397,7 +397,7 @@ static const char *xenstore_get_guest_uu
#define PT_PCI_POWER_MANAGEMENT_DEFAULT 0
int direct_pci_msitranslate;
++++++ ioemu-disable-scsi.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_platform.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_platform.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_platform.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_platform.c
@@ -359,6 +359,8 @@ static void platform_ioport_write(void *
case 4:
fprintf(logfile, "Disconnect IDE hard disk...\n");
@@ -11,10 +11,10 @@
fprintf(logfile, "Disconnect netifs...\n");
pci_unplug_netifs();
fprintf(logfile, "Shutdown taps...\n");
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-xen.h
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-xen.h
@@ -57,6 +57,7 @@ void unset_vram_mapping(void *opaque);
#endif
@@ -23,10 +23,10 @@
void destroy_hvm_domain(void);
void unregister_iomem(target_phys_addr_t start);
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/pci.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/pci.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/pci.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/pci.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/pci.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/pci.c
@@ -892,6 +892,50 @@ void pci_unplug_netifs(void)
}
}
++++++ ioemu-vnc-resize.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/vnc.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/vnc.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/vnc.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/vnc.c
@@ -1734,6 +1734,25 @@ static int protocol_client_msg(VncState
}
++++++ ipxe-v1.0.0-update.patch ++++++
++++ 12658 lines (skipped)
++++++ libxen_permissive.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:55.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:55.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/libxen/src/xen_common.c
+Index: xen-4.0.3-testing/tools/libxen/src/xen_common.c
===================================================================
---- xen-4.0.2-testing.orig/tools/libxen/src/xen_common.c
-+++ xen-4.0.2-testing/tools/libxen/src/xen_common.c
+--- xen-4.0.3-testing.orig/tools/libxen/src/xen_common.c
++++ xen-4.0.3-testing/tools/libxen/src/xen_common.c
@@ -904,8 +904,15 @@ static void parse_into(xen_session *s, x
0 != strcmp((char *)value_node->children->name, "struct") ||
value_node->children->children == NULL)
++++++ magic_ioport_compat.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -2,10 +2,10 @@
Signed-off-by: K. Y. Srinivasan
-Index: xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+Index: xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
===================================================================
---- xen-4.0.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
-+++ xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+--- xen-4.0.3-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
++++ xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -320,7 +320,10 @@ static int check_platform_magic(struct d
if (magic != XEN_IOPORT_MAGIC_VAL) {
++++++ minios-fixups.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/extras/mini-os/netfront.c
+Index: xen-4.0.3-testing/extras/mini-os/netfront.c
===================================================================
---- xen-4.0.2-testing.orig/extras/mini-os/netfront.c
-+++ xen-4.0.2-testing/extras/mini-os/netfront.c
+--- xen-4.0.3-testing.orig/extras/mini-os/netfront.c
++++ xen-4.0.3-testing/extras/mini-os/netfront.c
@@ -25,8 +25,8 @@ DECLARE_WAIT_QUEUE_HEAD(netfront_queue);
@@ -13,10 +13,10 @@
#define GRANT_INVALID_REF 0
-Index: xen-4.0.2-testing/extras/mini-os/lib/math.c
+Index: xen-4.0.3-testing/extras/mini-os/lib/math.c
===================================================================
---- xen-4.0.2-testing.orig/extras/mini-os/lib/math.c
-+++ xen-4.0.2-testing/extras/mini-os/lib/math.c
+--- xen-4.0.3-testing.orig/extras/mini-os/lib/math.c
++++ xen-4.0.3-testing/extras/mini-os/lib/math.c
@@ -191,6 +191,7 @@ __qdivrem(uint64_t uq, uint64_t vq, uint
* and thus
* m = 4 - n <= 2
@@ -25,10 +25,10 @@
tmp.uq = uq;
u[0] = 0;
u[1] = HHALF(tmp.ul[H]);
-Index: xen-4.0.2-testing/extras/mini-os/arch/x86/mm.c
+Index: xen-4.0.3-testing/extras/mini-os/arch/x86/mm.c
===================================================================
---- xen-4.0.2-testing.orig/extras/mini-os/arch/x86/mm.c
-+++ xen-4.0.2-testing/extras/mini-os/arch/x86/mm.c
+--- xen-4.0.3-testing.orig/extras/mini-os/arch/x86/mm.c
++++ xen-4.0.3-testing/extras/mini-os/arch/x86/mm.c
@@ -281,7 +281,7 @@ static void build_pagetable(unsigned lon
/*
* Mark portion of the address space read only.
++++++ multi-xvdp.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -5,10 +5,10 @@
loopback devices so more than one instance of bootloader can be run
concurrently.
-Index: xen-4.0.2-testing/tools/python/xen/util/blkif.py
+Index: xen-4.0.3-testing/tools/python/xen/util/blkif.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/util/blkif.py
-+++ xen-4.0.2-testing/tools/python/xen/util/blkif.py
+--- xen-4.0.3-testing.orig/tools/python/xen/util/blkif.py
++++ xen-4.0.3-testing/tools/python/xen/util/blkif.py
@@ -19,11 +19,6 @@ def blkdev_name_to_number(name):
devname = 'virtual-device'
devnum = None
@@ -21,10 +21,10 @@
scsi_major = [ 8, 65, 66, 67, 68, 69, 70, 71, 128, 129, 130, 131, 132, 133, 134, 135 ]
if re.match( '/dev/sd[a-z]([1-9]|1[0-5])?$', n):
major = scsi_major[(ord(n[7:8]) - ord('a')) / 16]
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
@@ -73,7 +73,7 @@ from xen.xend.XendPSCSI import XendPSCSI
from xen.xend.XendDSCSI import XendDSCSI, XendDSCSI_HBA
@@ -34,7 +34,7 @@
xc = xen.lowlevel.xc.xc()
xoptions = XendOptions.instance()
-@@ -3304,33 +3304,38 @@ class XendDomainInfo:
+@@ -3307,32 +3307,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.
@@ -50,10 +50,8 @@
- from xen.xend import XendDomain
- dom0 = XendDomain.instance().privilegedDomain()
- mounted_vbd_uuid = dom0.create_vbd(vbd, disk);
-- vbd_uuid = dom0.create_vbd(vbd, disk)
-- dom0._waitForDeviceFrontUUID(vbd_uuid)
+- dom0._waitForDeviceFrontUUID(mounted_vbd_uuid)
- fn = BOOTLOADER_LOOPBACK_DEVICE
--
+ # Try all possible loopback_devices
+ for loopback_device in BOOTLOADER_LOOPBACK_DEVICES:
+ log.info("Mounting %s on %s." % (fn, loopback_device))
@@ -61,8 +59,8 @@
+ 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:
@@ -75,20 +73,21 @@
+ raise
+ else:
+ raise
+
try:
blcfg = bootloader(blexec, fn, self, False,
bootloader_args, kernel, ramdisk, args)
finally:
if mounted:
- log.info("Unmounting %s from %s." %
+- log.info("Unmounting %s from %s." %
- (fn, BOOTLOADER_LOOPBACK_DEVICE))
-+ (fn, loopback_device))
++ log.info("Unmounting %s from %s." % (fn, loopback_device))
if devtype in ['tap', 'tap2']:
- dom0.destroyDevice('tap', BOOTLOADER_LOOPBACK_DEVICE, rm_cfg = True)
+ dom0.destroyDevice('tap', loopback_device, rm_cfg = True)
else:
- dom0.destroyDevice('vbd', BOOTLOADER_LOOPBACK_DEVICE, rm_cfg = True)
+ dom0.destroyDevice('vbd', loopback_device, rm_cfg = True)
+
if blcfg is None:
msg = "Had a bootloader specified, but can't find disk"
- log.error(msg)
++++++ network-nat-open-SuSEfirewall2-FORWARD.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,9 +1,9 @@
Open SuSEfirewall2 FORWARD rule when use xen nat
-Index: xen-4.0.2-testing/tools/hotplug/Linux/network-nat
+Index: xen-4.0.3-testing/tools/hotplug/Linux/network-nat
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/network-nat
-+++ xen-4.0.2-testing/tools/hotplug/Linux/network-nat
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/network-nat
++++ xen-4.0.3-testing/tools/hotplug/Linux/network-nat
@@ -83,6 +83,7 @@ function dhcp_stop()
op_start() {
echo 1 >/proc/sys/net/ipv4/ip_forward
++++++ network-nat.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/hotplug/Linux/network-nat
+Index: xen-4.0.3-testing/tools/hotplug/Linux/network-nat
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/network-nat
-+++ xen-4.0.2-testing/tools/hotplug/Linux/network-nat
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/network-nat
++++ xen-4.0.3-testing/tools/hotplug/Linux/network-nat
@@ -1,4 +1,4 @@
-#!/bin/bash -x
+#!/bin/bash
++++++ network-route.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/hotplug/Linux/network-route
+Index: xen-4.0.3-testing/tools/hotplug/Linux/network-route
===================================================================
---- xen-4.0.2-testing.orig/tools/hotplug/Linux/network-route
-+++ xen-4.0.2-testing/tools/hotplug/Linux/network-route
+--- xen-4.0.3-testing.orig/tools/hotplug/Linux/network-route
++++ xen-4.0.3-testing/tools/hotplug/Linux/network-route
@@ -22,7 +22,7 @@ dir=$(dirname "$0")
evalVariables "$@"
++++++ popen2-argument-fix.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/python/xen/util/blkif.py
+Index: xen-4.0.3-testing/tools/python/xen/util/blkif.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/util/blkif.py
-+++ xen-4.0.2-testing/tools/python/xen/util/blkif.py
+--- xen-4.0.3-testing.orig/tools/python/xen/util/blkif.py
++++ xen-4.0.3-testing/tools/python/xen/util/blkif.py
@@ -81,7 +81,7 @@ def parse_uname(uname):
if typ == "drbd":
++++++ pv-driver-build.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild
+Index: xen-4.0.3-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild
===================================================================
---- xen-4.0.2-testing.orig/unmodified_drivers/linux-2.6/blkfront/Kbuild
-+++ xen-4.0.2-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild
+--- xen-4.0.3-testing.orig/unmodified_drivers/linux-2.6/blkfront/Kbuild
++++ xen-4.0.3-testing/unmodified_drivers/linux-2.6/blkfront/Kbuild
@@ -3,3 +3,4 @@ include $(M)/overrides.mk
obj-m += xen-vbd.o
++++++ pvdrv-import-shared-info.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
+Index: xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
===================================================================
---- xen-4.0.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
-+++ xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
+--- xen-4.0.3-testing.orig/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
++++ xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/evtchn.c
@@ -40,7 +40,9 @@
#include
#endif
@@ -12,10 +12,10 @@
#define is_valid_evtchn(x) ((x) != 0)
#define evtchn_from_irq(x) (irq_evtchn[irq].evtchn)
-Index: xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+Index: xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
===================================================================
---- xen-4.0.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
-+++ xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
+--- xen-4.0.3-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
++++ xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.c
@@ -77,7 +77,6 @@ static uint64_t callback_via;
static int __devinit init_xen_info(void)
{
@@ -44,10 +44,10 @@
return 0;
}
-Index: xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
+Index: xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
===================================================================
---- xen-4.0.2-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
-+++ xen-4.0.2-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
+--- xen-4.0.3-testing.orig/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
++++ xen-4.0.3-testing/unmodified_drivers/linux-2.6/platform-pci/platform-pci.h
@@ -27,6 +27,11 @@
unsigned long alloc_xen_mmio(unsigned long len);
void platform_pci_resume(void);
++++++ pvdrv_emulation_control.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_platform.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_platform.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_platform.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_platform.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_platform.c
@@ -365,6 +365,19 @@ static void platform_ioport_write(void *
net_tap_shutdown_all();
fprintf(logfile, "Done.\n");
++++++ qemu-dm-segfault.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/ide.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/ide.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/ide.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/ide.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/ide.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/ide.c
@@ -935,8 +935,9 @@ static inline void ide_dma_submit_check(
static inline void ide_set_irq(IDEState *s)
++++++ qemu-security-etch1.diff ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/ne2000.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/ne2000.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/ne2000.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/ne2000.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/ne2000.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/ne2000.c
@@ -218,7 +218,7 @@ static int ne2000_can_receive(void *opaq
NE2000State *s = opaque;
@@ -11,10 +11,10 @@
return !ne2000_buffer_full(s);
}
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/pc.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/pc.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/pc.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/pc.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/pc.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/pc.c
@@ -409,7 +409,8 @@ static void bochs_bios_write(void *opaqu
case 0x400:
case 0x401:
++++++ serial-split.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/misc/serial-split/Makefile
+Index: xen-4.0.3-testing/tools/misc/serial-split/Makefile
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/misc/serial-split/Makefile
++++ xen-4.0.3-testing/tools/misc/serial-split/Makefile
@@ -0,0 +1,20 @@
+CC ?= gcc
+CFLAGS ?= -Wall -Os
@@ -23,10 +23,10 @@
+
+%.o: %.c Makefile
+ $(CC) $(CFLAGS) -c -o $@ $<
-Index: xen-4.0.2-testing/tools/misc/serial-split/serial-split.c
+Index: xen-4.0.3-testing/tools/misc/serial-split/serial-split.c
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/misc/serial-split/serial-split.c
++++ xen-4.0.3-testing/tools/misc/serial-split/serial-split.c
@@ -0,0 +1,422 @@
+/*
+ * serial-split.c
++++++ snapshot-ioemu-delete.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/xenstore.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
@@ -941,6 +941,18 @@ static void xenstore_process_dm_command_
}
@@ -21,10 +21,10 @@
} else if (!strncmp(command, "continue", len)) {
fprintf(logfile, "dm-command: continue after state save\n");
xen_pause_requested = 0;
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/savevm.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/savevm.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/savevm.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/savevm.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/savevm.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/savevm.c
@@ -1096,6 +1096,35 @@ the_end:
return ret;
}
@@ -61,10 +61,10 @@
#ifndef CONFIG_DM
void do_savevm(const char *name)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-xen.h
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-xen.h
@@ -42,6 +42,7 @@ enum {
/* xen-vl-extra.c */
++++++ snapshot-ioemu-restore.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/xenstore.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
@@ -103,6 +103,8 @@ int xenstore_watch_new_callback(const ch
}
++++++ snapshot-ioemu-save.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/savevm.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/savevm.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/savevm.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/savevm.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/savevm.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/savevm.c
@@ -28,6 +28,7 @@
#include "sysemu.h"
#include "qemu-timer.h"
@@ -97,10 +97,10 @@
#ifndef CONFIG_DM
void do_savevm(const char *name)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/i386-dm/helper2.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/i386-dm/helper2.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/i386-dm/helper2.c
@@ -112,6 +112,9 @@ int send_vcpu = 0;
//the evtchn port for polling the notification,
evtchn_port_t *ioreq_local_port;
@@ -167,10 +167,10 @@
/* Wait to be allowed to continue */
while (xen_pause_requested) {
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-xen.h
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/qemu-xen.h
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/qemu-xen.h
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/qemu-xen.h
@@ -34,6 +34,15 @@ void qemu_invalidate_map_cache(void)
#define mapcache_lock() ((void)0)
#define mapcache_unlock() ((void)0)
@@ -195,10 +195,10 @@
void xenstore_check_new_media_present(int timeout);
void xenstore_write_vncport(int vnc_display);
void xenstore_read_vncpasswd(int domid, char *pwbuf, size_t pwbuflen);
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/xenstore.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/xenstore.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/xenstore.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/xenstore.c
@@ -17,6 +17,7 @@
#include "exec-all.h"
++++++ snapshot-without-pv-fix.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -8,10 +8,10 @@
drives_table[], otherwise the disk in qemu will just stay opened,not
showing up in drives_table[].
-Index: xen-4.0.2-testing/tools/blktap/drivers/blktapctrl.c
+Index: xen-4.0.3-testing/tools/blktap/drivers/blktapctrl.c
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/drivers/blktapctrl.c
-+++ xen-4.0.2-testing/tools/blktap/drivers/blktapctrl.c
+--- xen-4.0.3-testing.orig/tools/blktap/drivers/blktapctrl.c
++++ xen-4.0.3-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 @@
ctlfd = blktap_interface_open();
if (ctlfd < 0) {
-Index: xen-4.0.2-testing/tools/blktap/lib/blkif.c
+Index: xen-4.0.3-testing/tools/blktap/lib/blkif.c
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/lib/blkif.c
-+++ xen-4.0.2-testing/tools/blktap/lib/blkif.c
+--- xen-4.0.3-testing.orig/tools/blktap/lib/blkif.c
++++ xen-4.0.3-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 @@
void __init_blkif(void)
{
memset(blkif_hash, 0, sizeof(blkif_hash));
-Index: xen-4.0.2-testing/tools/blktap/lib/blktaplib.h
+Index: xen-4.0.3-testing/tools/blktap/lib/blktaplib.h
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/lib/blktaplib.h
-+++ xen-4.0.2-testing/tools/blktap/lib/blktaplib.h
+--- xen-4.0.3-testing.orig/tools/blktap/lib/blktaplib.h
++++ xen-4.0.3-testing/tools/blktap/lib/blktaplib.h
@@ -38,6 +38,7 @@
#include
#include
@@ -188,7 +188,7 @@
void __init_blkif(void);
typedef struct busy_state {
-@@ -210,6 +213,8 @@ typedef struct msg_pid {
+@@ -209,6 +212,8 @@ typedef struct msg_pid {
#define CTLMSG_CLOSE_RSP 8
#define CTLMSG_PID 9
#define CTLMSG_PID_RSP 10
@@ -197,10 +197,10 @@
/* disk driver types */
#define MAX_DISK_TYPES 20
-Index: xen-4.0.2-testing/tools/blktap/lib/xenbus.c
+Index: xen-4.0.3-testing/tools/blktap/lib/xenbus.c
===================================================================
---- xen-4.0.2-testing.orig/tools/blktap/lib/xenbus.c
-+++ xen-4.0.2-testing/tools/blktap/lib/xenbus.c
+--- xen-4.0.3-testing.orig/tools/blktap/lib/xenbus.c
++++ xen-4.0.3-testing/tools/blktap/lib/xenbus.c
@@ -318,6 +318,72 @@ static int check_image(struct xs_handle
return 0;
}
@@ -284,10 +284,10 @@
list_add(&be->list, &belist);
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
@@ -35,6 +35,8 @@
#ifndef QEMU_TOOL
#include "qemu-common.h"
@@ -378,10 +378,10 @@
default:
break;
}
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.h
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.h
@@ -40,7 +40,8 @@ struct td_state {
void *fd_entry;
uint64_t sector_size;
++++++ snapshot-xend.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/python/xen/xend/image.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/image.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/image.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/image.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/image.py
++++ xen-4.0.3-testing/tools/python/xen/xend/image.py
@@ -490,7 +490,7 @@ class ImageHandler:
domains.domains_lock.acquire()
@@ -43,10 +43,10 @@
def recreate(self):
if self.device_model is None:
return
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/blkif.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/blkif.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/blkif.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/blkif.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/blkif.py
++++ xen-4.0.3-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 @@
if security.on() == xsconstants.XS_POLICY_USE:
self.do_access_control(config, uname)
-Index: xen-4.0.2-testing/tools/python/xen/xend/server/SrvDomain.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/server/SrvDomain.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/server/SrvDomain.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/server/SrvDomain.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/server/SrvDomain.py
++++ xen-4.0.3-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 @@
return self.perform(req)
#
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendCheckpoint.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendCheckpoint.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendCheckpoint.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendCheckpoint.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendCheckpoint.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendCheckpoint.py
@@ -65,7 +65,7 @@ def insert_after(list, pred, value):
return
@@ -233,7 +233,7 @@
if checkpoint:
dominfo.resumeDomain()
-@@ -221,6 +232,71 @@ def restore(xd, fd, dominfo = None, paus
+@@ -224,6 +235,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 @@
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 @@
if not paused:
dominfo.unpause()
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendConfig.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendConfig.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendConfig.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendConfig.py
@@ -242,6 +242,7 @@ XENAPI_CFG_TYPES = {
'memory_sharing': int,
'Description': str,
@@ -343,10 +343,10 @@
}
# List of legacy configuration keys that have no equivalent in the
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomain.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomain.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomain.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomain.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomain.py
++++ xen-4.0.3-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 @@
def domain_pincpu(self, domid, vcpu, cpumap):
"""Set which cpus vcpu can use
-Index: xen-4.0.2-testing/tools/python/xen/xm/main.py
+Index: xen-4.0.3-testing/tools/python/xen/xm/main.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xm/main.py
-+++ xen-4.0.2-testing/tools/python/xen/xm/main.py
+--- xen-4.0.3-testing.orig/tools/python/xen/xm/main.py
++++ xen-4.0.3-testing/tools/python/xen/xm/main.py
@@ -123,6 +123,14 @@ SUBCOMMAND_HELP = {
'Restore a domain from a saved state.'),
'save' : ('[-c|-f] <Domain> <CheckpointFile>',
@@ -686,22 +686,20 @@
"shutdown": xm_shutdown,
"start": xm_start,
"sysrq": xm_sysrq,
-Index: xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
+Index: xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
===================================================================
---- xen-4.0.2-testing.orig/tools/python/xen/xend/XendDomainInfo.py
-+++ xen-4.0.2-testing/tools/python/xen/xend/XendDomainInfo.py
-@@ -505,10 +505,7 @@ class XendDomainInfo:
- log.warn("Cannot restore CPU affinity")
-
+--- xen-4.0.3-testing.orig/tools/python/xen/xend/XendDomainInfo.py
++++ xen-4.0.3-testing/tools/python/xen/xend/XendDomainInfo.py
+@@ -507,8 +507,6 @@ class XendDomainInfo:
self._setSchedParams()
-- self._storeVmDetails()
+ self._storeVmDetails()
self._createChannels()
- self._createDevices()
- self._storeDomDetails()
self._endRestore()
except:
log.exception('VM resume failed')
-@@ -2383,7 +2380,7 @@ class XendDomainInfo:
+@@ -2386,7 +2384,7 @@ class XendDomainInfo:
return self.getDeviceController(deviceClass).reconfigureDevice(
devid, devconfig)
@@ -710,7 +708,7 @@
"""Create the devices for a vm.
@raise: VmError for invalid devices
-@@ -2432,7 +2429,7 @@ class XendDomainInfo:
+@@ -2435,7 +2433,7 @@ class XendDomainInfo:
if self.image:
@@ -719,13 +717,12 @@
#if have pass-through devs, need the virtual pci slots info from qemu
self.pci_device_configure_boot()
-@@ -3048,7 +3045,8 @@ class XendDomainInfo:
+@@ -3051,7 +3049,7 @@ class XendDomainInfo:
self._introduceDomain()
self.image = image.create(self, self.info)
if self.image:
- self.image.createDeviceModel(True)
+ self._createDevices(True)
-+ self._storeVmDetails()
self._storeDomDetails()
self._registerWatches()
self.refreshShutdown()
++++++ stdvga-cache.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:56.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:56.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/xen/arch/x86/hvm/stdvga.c
+Index: xen-4.0.3-testing/xen/arch/x86/hvm/stdvga.c
===================================================================
---- xen-4.0.2-testing.orig/xen/arch/x86/hvm/stdvga.c
-+++ xen-4.0.2-testing/xen/arch/x86/hvm/stdvga.c
+--- xen-4.0.3-testing.orig/xen/arch/x86/hvm/stdvga.c
++++ xen-4.0.3-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
++++++ supported_module.diff ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:57.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:57.000000000 +0100
@@ -2,8 +2,10 @@
Signed-off-by: K. Y. Srinivasan
+Index: xen-4.0.3-testing/unmodified_drivers/linux-2.6/Module.supported
+===================================================================
--- /dev/null
-+++ b/unmodified_drivers/linux-2.6/Module.supported
++++ xen-4.0.3-testing/unmodified_drivers/linux-2.6/Module.supported
@@ -0,0 +1,6 @@
+xen-vbd
+xen-platform-pci
++++++ suspend_evtchn_lock.patch ++++++
Index: xen-4.0.3-testing/tools/libxc/xc_suspend.c
===================================================================
--- xen-4.0.3-testing.orig/tools/libxc/xc_suspend.c
+++ xen-4.0.3-testing/tools/libxc/xc_suspend.c
@@ -6,14 +6,46 @@
#include "xc_private.h"
#include "xenguest.h"
+#include
+#include
+#ifdef __MINIOS__
+extern int kill (__pid_t __pid, int __sig);
+#endif
#define SUSPEND_LOCK_FILE "/var/lib/xen/suspend_evtchn_lock.d"
+/* cleanup obsolete suspend lock file which is unlinked for any reason,
+so that current process can get lock */
+static void clean_obsolete_lock(void)
+{
+ int fd, pid, n;
+ char buf[128];
+ fd = open(SUSPEND_LOCK_FILE, O_RDWR);
+ if (fd < 0)
+ return;
+
+ n = read(fd, buf, 127);
+
+ close(fd);
+
+ if (n > 0)
+ {
+ sscanf(buf, "%d", &pid);
+ /* pid does not exist, this lock file is obsolete, just delete it */
+ if ( kill(pid,0) )
+ {
+ unlink(SUSPEND_LOCK_FILE);
+ return;
+ }
+ }
+}
+
static int lock_suspend_event(void)
{
int fd, rc;
mode_t mask;
char buf[128];
+ clean_obsolete_lock();
mask = umask(022);
fd = open(SUSPEND_LOCK_FILE, O_CREAT | O_EXCL | O_RDWR, 0666);
if (fd < 0)
@@ -27,6 +59,9 @@ static int lock_suspend_event(void)
rc = write_exact(fd, buf, strlen(buf));
close(fd);
+ if(rc)
+ unlink(SUSPEND_LOCK_FILE);
+
return rc;
}
@@ -110,8 +145,7 @@ int xc_suspend_evtchn_init(int xc, int x
return suspend_evtchn;
cleanup:
- if (suspend_evtchn != -1)
- xc_suspend_evtchn_release(xce, suspend_evtchn);
+ xc_suspend_evtchn_release(xce, suspend_evtchn);
return -1;
}
++++++ tapdisk-ioemu-logfile.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:58.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:58.000000000 +0100
@@ -11,10 +11,10 @@
tapdisk-ioemu.c | 19 +++++++++++++------
1 files changed, 13 insertions(+), 6 deletions(-)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
@@ -78,15 +78,22 @@ int main(void)
struct timeval tv;
void *old_fd_start = NULL;
++++++ tapdisk-ioemu-shutdown-fix.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:58.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:58.000000000 +0100
@@ -16,10 +16,10 @@
tapdisk-ioemu.c | 13 ++++++++++---
2 files changed, 14 insertions(+), 4 deletions(-)
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/hw/xen_blktap.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/hw/xen_blktap.c
@@ -67,6 +67,7 @@ int read_fd;
int write_fd;
@@ -46,10 +46,10 @@
case CTLMSG_PID:
memset(buf, 0x00, MSG_SIZE);
-Index: xen-4.0.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
+Index: xen-4.0.3-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
===================================================================
---- xen-4.0.2-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c
-+++ xen-4.0.2-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
+--- xen-4.0.3-testing.orig/tools/ioemu-qemu-xen/tapdisk-ioemu.c
++++ xen-4.0.3-testing/tools/ioemu-qemu-xen/tapdisk-ioemu.c
@@ -14,6 +14,7 @@ extern void qemu_aio_init(void);
extern void qemu_aio_poll(void);
++++++ tmp_build.patch ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:58.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:58.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/xenstore/Makefile
+Index: xen-4.0.3-testing/tools/xenstore/Makefile
===================================================================
---- xen-4.0.2-testing.orig/tools/xenstore/Makefile
-+++ xen-4.0.2-testing/tools/xenstore/Makefile
+--- xen-4.0.3-testing.orig/tools/xenstore/Makefile
++++ xen-4.0.3-testing/tools/xenstore/Makefile
@@ -61,6 +61,7 @@ $(CLIENTS_DOMU): xenstore
xenstore: xenstore_client.o $(LIBXENSTORE)
++++++ tools-gdbserver-build.diff ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:58.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:58.000000000 +0100
@@ -1,7 +1,7 @@
-Index: xen-4.0.2-testing/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in
+Index: xen-4.0.3-testing/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in
===================================================================
---- xen-4.0.2-testing.orig/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in
-+++ xen-4.0.2-testing/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in
+--- xen-4.0.3-testing.orig/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in
++++ xen-4.0.3-testing/tools/debugger/gdb/gdb-6.2.1-xen-sparse/gdb/gdbserver/Makefile.in
@@ -90,7 +90,7 @@ INCLUDE_CFLAGS = -I. -I${srcdir} -I$(src
GLOBAL_CFLAGS = ${MT_CFLAGS} ${MH_CFLAGS}
#PROFILE_CFLAGS = -pg
++++++ tools-kboot.diff ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:58.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:58.000000000 +0100
@@ -13,10 +13,10 @@
tools/kboot/select-kernel | 59 +
9 files changed, 2111 insertions(+)
-Index: xen-4.0.2-testing/buildconfigs/linux-defconfig_xenUboot_x86_32
+Index: xen-4.0.3-testing/buildconfigs/linux-defconfig_xenUboot_x86_32
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/buildconfigs/linux-defconfig_xenUboot_x86_32
++++ xen-4.0.3-testing/buildconfigs/linux-defconfig_xenUboot_x86_32
@@ -0,0 +1,874 @@
+#
+# Automatically generated make config: don't edit
@@ -892,10 +892,10 @@
+CONFIG_X86_NO_TSS=y
+CONFIG_X86_NO_IDT=y
+CONFIG_KTIME_SCALAR=y
-Index: xen-4.0.2-testing/buildconfigs/linux-defconfig_xenUboot_x86_64
+Index: xen-4.0.3-testing/buildconfigs/linux-defconfig_xenUboot_x86_64
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/buildconfigs/linux-defconfig_xenUboot_x86_64
++++ xen-4.0.3-testing/buildconfigs/linux-defconfig_xenUboot_x86_64
@@ -0,0 +1,653 @@
+#
+# Automatically generated make config: don't edit
@@ -1550,17 +1550,17 @@
+# CONFIG_CRC32 is not set
+# CONFIG_LIBCRC32C is not set
+CONFIG_ZLIB_INFLATE=y
-Index: xen-4.0.2-testing/buildconfigs/mk.linux-2.6-xenUboot
+Index: xen-4.0.3-testing/buildconfigs/mk.linux-2.6-xenUboot
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/buildconfigs/mk.linux-2.6-xenUboot
++++ xen-4.0.3-testing/buildconfigs/mk.linux-2.6-xenUboot
@@ -0,0 +1,2 @@
+EXTRAVERSION = xenUboot
+include buildconfigs/mk.linux-2.6-xen
-Index: xen-4.0.2-testing/tools/kboot/Makefile
+Index: xen-4.0.3-testing/tools/kboot/Makefile
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/kboot/Makefile
++++ xen-4.0.3-testing/tools/kboot/Makefile
@@ -0,0 +1,23 @@
+#
+# tools/kboot/Makefile
@@ -1585,10 +1585,10 @@
+kboot.initramfs: mkinitramfs init select-kernel ../xcutils/xc_kexec
+ sh ./mkinitramfs | tee $@
+
-Index: xen-4.0.2-testing/tools/kboot/README
+Index: xen-4.0.3-testing/tools/kboot/README
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/kboot/README
++++ xen-4.0.3-testing/tools/kboot/README
@@ -0,0 +1,43 @@
+
+This is a simple kexec-based boot loader
@@ -1633,10 +1633,10 @@
+
+--
+Gerd Hoffmann
-Index: xen-4.0.2-testing/tools/kboot/init
+Index: xen-4.0.3-testing/tools/kboot/init
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/kboot/init
++++ xen-4.0.3-testing/tools/kboot/init
@@ -0,0 +1,309 @@
+#!/bin/sh
+
@@ -1947,10 +1947,10 @@
+msg "bye ..."
+banner "boot $guestos"
+xc_kexec -e
-Index: xen-4.0.2-testing/tools/kboot/mkinitramfs
+Index: xen-4.0.3-testing/tools/kboot/mkinitramfs
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/kboot/mkinitramfs
++++ xen-4.0.3-testing/tools/kboot/mkinitramfs
@@ -0,0 +1,111 @@
+#!/bin/sh
+
@@ -2063,10 +2063,10 @@
+ echo "file $LIB/$(basename $lib) $lib 0755 0 0"
+done
+echo
-Index: xen-4.0.2-testing/tools/kboot/select-kernel
+Index: xen-4.0.3-testing/tools/kboot/select-kernel
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/kboot/select-kernel
++++ xen-4.0.3-testing/tools/kboot/select-kernel
@@ -0,0 +1,59 @@
+#!/bin/sh
+
@@ -2127,10 +2127,10 @@
+msg "using $kernelname"
+echo "$kernelname"
+
-Index: xen-4.0.2-testing/make-kboot
+Index: xen-4.0.3-testing/make-kboot
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/make-kboot
++++ xen-4.0.3-testing/make-kboot
@@ -0,0 +1,37 @@
+#!/bin/sh
+
++++++ tools-xc_kexec.diff ++++++
--- /var/tmp/diff_new_pack.dUmKEZ/_old 2012-02-08 00:58:58.000000000 +0100
+++ /var/tmp/diff_new_pack.dUmKEZ/_new 2012-02-08 00:58:58.000000000 +0100
@@ -23,19 +23,22 @@
tools/xcutils/xc_kexec.c | 503 +++++++++++++++
19 files changed, 4988 insertions(+), 2 deletions(-)
-Index: xen-4.0.2-testing/tools/xcutils/Makefile
+Index: xen-4.0.3-testing/tools/xcutils/Makefile
===================================================================
---- xen-4.0.2-testing.orig/tools/xcutils/Makefile
-+++ xen-4.0.2-testing/tools/xcutils/Makefile
-@@ -14,7 +14,7 @@ include $(XEN_ROOT)/tools/Rules.mk
+--- xen-4.0.3-testing.orig/tools/xcutils/Makefile
++++ xen-4.0.3-testing/tools/xcutils/Makefile
+@@ -14,9 +14,9 @@ include $(XEN_ROOT)/tools/Rules.mk
CFLAGS += -Werror
CFLAGS += $(CFLAGS_libxenctrl) $(CFLAGS_libxenguest) $(CFLAGS_libxenstore)
-PROGRAMS = xc_restore xc_save readnotes lsevtchn
+PROGRAMS = xc_restore xc_save readnotes lsevtchn xc_kexec
- LDLIBS = $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenguest) $(LDFLAGS_libxenstore)
+-LDLIBS = $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenguest) $(LDFLAGS_libxenstore)
++LDLIBS = $(LDFLAGS_libxenctrl) $(LDFLAGS_libxenguest) $(LDFLAGS_libxenstore) -lbz2
+ .PHONY: all
+ all: build
@@ -27,6 +27,11 @@ build: $(PROGRAMS)
$(PROGRAMS): %: %.o
$(CC) $(CFLAGS) $(LDFLAGS) $^ $(LDLIBS) -o $@
@@ -55,10 +58,10 @@
+ make -C helper clean
-include $(DEPS)
-Index: xen-4.0.2-testing/tools/xcutils/helper/Makefile
+Index: xen-4.0.3-testing/tools/xcutils/helper/Makefile
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xcutils/helper/Makefile
++++ xen-4.0.3-testing/tools/xcutils/helper/Makefile
@@ -0,0 +1,39 @@
+
+XEN_ROOT = ../../..
@@ -99,10 +102,10 @@
+# dependencies
+
+$(XEN_TARGET_ARCH)/entry.o: $(XEN_TARGET_ARCH)/entry.S $(XEN_TARGET_ARCH)/offsets.h
-Index: xen-4.0.2-testing/tools/xcutils/helper/console.c
+Index: xen-4.0.3-testing/tools/xcutils/helper/console.c
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xcutils/helper/console.c
++++ xen-4.0.3-testing/tools/xcutils/helper/console.c
@@ -0,0 +1,69 @@
+#include
+
@@ -173,10 +176,10 @@
+
+ return printed_len;
+}
-Index: xen-4.0.2-testing/tools/xcutils/helper/ctype.c
+Index: xen-4.0.3-testing/tools/xcutils/helper/ctype.c
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xcutils/helper/ctype.c
++++ xen-4.0.3-testing/tools/xcutils/helper/ctype.c
@@ -0,0 +1,35 @@
+/*
+ * linux/lib/ctype.c
@@ -213,10 +216,10 @@
+_L,_L,_L,_L,_L,_L,_L,_P,_L,_L,_L,_L,_L,_L,_L,_L}; /* 240-255 */
+
+EXPORT_SYMBOL(_ctype);
-Index: xen-4.0.2-testing/tools/xcutils/helper/ctype.h
+Index: xen-4.0.3-testing/tools/xcutils/helper/ctype.h
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xcutils/helper/ctype.h
++++ xen-4.0.3-testing/tools/xcutils/helper/ctype.h
@@ -0,0 +1,54 @@
+#ifndef _LINUX_CTYPE_H
+#define _LINUX_CTYPE_H
@@ -272,10 +275,10 @@
+#define toupper(c) __toupper(c)
+
+#endif
-Index: xen-4.0.2-testing/tools/xcutils/helper/helper.h
+Index: xen-4.0.3-testing/tools/xcutils/helper/helper.h
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xcutils/helper/helper.h
++++ xen-4.0.3-testing/tools/xcutils/helper/helper.h
@@ -0,0 +1,107 @@
+#include
+#include
@@ -384,10 +387,10 @@
+int sprintf(char * buf, const char *fmt, ...);
+int vsscanf(const char * buf, const char * fmt, va_list args);
+int sscanf(const char * buf, const char * fmt, ...);
-Index: xen-4.0.2-testing/tools/xcutils/helper/main.c
+Index: xen-4.0.3-testing/tools/xcutils/helper/main.c
===================================================================
--- /dev/null
-+++ xen-4.0.2-testing/tools/xcutils/helper/main.c
++++ xen-4.0.3-testing/tools/xcutils/helper/main.c
@@ -0,0 +1,651 @@
+#include