/linux-6.1.9/arch/x86/kvm/vmx/ |
D | nested.h | 39 static inline struct vmcs12 *get_vmcs12(struct kvm_vcpu *vcpu) in get_vmcs12() 44 static inline struct vmcs12 *get_shadow_vmcs12(struct kvm_vcpu *vcpu) in get_shadow_vmcs12() 86 static inline unsigned long nested_read_cr0(struct vmcs12 *fields) in nested_read_cr0() 91 static inline unsigned long nested_read_cr4(struct vmcs12 *fields) in nested_read_cr4() 130 static inline bool nested_cpu_has(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has() argument 132 return vmcs12->cpu_based_vm_exec_control & bit; in nested_cpu_has() 135 static inline bool nested_cpu_has2(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has2() argument 137 return (vmcs12->cpu_based_vm_exec_control & in nested_cpu_has2() 139 (vmcs12->secondary_vm_exec_control & bit); in nested_cpu_has2() 142 static inline bool nested_cpu_has_preemption_timer(struct vmcs12 *vmcs12) in nested_cpu_has_preemption_timer() argument [all …]
|
D | nested.c | 55 #define SHADOW_FIELD_RO(x, y) { x, offsetof(struct vmcs12, y) }, 62 #define SHADOW_FIELD_RW(x, y) { x, offsetof(struct vmcs12, y) }, 370 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_ept_inject_page_fault() local 392 nested_ept_invalidate_addr(vcpu, vmcs12->ept_pointer, in nested_ept_inject_page_fault() 397 vmcs12->guest_physical_address = fault->address; in nested_ept_inject_page_fault() 430 static bool nested_vmx_is_page_fault_vmexit(struct vmcs12 *vmcs12, in nested_vmx_is_page_fault_vmexit() argument 435 bit = (vmcs12->exception_bitmap & (1u << PF_VECTOR)) != 0; in nested_vmx_is_page_fault_vmexit() 437 (error_code & vmcs12->page_fault_error_code_mask) != in nested_vmx_is_page_fault_vmexit() 438 vmcs12->page_fault_error_code_match; in nested_vmx_is_page_fault_vmexit() 445 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_is_exception_vmexit() local [all …]
|
D | sgx.h | 18 void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12); 26 struct vmcs12 *vmcs12) in vmx_write_encls_bitmap() argument
|
D | vmcs12.h | 27 struct __packed vmcs12 { struct 212 BUILD_BUG_ON_MSG(offsetof(struct vmcs12, field) != (loc), \ 386 static inline u64 vmcs12_read_any(struct vmcs12 *vmcs12, unsigned long field, in vmcs12_read_any() argument 389 char *p = (char *)vmcs12 + offset; in vmcs12_read_any() 406 static inline void vmcs12_write_any(struct vmcs12 *vmcs12, unsigned long field, in vmcs12_write_any() argument 409 char *p = (char *)vmcs12 + offset; in vmcs12_write_any()
|
D | evmcs.c | 465 int nested_evmcs_check_controls(struct vmcs12 *vmcs12) in nested_evmcs_check_controls() argument 468 vmcs12->pin_based_vm_exec_control))) in nested_evmcs_check_controls() 472 vmcs12->secondary_vm_exec_control))) in nested_evmcs_check_controls() 476 vmcs12->vm_exit_controls))) in nested_evmcs_check_controls() 480 vmcs12->vm_entry_controls))) in nested_evmcs_check_controls() 488 if (WARN_ON_ONCE(vmcs12->vm_function_control >> 32)) in nested_evmcs_check_controls() 492 vmcs12->vm_function_control))) in nested_evmcs_check_controls()
|
D | sgx.c | 456 void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in vmx_write_encls_bitmap() argument 492 if (!vmcs12 && is_guest_mode(vcpu)) in vmx_write_encls_bitmap() 493 vmcs12 = get_vmcs12(vcpu); in vmx_write_encls_bitmap() 494 if (vmcs12 && nested_cpu_has_encls_exit(vmcs12)) in vmx_write_encls_bitmap() 495 bitmap |= vmcs12->encls_exiting_bitmap; in vmx_write_encls_bitmap()
|
D | evmcs.h | 243 int nested_evmcs_check_controls(struct vmcs12 *vmcs12);
|
D | vmx.c | 1647 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_update_emulated_instruction() local 1664 if (nested_cpu_has_mtf(vmcs12) && in vmx_update_emulated_instruction() 1797 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_get_l2_tsc_offset() local 1799 if (nested_cpu_has(vmcs12, CPU_BASED_USE_TSC_OFFSETTING)) in vmx_get_l2_tsc_offset() 1800 return vmcs12->tsc_offset; in vmx_get_l2_tsc_offset() 1807 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_get_l2_tsc_multiplier() local 1809 if (nested_cpu_has(vmcs12, CPU_BASED_USE_TSC_OFFSETTING) && in vmx_get_l2_tsc_multiplier() 1810 nested_cpu_has2(vmcs12, SECONDARY_EXEC_TSC_SCALING)) in vmx_get_l2_tsc_multiplier() 1811 return vmcs12->tsc_multiplier; in vmx_get_l2_tsc_multiplier() 5264 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr0() local [all …]
|
D | vmx.h | 141 struct vmcs12 *cached_vmcs12; 147 struct vmcs12 *cached_shadow_vmcs12;
|
D | vmcs12.c | 5 #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
|
/linux-6.1.9/Documentation/virt/kvm/x86/ |
D | nested-vmx.rst | 71 internals of this structure; This is struct vmcs12 from arch/x86/kvm/vmx.c. 73 The name "vmcs12" refers to the VMCS that L1 builds for L2. In the code we 78 For convenience, we repeat the content of struct vmcs12 here. If the internals 80 VMCS12_REVISION (from vmx.c) should be changed if struct vmcs12 or its inner 86 struct __packed vmcs12 {
|
/linux-6.1.9/arch/x86/kvm/ |
D | Makefile | 24 kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
|
/linux-6.1.9/tools/arch/x86/include/uapi/asm/ |
D | kvm.h | 466 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
|
/linux-6.1.9/arch/x86/include/uapi/asm/ |
D | kvm.h | 466 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
|
/linux-6.1.9/Documentation/virt/kvm/ |
D | api.rst | 4819 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
|