From cf6b3ccf28faee01a078311fcfe671148c81ea75 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roger=20Pau=20Monn=C3=A9?= Date: Thu, 28 May 2015 10:56:08 +0200 Subject: [PATCH] x86/pvh: disable posted interrupts MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 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é Reported-and-Tested-by: Lars Eggert Acked-by: Kevin Tian --- 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 877ec10eb7..3aff3656a3 100644 --- a/xen/arch/x86/hvm/vmx/vmcs.c +++ b/xen/arch/x86/hvm/vmx/vmcs.c @@ -976,6 +976,10 @@ static int construct_vmcs(struct vcpu *v) | SECONDARY_EXEC_VIRTUAL_INTR_DELIVERY); v->arch.hvm_vmx.exec_control &= ~CPU_BASED_TPR_SHADOW; + /* In turn, disable posted interrupts. */ + __vmwrite(PIN_BASED_VM_EXEC_CONTROL, + vmx_pin_based_exec_control & ~PIN_BASED_POSTED_INTERRUPT); + /* Unrestricted guest (real mode for EPT) */ v->arch.hvm_vmx.secondary_exec_control &= ~SECONDARY_EXEC_UNRESTRICTED_GUEST; -- 2.30.2