On Fri, Jun 09, 2017 at 02:43:30AM -0600, Jan Beulich wrote:
On 09.06.17 at 08:22, wrote:
>> --- a/xen/arch/x86/hvm/vmx/vmcs.c
>> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
>> @@ -351,6 +351,13 @@ static int vmx_init_vmcs_config(void)
>>|| !(_vmx_vmexit_control & VM_EXIT_ACK_INTR_ON_EXIT)
>>> On 09.06.17 at 08:22, wrote:
> --- a/xen/arch/x86/hvm/vmx/vmcs.c
> +++ b/xen/arch/x86/hvm/vmx/vmcs.c
> @@ -351,6 +351,13 @@ static int vmx_init_vmcs_config(void)
>|| !(_vmx_vmexit_control & VM_EXIT_ACK_INTR_ON_EXIT) )
> _vmx_pin_based_exec_control &= ~ PIN_BASED_POSTED_IN
From the context calling pi_desc_init(), we can conclude the current
implementation of VT-d PI depends on CPU-side PI. If we disable APICv
but enable VT-d PI explicitly in xen boot command line, we would get
an assertion failure.
This patch disables VT-d PI when APICv is disabled and adds some
rel