Home
last modified time | relevance | path

Searched refs:vmcs12 (Results 1 – 13 of 13) sorted by relevance

/Linux-v5.10/arch/x86/kvm/vmx/
Dnested.h40 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 …]
Dnested.c58 #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 …]
Dvmcs12.h27 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()
Devmcs.c369 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()
Devmcs.h212 int nested_evmcs_check_controls(struct vmcs12 *vmcs12);
Dvmx.h90 struct vmcs12 *cached_vmcs12;
96 struct vmcs12 *cached_shadow_vmcs12;
Dvmx.c1611 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 …]
Dvmcs12.c6 #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
/Linux-v5.10/Documentation/virt/kvm/
Dnested-vmx.rst69 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 {
Dapi.rst4361 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
/Linux-v5.10/arch/x86/kvm/
DMakefile21 kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
/Linux-v5.10/arch/x86/include/uapi/asm/
Dkvm.h426 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
/Linux-v5.10/tools/arch/x86/include/uapi/asm/
Dkvm.h426 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member