Home
last modified time | relevance | path

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

/OK3568_Linux_fs/kernel/arch/x86/kvm/vmx/
H A Dnested.c59 #define SHADOW_FIELD_RO(x, y) { x, offsetof(struct vmcs12, y) },
66 #define SHADOW_FIELD_RW(x, y) { x, offsetof(struct vmcs12, y) },
336 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_ept_inject_page_fault() local
351 vmcs12->guest_physical_address = fault->address; in nested_ept_inject_page_fault()
377 static bool nested_vmx_is_page_fault_vmexit(struct vmcs12 *vmcs12, in nested_vmx_is_page_fault_vmexit() argument
382 bit = (vmcs12->exception_bitmap & (1u << PF_VECTOR)) != 0; in nested_vmx_is_page_fault_vmexit()
384 (error_code & vmcs12->page_fault_error_code_mask) != in nested_vmx_is_page_fault_vmexit()
385 vmcs12->page_fault_error_code_match; in nested_vmx_is_page_fault_vmexit()
396 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_check_exception() local
406 if (nested_vmx_is_page_fault_vmexit(vmcs12, in nested_vmx_check_exception()
[all …]
H A 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 …]
H A 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()
H A Devmcs.c376 int nested_evmcs_check_controls(struct vmcs12 *vmcs12) in nested_evmcs_check_controls() argument
381 unsupp_ctl = vmcs12->pin_based_vm_exec_control & in nested_evmcs_check_controls()
390 unsupp_ctl = vmcs12->secondary_vm_exec_control & in nested_evmcs_check_controls()
399 unsupp_ctl = vmcs12->vm_exit_controls & in nested_evmcs_check_controls()
408 unsupp_ctl = vmcs12->vm_entry_controls & in nested_evmcs_check_controls()
417 unsupp_ctl = vmcs12->vm_function_control & EVMCS1_UNSUPPORTED_VMFUNC; in nested_evmcs_check_controls()
H A Devmcs.h214 int nested_evmcs_check_controls(struct vmcs12 *vmcs12);
H A Dvmx.c1689 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_update_emulated_instruction() local
1702 if (nested_cpu_has_mtf(vmcs12) && in vmx_update_emulated_instruction()
1825 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_write_l1_tsc_offset() local
1835 (vmcs12->cpu_based_vm_exec_control & CPU_BASED_USE_TSC_OFFSETTING)) in vmx_write_l1_tsc_offset()
1836 g_tsc_offset = vmcs12->tsc_offset; in vmx_write_l1_tsc_offset()
5059 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr0() local
5070 val = (val & ~vmcs12->cr0_guest_host_mask) | in handle_set_cr0()
5071 (vmcs12->guest_cr0 & vmcs12->cr0_guest_host_mask); in handle_set_cr0()
5092 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr4() local
5096 val = (val & ~vmcs12->cr4_guest_host_mask) | in handle_set_cr4()
[all …]
H A Dvmx.h114 struct vmcs12 *cached_vmcs12;
120 struct vmcs12 *cached_shadow_vmcs12;
H A Dvmcs12.c6 #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
/OK3568_Linux_fs/kernel/Documentation/virt/kvm/
H A 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 {
H A Dapi.rst4372 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
/OK3568_Linux_fs/kernel/arch/x86/kvm/
H A DMakefile21 kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
/OK3568_Linux_fs/kernel/arch/x86/include/uapi/asm/
H A Dkvm.h426 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
/OK3568_Linux_fs/kernel/tools/arch/x86/include/uapi/asm/
H A Dkvm.h426 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member