[xen] create symlink for qemu-dm on x86_64 for compatibility with 3.4, add some irq fixes and disable xsav
myoung
myoung at fedoraproject.org
Fri Sep 24 20:28:30 UTC 2010
commit 883e72bb6486c8a7056270b9f80677e859de595d
Author: Michael Young <m.a.young at durham.ac.uk>
Date: Fri Sep 24 21:25:03 2010 +0100
create symlink for qemu-dm on x86_64 for compatibility with 3.4,
add some irq fixes and disable xsave which causes problems for HVM
xen.irq.fixes.patch | 63 +++++++++++++++++++++++++++++++++++++++++++++++
xen.spec | 18 ++++++++++++-
xen.xsave.disable.patch | 26 +++++++++++++++++++
3 files changed, 106 insertions(+), 1 deletions(-)
---
diff --git a/xen.irq.fixes.patch b/xen.irq.fixes.patch
new file mode 100644
index 0000000..b5e35b2
--- /dev/null
+++ b/xen.irq.fixes.patch
@@ -0,0 +1,63 @@
+
+# HG changeset patch
+# User Keir Fraser <keir.fraser at citrix.com>
+# Date 1283154997 -3600
+# Node ID ab1fb1b8b569ef78ac352a5ff4524d0fae80945a
+# Parent 9ff9b57ddddfd3693698ece28ae44542fba6ee0f
+Fix bind_irq_vector() destination
+
+The "mask" covered all online cpus in the "domain". It should be used
+as destination later, instead of using "domain" directly.
+
+Signed-off-by: Sheng Yang <sheng at linux.intel.com>
+xen-unstable: changeset: 3eb5127e4636
+xen-unstable: date: Thu Aug 26 11:16:14 2010 +0100
+
+--- a/xen/arch/x86/irq.c Mon Aug 30 08:56:07 2010 +0100
++++ b/xen/arch/x86/irq.c Mon Aug 30 08:56:37 2010 +0100
+@@ -90,14 +90,14 @@ static int __bind_irq_vector(int irq, in
+ cpus_and(mask, domain, cpu_online_map);
+ if (cpus_empty(mask))
+ return -EINVAL;
+- if ((cfg->vector == vector) && cpus_equal(cfg->domain, domain))
++ if ((cfg->vector == vector) && cpus_equal(cfg->domain, mask))
+ return 0;
+ if (cfg->vector != IRQ_VECTOR_UNASSIGNED)
+ return -EBUSY;
+ for_each_cpu_mask(cpu, mask)
+ per_cpu(vector_irq, cpu)[vector] = irq;
+ cfg->vector = vector;
+- cfg->domain = domain;
++ cfg->domain = mask;
+ irq_status[irq] = IRQ_USED;
+ if (IO_APIC_IRQ(irq))
+ irq_vector[irq] = vector;
+
+
+# HG changeset patch
+# User Keir Fraser <keir.fraser at citrix.com>
+# Date 1284396688 -3600
+# Node ID 965d47d5d7c2e3d97ea1c70c9261ae76e2abf6ac
+# Parent 208129cefcb30ae476af9a934008addf04e77cdc
+Fix serial interrupt's destination
+
+Lowest Priority can't use with invalid cpu_mask, and the default value
+of CPU_MASK_ALL may cover CPU which wasn't online.
+
+From: "Yang, Sheng" <sheng.yang at intel.com>
+Signed-off-by: Keir Fraser <keir.fraser at citrix.com>
+xen-unstable changeset: 22148:a254d1236c1a
+xen-unstable date: Mon Sep 13 17:37:25 2010 +0100
+
+--- a/xen/arch/x86/smpboot.c Mon Sep 13 17:50:14 2010 +0100
++++ b/xen/arch/x86/smpboot.c Mon Sep 13 17:51:28 2010 +0100
+@@ -1602,7 +1602,7 @@ void __init smp_intr_init(void)
+ irq_vector[irq] = FIRST_HIPRIORITY_VECTOR + seridx + 1;
+ per_cpu(vector_irq, cpu)[FIRST_HIPRIORITY_VECTOR + seridx + 1] = irq;
+ irq_cfg[irq].vector = FIRST_HIPRIORITY_VECTOR + seridx + 1;
+- irq_cfg[irq].domain = (cpumask_t)CPU_MASK_ALL;
++ irq_cfg[irq].domain = cpu_online_map;
+ }
+
+ /* IPI for cleanuping vectors after irq move */
+
diff --git a/xen.spec b/xen.spec
index ece061b..9dad22b 100644
--- a/xen.spec
+++ b/xen.spec
@@ -6,7 +6,7 @@
Summary: Xen is a virtual machine monitor
Name: xen
Version: 4.0.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Group: Development/Libraries
License: GPLv2+ and LGPLv2+ and BSD
URL: http://xen.org/
@@ -40,6 +40,8 @@ Patch10: xen-no-werror.patch
Patch18: localgcc45fix.patch
Patch19: localpy27fixes.patch
Patch20: localgcc451fix.patch
+Patch21: xen.irq.fixes.patch
+Patch22: xen.xsave.disable.patch
Patch100: xen-configure-xend.patch
@@ -164,6 +166,8 @@ to build the xen packages.
%patch18 -p1
%patch19 -p1
%patch20 -p1
+%patch21 -p1
+%patch22 -p1
%patch100 -p1
@@ -274,6 +278,12 @@ mkdir -p %{buildroot}%{_localstatedir}/log/xen/console
mkdir -p %{buildroot}%{_sysconfdir}/yum.repos.d
cp %{SOURCE3} %{buildroot}%{_sysconfdir}/yum.repos.d
+############ create symlink for x86_64 for compatibility with 3.4 ############
+
+%if "%{_libdir}" != "/usr/lib"
+ln -s /usr/lib/%{name}/bin/qemu-dm %{buildroot}/%{_libdir}/%{name}/bin/qemu-dm
+%endif
+
############ debug packaging: list files ############
find %{buildroot} -print | xargs ls -ld | sed -e 's|.*%{buildroot}||' > f2.list
@@ -512,6 +522,12 @@ rm -rf %{buildroot}
%doc licensedir/*
%changelog
+* Fri Sep 24 2010 Michael Young <m.a.young at durham.ac.uk> - 4.0.1-3
+- create symlink for qemu-dm on x86_64 for compatibility with 3.4
+- apply some patches destined for 4.0.2
+ add some irq fixes
+ disable xsave which causes problems for HVM
+
* Sun Aug 29 2010 Michael Young <m.a.young at durham.ac.uk> - 4.0.1-2
- fix compile problems on Fedora 15, I suspect due to gcc 4.5.1
diff --git a/xen.xsave.disable.patch b/xen.xsave.disable.patch
new file mode 100644
index 0000000..aa862d8
--- /dev/null
+++ b/xen.xsave.disable.patch
@@ -0,0 +1,26 @@
+
+# HG changeset patch
+# User Keir Fraser <keir.fraser at citrix.com>
+# Date 1283332925 -3600
+# Node ID 16867267ac126043712703455b81c16f2549ee23
+# Parent e854f11d392d13e5302a219bcc9e6e352a4f1c1b
+x86 intel: Disable XSAVE support.
+
+It breaks HVM save/restore.
+
+Signed-off-by: Keir Fraser <keir.fraser at citrix.com>
+xen-unstable changeset: ae0cd4e5cc01
+xen-unstable date: Wed Sep 01 10:19:14 2010 +0100
+
+--- a/xen/arch/x86/cpu/intel.c Wed Sep 01 10:21:41 2010 +0100
++++ b/xen/arch/x86/cpu/intel.c Wed Sep 01 10:22:05 2010 +0100
+@@ -30,7 +30,7 @@ integer_param("cpuid_mask_ecx", opt_cpui
+ integer_param("cpuid_mask_ecx", opt_cpuid_mask_ecx);
+ integer_param("cpuid_mask_edx", opt_cpuid_mask_edx);
+
+-static int use_xsave = 1;
++static int use_xsave;
+ boolean_param("xsave", use_xsave);
+
+ #ifdef CONFIG_X86_INTEL_USERCOPY
+
More information about the scm-commits
mailing list