Searched refs:vmcs12 (Results 1 – 13 of 13) sorted by relevance
/Linux-v5.10/arch/x86/kvm/vmx/ |
D | nested.h | 40 static inline struct vmcs12 *get_vmcs12(struct kvm_vcpu *vcpu) in get_vmcs12() 45 static inline struct vmcs12 *get_shadow_vmcs12(struct kvm_vcpu *vcpu) in get_shadow_vmcs12() 92 static inline unsigned long nested_read_cr0(struct vmcs12 *fields) in nested_read_cr0() 97 static inline unsigned long nested_read_cr4(struct vmcs12 *fields) in nested_read_cr4() 136 static inline bool nested_cpu_has(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has() argument 138 return vmcs12->cpu_based_vm_exec_control & bit; in nested_cpu_has() 141 static inline bool nested_cpu_has2(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has2() argument 143 return (vmcs12->cpu_based_vm_exec_control & in nested_cpu_has2() 145 (vmcs12->secondary_vm_exec_control & bit); in nested_cpu_has2() 148 static inline bool nested_cpu_has_preemption_timer(struct vmcs12 *vmcs12) in nested_cpu_has_preemption_timer() argument [all …]
|
D | nested.c | 58 #define SHADOW_FIELD_RO(x, y) { x, offsetof(struct vmcs12, y) }, 65 #define SHADOW_FIELD_RW(x, y) { x, offsetof(struct vmcs12, y) }, 335 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_ept_inject_page_fault() local 350 vmcs12->guest_physical_address = fault->address; in nested_ept_inject_page_fault() 376 static bool nested_vmx_is_page_fault_vmexit(struct vmcs12 *vmcs12, in nested_vmx_is_page_fault_vmexit() argument 381 bit = (vmcs12->exception_bitmap & (1u << PF_VECTOR)) != 0; in nested_vmx_is_page_fault_vmexit() 383 (error_code & vmcs12->page_fault_error_code_mask) != in nested_vmx_is_page_fault_vmexit() 384 vmcs12->page_fault_error_code_match; in nested_vmx_is_page_fault_vmexit() 395 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_check_exception() local 405 if (nested_vmx_is_page_fault_vmexit(vmcs12, in nested_vmx_check_exception() [all …]
|
D | vmcs12.h | 27 struct __packed vmcs12 { struct 216 BUILD_BUG_ON_MSG(offsetof(struct vmcs12, field) != (loc), \ 392 static inline u64 vmcs12_read_any(struct vmcs12 *vmcs12, unsigned long field, in vmcs12_read_any() argument 395 char *p = (char *)vmcs12 + offset; in vmcs12_read_any() 412 static inline void vmcs12_write_any(struct vmcs12 *vmcs12, unsigned long field, in vmcs12_write_any() argument 415 char *p = (char *)vmcs12 + offset; in vmcs12_write_any()
|
D | evmcs.c | 369 int nested_evmcs_check_controls(struct vmcs12 *vmcs12) in nested_evmcs_check_controls() argument 374 unsupp_ctl = vmcs12->pin_based_vm_exec_control & in nested_evmcs_check_controls() 383 unsupp_ctl = vmcs12->secondary_vm_exec_control & in nested_evmcs_check_controls() 392 unsupp_ctl = vmcs12->vm_exit_controls & in nested_evmcs_check_controls() 401 unsupp_ctl = vmcs12->vm_entry_controls & in nested_evmcs_check_controls() 410 unsupp_ctl = vmcs12->vm_function_control & EVMCS1_UNSUPPORTED_VMFUNC; in nested_evmcs_check_controls()
|
D | evmcs.h | 212 int nested_evmcs_check_controls(struct vmcs12 *vmcs12);
|
D | vmx.h | 90 struct vmcs12 *cached_vmcs12; 96 struct vmcs12 *cached_shadow_vmcs12;
|
D | vmx.c | 1611 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_update_emulated_instruction() local 1624 if (nested_cpu_has_mtf(vmcs12) && in vmx_update_emulated_instruction() 1737 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_write_l1_tsc_offset() local 1747 (vmcs12->cpu_based_vm_exec_control & CPU_BASED_USE_TSC_OFFSETTING)) in vmx_write_l1_tsc_offset() 1748 g_tsc_offset = vmcs12->tsc_offset; in vmx_write_l1_tsc_offset() 4935 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr0() local 4946 val = (val & ~vmcs12->cr0_guest_host_mask) | in handle_set_cr0() 4947 (vmcs12->guest_cr0 & vmcs12->cr0_guest_host_mask); in handle_set_cr0() 4968 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr4() local 4972 val = (val & ~vmcs12->cr4_guest_host_mask) | in handle_set_cr4() [all …]
|
D | vmcs12.c | 6 #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
|
/Linux-v5.10/Documentation/virt/kvm/ |
D | nested-vmx.rst | 69 internals of this structure; This is struct vmcs12 from arch/x86/kvm/vmx.c. 71 The name "vmcs12" refers to the VMCS that L1 builds for L2. In the code we 76 For convenience, we repeat the content of struct vmcs12 here. If the internals 78 VMCS12_REVISION (from vmx.c) should be changed if struct vmcs12 or its inner 84 struct __packed vmcs12 {
|
D | api.rst | 4361 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
|
/Linux-v5.10/arch/x86/kvm/ |
D | Makefile | 21 kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
|
/Linux-v5.10/arch/x86/include/uapi/asm/ |
D | kvm.h | 426 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
|
/Linux-v5.10/tools/arch/x86/include/uapi/asm/ |
D | kvm.h | 426 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
|