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....@citrix.com> Reported-and-Tested-by: Lars Eggert <l...@netapp.com> Acked-by: Kevin Tian <kevin.t...@intel.com> Cc: Jun Nakajima <jun.nakaj...@intel.com> Cc: Eddie Dong <eddie.d...@intel.com> Cc: Kevin Tian <kevin.t...@intel.com> Cc: Jan Beulich <jbeul...@suse.com> Cc: Andrew Cooper <andrew.coop...@citrix.com> --- Changes since v2: - Move the code so it's closer to virtual interrupt delivery disabling. - Update comment. --- 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..f585883 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; -- 1.9.5 (Apple Git-50.3) _______________________________________________ Xen-devel mailing list Xen-devel@lists.xen.org http://lists.xen.org/xen-devel