KVM: nVMX: support descriptor table exits
These are never used by the host, but they can still be reflected to the guest. Tested-by: Ladi Prosek <lprosek@redhat.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
		
							parent
							
								
									5587859fb1
								
							
						
					
					
						commit
						1b07304c58
					
				| @ -60,6 +60,7 @@ | ||||
|  */ | ||||
| #define SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES 0x00000001 | ||||
| #define SECONDARY_EXEC_ENABLE_EPT               0x00000002 | ||||
| #define SECONDARY_EXEC_DESC			0x00000004 | ||||
| #define SECONDARY_EXEC_RDTSCP			0x00000008 | ||||
| #define SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE   0x00000010 | ||||
| #define SECONDARY_EXEC_ENABLE_VPID              0x00000020 | ||||
|  | ||||
| @ -65,6 +65,8 @@ | ||||
| #define EXIT_REASON_TPR_BELOW_THRESHOLD 43 | ||||
| #define EXIT_REASON_APIC_ACCESS         44 | ||||
| #define EXIT_REASON_EOI_INDUCED         45 | ||||
| #define EXIT_REASON_GDTR_IDTR           46 | ||||
| #define EXIT_REASON_LDTR_TR             47 | ||||
| #define EXIT_REASON_EPT_VIOLATION       48 | ||||
| #define EXIT_REASON_EPT_MISCONFIG       49 | ||||
| #define EXIT_REASON_INVEPT              50 | ||||
| @ -113,6 +115,8 @@ | ||||
| 	{ EXIT_REASON_MCE_DURING_VMENTRY,    "MCE_DURING_VMENTRY" }, \ | ||||
| 	{ EXIT_REASON_TPR_BELOW_THRESHOLD,   "TPR_BELOW_THRESHOLD" }, \ | ||||
| 	{ EXIT_REASON_APIC_ACCESS,           "APIC_ACCESS" }, \ | ||||
| 	{ EXIT_REASON_GDTR_IDTR,	     "GDTR_IDTR" }, \ | ||||
| 	{ EXIT_REASON_LDTR_TR,		     "LDTR_TR" }, \ | ||||
| 	{ EXIT_REASON_EPT_VIOLATION,         "EPT_VIOLATION" }, \ | ||||
| 	{ EXIT_REASON_EPT_MISCONFIG,         "EPT_MISCONFIG" }, \ | ||||
| 	{ EXIT_REASON_INVEPT,                "INVEPT" }, \ | ||||
|  | ||||
| @ -2796,6 +2796,7 @@ static void nested_vmx_setup_ctls_msrs(struct vcpu_vmx *vmx) | ||||
| 	vmx->nested.nested_vmx_secondary_ctls_high &= | ||||
| 		SECONDARY_EXEC_VIRTUALIZE_APIC_ACCESSES | | ||||
| 		SECONDARY_EXEC_RDTSCP | | ||||
| 		SECONDARY_EXEC_DESC | | ||||
| 		SECONDARY_EXEC_VIRTUALIZE_X2APIC_MODE | | ||||
| 		SECONDARY_EXEC_ENABLE_VPID | | ||||
| 		SECONDARY_EXEC_APIC_REGISTER_VIRT | | ||||
| @ -7961,6 +7962,8 @@ static bool nested_vmx_exit_handled(struct kvm_vcpu *vcpu) | ||||
| 		return nested_cpu_has(vmcs12, CPU_BASED_MOV_DR_EXITING); | ||||
| 	case EXIT_REASON_IO_INSTRUCTION: | ||||
| 		return nested_vmx_exit_handled_io(vcpu, vmcs12); | ||||
| 	case EXIT_REASON_GDTR_IDTR: case EXIT_REASON_LDTR_TR: | ||||
| 		return nested_cpu_has2(vmcs12, SECONDARY_EXEC_DESC); | ||||
| 	case EXIT_REASON_MSR_READ: | ||||
| 	case EXIT_REASON_MSR_WRITE: | ||||
| 		return nested_vmx_exit_handled_msr(vcpu, vmcs12, exit_reason); | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user