Re: [kvm-unit-tests PATCH] x86: VMX: Mask advanced VM-exit info

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/10/19 15:26, Nadav Amit wrote:
> Bits [9:11] are undefined in the VM-exit qualification when "advanced
> VM-exit information for EPT violations" is not supported.
> 
> Mask these bits for now to avoid false failures. If KVM supports this
> feature, the tests would need to be adapted, and the masking would need
> to be removed.
> 
> Unfortunately, I do not have hardware that supports this feature
> available for my use to make a better fix.
> 
> Signed-off-by: Nadav Amit <namit@xxxxxxxxxx>
> ---
>  x86/vmx.h       | 2 ++
>  x86/vmx_tests.c | 7 +++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/x86/vmx.h b/x86/vmx.h
> index a8bc847..8496be7 100644
> --- a/x86/vmx.h
> +++ b/x86/vmx.h
> @@ -618,6 +618,8 @@ enum vm_instruction_error_number {
>  #define EPT_VLT_GUEST_USER	(1ull << 9)
>  #define EPT_VLT_GUEST_RW	(1ull << 10)
>  #define EPT_VLT_GUEST_EX	(1ull << 11)
> +#define EPT_VLT_GUEST_MASK	(EPT_VLT_GUEST_USER | EPT_VLT_GUEST_RW | \
> +				 EPT_VLT_GUEST_EX)
>  
>  #define MAGIC_VAL_1		0x12345678ul
>  #define MAGIC_VAL_2		0x87654321ul
> diff --git a/x86/vmx_tests.c b/x86/vmx_tests.c
> index f4b348b..6b9dc10 100644
> --- a/x86/vmx_tests.c
> +++ b/x86/vmx_tests.c
> @@ -1409,6 +1409,13 @@ static int ept_exit_handler_common(bool have_ad)
>  		}
>  		return VMX_TEST_RESUME;
>  	case VMX_EPT_VIOLATION:
> +		/*
> +		 * Exit-qualifications are masked not to account for advanced
> +		 * VM-exit information. Once KVM supports this feature, this
> +		 * masking should be removed.
> +		 */
> +		exit_qual &= ~EPT_VLT_GUEST_MASK;
> +
>  		switch(vmx_get_test_stage()) {
>  		case 3:
>  			check_ept_ad(pml4, guest_cr3, (unsigned long)data_page1, 0,
> 

Queued, thanks.

Paolo





[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux