aboutsummaryrefslogtreecommitdiff
path: root/emulators
diff options
context:
space:
mode:
authorBaptiste Daroussin <bapt@FreeBSD.org>2015-05-21 14:59:45 +0000
committerBaptiste Daroussin <bapt@FreeBSD.org>2015-05-21 14:59:45 +0000
commitb6a8134ab481959cf0483e4b2e646a781f2e778d (patch)
tree039804ef39a33d88b4c6123faef8c1f2b7ecf532 /emulators
parent4b4eb7d53d27d01843d1339d0f109bd7bdf8d85e (diff)
Notes
Diffstat (limited to 'emulators')
-rw-r--r--emulators/xen-kernel/files/0001-x86-pvh-disable-posted-interrupts.patch41
1 files changed, 41 insertions, 0 deletions
diff --git a/emulators/xen-kernel/files/0001-x86-pvh-disable-posted-interrupts.patch b/emulators/xen-kernel/files/0001-x86-pvh-disable-posted-interrupts.patch
new file mode 100644
index 000000000000..514d18b965a1
--- /dev/null
+++ b/emulators/xen-kernel/files/0001-x86-pvh-disable-posted-interrupts.patch
@@ -0,0 +1,41 @@
+From 29debf629b50536343eaa9d6c0779f63721f6f59 Mon Sep 17 00:00:00 2001
+From: Roger Pau Monne <roger.pau@citrix.com>
+Date: Thu, 21 May 2015 14:12:46 +0200
+Subject: [PATCH] x86/pvh: disable posted interrupts
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Enabling posted interrupts requires the virtual interrupt delivery feature,
+which is disabled for PVH guests, so make sure posted interrupts are also
+disabled or else vmlaunch will fail.
+
+Signed-off-by: Roger Pau Monné <roger.pau@citrix.com>
+Reported-and-Tested-by: Lars Eggert <lars@netapp.com>
+Cc: Jun Nakajima <jun.nakajima@intel.com>
+Cc: Eddie Dong <eddie.dong@intel.com>
+Cc: Kevin Tian <kevin.tian@intel.com>
+Cc: Jan Beulich <jbeulich@suse.com>
+Cc: Andrew Cooper <andrew.cooper3@citrix.com>
+---
+ xen/arch/x86/hvm/vmx/vmcs.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/xen/arch/x86/hvm/vmx/vmcs.c b/xen/arch/x86/hvm/vmx/vmcs.c
+index a714549..9827a8e 100644
+--- a/xen/arch/x86/hvm/vmx/vmcs.c
++++ b/xen/arch/x86/hvm/vmx/vmcs.c
+@@ -980,6 +980,10 @@ static int construct_vmcs(struct vcpu *v)
+ v->arch.hvm_vmx.secondary_exec_control &=
+ ~SECONDARY_EXEC_UNRESTRICTED_GUEST;
+
++ /* Disable posted interrupts */
++ __vmwrite(PIN_BASED_VM_EXEC_CONTROL,
++ vmx_pin_based_exec_control & ~PIN_BASED_POSTED_INTERRUPT);
++
+ /* Start in 64-bit mode. PVH 32bitfixme. */
+ vmentry_ctl |= VM_ENTRY_IA32E_MODE; /* GUEST_EFER.LME/LMA ignored */
+
+--
+1.9.5 (Apple Git-50.3)
+