Home
last modified time | relevance | path

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

/Linux-v5.15/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()
87 static inline unsigned long nested_read_cr0(struct vmcs12 *fields) in nested_read_cr0()
92 static inline unsigned long nested_read_cr4(struct vmcs12 *fields) in nested_read_cr4()
131 static inline bool nested_cpu_has(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has() argument
133 return vmcs12->cpu_based_vm_exec_control & bit; in nested_cpu_has()
136 static inline bool nested_cpu_has2(struct vmcs12 *vmcs12, u32 bit) in nested_cpu_has2() argument
138 return (vmcs12->cpu_based_vm_exec_control & in nested_cpu_has2()
140 (vmcs12->secondary_vm_exec_control & bit); in nested_cpu_has2()
143 static inline bool nested_cpu_has_preemption_timer(struct vmcs12 *vmcs12) in nested_cpu_has_preemption_timer() argument
[all …]
Dnested.c54 #define SHADOW_FIELD_RO(x, y) { x, offsetof(struct vmcs12, y) },
61 #define SHADOW_FIELD_RW(x, y) { x, offsetof(struct vmcs12, y) },
361 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_ept_inject_page_fault() local
383 nested_ept_invalidate_addr(vcpu, vmcs12->ept_pointer, in nested_ept_inject_page_fault()
388 vmcs12->guest_physical_address = fault->address; in nested_ept_inject_page_fault()
419 static bool nested_vmx_is_page_fault_vmexit(struct vmcs12 *vmcs12, in nested_vmx_is_page_fault_vmexit() argument
424 bit = (vmcs12->exception_bitmap & (1u << PF_VECTOR)) != 0; in nested_vmx_is_page_fault_vmexit()
426 (error_code & vmcs12->page_fault_error_code_mask) != in nested_vmx_is_page_fault_vmexit()
427 vmcs12->page_fault_error_code_match; in nested_vmx_is_page_fault_vmexit()
438 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in nested_vmx_check_exception() local
[all …]
Dsgx.h18 void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12);
26 struct vmcs12 *vmcs12) in vmx_write_encls_bitmap() argument
Dvmcs12.h27 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()
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()
Dsgx.c460 void vmx_write_encls_bitmap(struct kvm_vcpu *vcpu, struct vmcs12 *vmcs12) in vmx_write_encls_bitmap() argument
496 if (!vmcs12 && is_guest_mode(vcpu)) in vmx_write_encls_bitmap()
497 vmcs12 = get_vmcs12(vcpu); in vmx_write_encls_bitmap()
498 if (vmcs12 && nested_cpu_has_encls_exit(vmcs12)) in vmx_write_encls_bitmap()
499 bitmap |= vmcs12->encls_exiting_bitmap; in vmx_write_encls_bitmap()
Devmcs.h216 int nested_evmcs_check_controls(struct vmcs12 *vmcs12);
Dvmx.c1560 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_update_emulated_instruction() local
1573 if (nested_cpu_has_mtf(vmcs12) && in vmx_update_emulated_instruction()
1694 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_get_l2_tsc_offset() local
1696 if (nested_cpu_has(vmcs12, CPU_BASED_USE_TSC_OFFSETTING)) in vmx_get_l2_tsc_offset()
1697 return vmcs12->tsc_offset; in vmx_get_l2_tsc_offset()
1704 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in vmx_get_l2_tsc_multiplier() local
1706 if (nested_cpu_has(vmcs12, CPU_BASED_USE_TSC_OFFSETTING) && in vmx_get_l2_tsc_multiplier()
1707 nested_cpu_has2(vmcs12, SECONDARY_EXEC_TSC_SCALING)) in vmx_get_l2_tsc_multiplier()
1708 return vmcs12->tsc_multiplier; in vmx_get_l2_tsc_multiplier()
4929 struct vmcs12 *vmcs12 = get_vmcs12(vcpu); in handle_set_cr0() local
[all …]
Dvmx.h136 struct vmcs12 *cached_vmcs12;
142 struct vmcs12 *cached_shadow_vmcs12;
Dvmcs12.c5 #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
/Linux-v5.15/Documentation/virt/kvm/
Dnested-vmx.rst71 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 {
Dapi.rst4453 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE];
/Linux-v5.15/arch/x86/kvm/
DMakefile29 kvm-intel-y += vmx/vmx.o vmx/vmenter.o vmx/pmu_intel.o vmx/vmcs12.o \
/Linux-v5.15/arch/x86/include/uapi/asm/
Dkvm.h442 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member
/Linux-v5.15/tools/arch/x86/include/uapi/asm/
Dkvm.h442 __u8 vmcs12[KVM_STATE_NESTED_VMX_VMCS_SIZE]; member