| /linux/arch/x86/kvm/vmx/ |
| H A D | nested.c | 59 #define SHADOW_FIELD_RO(x, y) { x, offsetof(struct vmcs12, y) }, 66 #define SHADOW_FIELD_RW(x, y) { x, offsetof(struct vmcs12, y) }, 416 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_ept_inject_page_fault() local 460 nested_ept_invalidate_addr(vcpu, vmcs12->ept_pointer, in nested_ept_inject_page_fault() 465 vmcs12->guest_physical_address = fault->address; in nested_ept_inject_page_fault() 498 static bool nested_vmx_is_page_fault_vmexit(struct vmcs12 *vmcs12, in nested_vmx_is_page_fault_vmexit() argument 503 bit = (vmcs12->exception_bitmap & (1u << PF_VECTOR)) != 0; in nested_vmx_is_page_fault_vmexit() 505 (error_code & vmcs12->page_fault_error_code_mask) != in nested_vmx_is_page_fault_vmexit() 506 vmcs12->page_fault_error_code_match; in nested_vmx_is_page_fault_vmexit() 513 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_is_exception_vmexit() local [all …]
|
| H A D | nested.h | 58 static inline struct vmcs12 *get_vmcs12(struct kvm_vcpu *vcpu) in get_vmcs12() 66 static inline struct vmcs12 *get_shadow_vmcs12(struct kvm_vcpu *vcpu) in get_shadow_vmcs12() 112 static inline unsigned long nested_read_cr0(struct vmcs12 *fields) in nested_read_cr0() 117 static inline unsigned long nested_read_cr4(struct vmcs12 *fields) in nested_read_cr4() 156 static inline bool nested_cpu_has(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has() argument 158 return vmcs12->cpu_based_vm_exec_control & bit; in nested_cpu_has() 161 static inline bool nested_cpu_has2(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has2() argument 163 return (vmcs12->cpu_based_vm_exec_control & in nested_cpu_has2() 165 (vmcs12->secondary_vm_exec_control & bit); in nested_cpu_has2() 168 static inline bool nested_cpu_has_preemption_timer(struct vmcs12 *vmcs12) in nested_cpu_has_preemption_timer() argument [all …]
|
| H A D | hyperv.c | 162 int nested_evmcs_check_controls(struct vmcs12 *vmcs12) in nested_evmcs_check_controls() argument 165 vmcs12->pin_based_vm_exec_control))) in nested_evmcs_check_controls() 169 vmcs12->cpu_based_vm_exec_control))) in nested_evmcs_check_controls() 173 vmcs12->secondary_vm_exec_control))) in nested_evmcs_check_controls() 177 vmcs12->vm_exit_controls))) in nested_evmcs_check_controls() 181 vmcs12->vm_entry_controls))) in nested_evmcs_check_controls() 189 if (WARN_ON_ONCE(vmcs12->vm_function_control >> 32)) in nested_evmcs_check_controls() 193 vmcs12->vm_function_control))) in nested_evmcs_check_controls()
|
| H A 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
|
| H A D | vmcs12.h | 27 struct __packed vmcs12 { struct 220 ASSERT_STRUCT_OFFSET(struct vmcs12, field, loc) 401 static inline u64 vmcs12_read_any(struct vmcs12 *vmcs12, unsigned long field, in vmcs12_read_any() argument 404 char *p = (char *)vmcs12 + offset; in vmcs12_read_any() 421 static inline void vmcs12_write_any(struct vmcs12 *vmcs12, unsigned long field, in vmcs12_write_any() argument 424 char *p = (char *)vmcs12 + offset; in vmcs12_write_any()
|
| H A D | sgx.c | 468 void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in vmx_write_encls_bitmap() argument 504 if (!vmcs12 && is_guest_mode(vcpu)) in vmx_write_encls_bitmap() 505 vmcs12 = get_vmcs12(vcpu); in vmx_write_encls_bitmap() 506 if (vmcs12 && nested_cpu_has_encls_exit(vmcs12)) in vmx_write_encls_bitmap() 507 bitmap |= vmcs12->encls_exiting_bitmap; in vmx_write_encls_bitmap()
|
| H A D | hyperv.h | 60 int nested_evmcs_check_controls(struct vmcs12 *vmcs12);
|
| H A D | vmx.c | 1890 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_update_emulated_instruction() local 1907 if (nested_cpu_has_mtf(vmcs12) && in vmx_update_emulated_instruction() 2040 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_get_l2_tsc_offset() local 2042 if (nested_cpu_has(vmcs12, CPU_BASED_USE_TSC_OFFSETTING)) in vmx_get_l2_tsc_offset() 2043 return vmcs12->tsc_offset; in vmx_get_l2_tsc_offset() 2050 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_get_l2_tsc_multiplier() local 2052 if (nested_cpu_has(vmcs12, CPU_BASED_USE_TSC_OFFSETTING) && in vmx_get_l2_tsc_multiplier() 2053 nested_cpu_has2(vmcs12, SECONDARY_EXEC_TSC_SCALING)) in vmx_get_l2_tsc_multiplier() 2054 return vmcs12->tsc_multiplier; in vmx_get_l2_tsc_multiplier() 5689 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr0() local [all …]
|
| H A D | vmx.h | 87 struct vmcs12 *cached_vmcs12; 93 struct vmcs12 *cached_shadow_vmcs12;
|
| H A D | vmcs12.c | 6 #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
|
| /linux/Documentation/virt/kvm/x86/ |
| H A 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/arch/x86/kvm/ |
| H A D | Makefile | 17 kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
|
| /linux/arch/x86/include/uapi/asm/ |
| H A D | kvm.h | 510 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
|
| /linux/tools/arch/x86/include/uapi/asm/ |
| H A D | kvm.h | 510 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
|
| /linux/Documentation/virt/kvm/ |
| H A D | api.rst | 4964 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; 8548 check for GUEST_IA32_DEBUGCTL in vmcs12
|