Home
last modified time | relevance | path

Searched refs:vmcs (Results 1 – 14 of 14) sorted by relevance

/linux/arch/loongarch/kvm/
H A Dmain.c19 static struct kvm_context __percpu *vmcs; variable
202 context = per_cpu_ptr(vcpu->kvm->arch.vmcs, cpu); in kvm_update_vpid()
231 context = per_cpu_ptr(vcpu->kvm->arch.vmcs, cpu); in kvm_check_vpid()
275 kvm->arch.vmcs = vmcs; in kvm_init_vmcs()
325 this_cpu_ptr(vmcs)->last_vcpu = NULL; in kvm_arch_enable_virtualization_cpu()
347 vmcs = alloc_percpu(struct kvm_context); in kvm_loongarch_env_init()
348 if (!vmcs) { in kvm_loongarch_env_init()
355 free_percpu(vmcs); in kvm_loongarch_env_init()
356 vmcs in kvm_loongarch_env_init()
[all...]
H A Dvcpu.c45 context = this_cpu_ptr(vcpu->kvm->arch.vmcs); in kvm_save_host_pmu()
60 context = this_cpu_ptr(vcpu->kvm->arch.vmcs); in kvm_restore_host_pmu()
1573 context = per_cpu_ptr(vcpu->kvm->arch.vmcs, cpu); in kvm_arch_vcpu_destroy()
1595 context = per_cpu_ptr(vcpu->kvm->arch.vmcs, cpu); in _kvm_vcpu_load()
/linux/arch/x86/kvm/vmx/
H A Dvmx_ops.h10 #include "vmcs.h"
15 void vmclear_error(struct vmcs *vmcs, u64 phys_addr);
16 void vmptrld_error(struct vmcs *vmcs, u64 phys_addr);
289 static inline void vmcs_clear(struct vmcs *vmcs) in vmcs_clear() argument
291 u64 phys_addr = __pa(vmcs); in vmcs_clear()
293 vmx_asm1(vmclear, "m"(phys_addr), vmcs, phys_addr); in vmcs_clear()
296 static inline void vmcs_load(struct vmcs *vmc argument
[all...]
H A Dvmcs.h21 struct vmcs { struct
27 DECLARE_PER_CPU(struct vmcs *, current_vmcs); argument
62 struct vmcs *vmcs; member
63 struct vmcs *shadow_vmcs;
22 hdrvmcs global() argument
H A Dvmx.h15 #include "vmcs.h"
106 * Indicates if the shadow vmcs or enlightened vmcs must be updated
594 static inline u##bits __##lname##_controls_get(struct loaded_vmcs *vmcs) \
596 return vmcs->controls_shadow.lname; \
667 struct vmcs *alloc_vmcs_cpu(bool shadow, int cpu, gfp_t flags);
668 void free_vmcs(struct vmcs *vmcs);
673 static inline struct vmcs *alloc_vmcs(bool shadow) in alloc_vmcs()
H A Dtdx.h179 TDX_BUILD_TDVPS_ACCESSORS(16, VMCS, vmcs);
180 TDX_BUILD_TDVPS_ACCESSORS(32, VMCS, vmcs);
181 TDX_BUILD_TDVPS_ACCESSORS(64, VMCS, vmcs);
H A Dvmx.c69 #include "vmcs.h"
448 noinline void vmclear_error(struct vmcs *vmcs, u64 phys_addr) in vmclear_error() argument
451 vmcs, phys_addr, vmcs_read32(VM_INSTRUCTION_ERROR)); in vmclear_error()
454 noinline void vmptrld_error(struct vmcs *vmcs, u64 phys_addr) in vmptrld_error() argument
457 vmcs, phys_addr, vmcs_read32(VM_INSTRUCTION_ERROR)); in vmptrld_error()
471 static DEFINE_PER_CPU(struct vmcs *, vmxarea);
472 DEFINE_PER_CPU(struct vmcs *, current_vmcs);
524 evmcs = (struct hv_enlightened_vmcs *)to_vmx(vcpu)->loaded_vmcs->vmcs; in hv_enable_l2_tlb_flush()
2863 struct vmcs *vmcs; alloc_vmcs_cpu() local
2882 free_vmcs(struct vmcs * vmcs) free_vmcs() argument
2949 struct vmcs *vmcs; alloc_kvm_area() local
[all...]
H A Dnested.c293 static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs) in vmx_switch_vmcs() argument
299 if (WARN_ON_ONCE(vmx->loaded_vmcs == vmcs)) in vmx_switch_vmcs()
304 vmx->loaded_vmcs = vmcs; in vmx_switch_vmcs()
371 * Ensure that the current vmcs of the logical processor is the
1611 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_shadow_to_vmcs12()
1631 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_shadow_to_vmcs12()
1646 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_vmcs12_to_shadow()
1667 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_vmcs12_to_shadow()
2644 * L2 guest. L1 has a vmcs for L2 (vmcs12), and this function "merges" it
2647 * needs. In addition to modifying the active vmcs (whic
[all...]
/linux/tools/perf/util/intel-pt-decoder/
H A Dintel-pt-decoder.c124 struct intel_pt_vmcs_info *(*findnew_vmcs_info)(void *data, uint64_t vmcs);
167 uint64_t vmcs; member
2320 bool tsc, pip, vmcs, tma, psbend; member
2358 data->vmcs = true; in intel_pt_vm_psb_lookahead_cb()
2518 payload, decoder->packet.payload, vmcs_info->vmcs, in intel_pt_translate_vm_tsc()
2526 .vmcs = NO_VMCS, in intel_pt_translate_vm_tsc_offset()
2546 vmcs_info->vmcs, vmcs_info->tsc_offset); in intel_pt_print_vmcs_info()
2601 uint64_t vmcs; in intel_pt_vm_tm_corr_tsc() local
2629 vmcs = data->vmcs in intel_pt_vm_tm_corr_tsc()
2754 uint64_t vmcs; intel_pt_vm_tm_corr_pebs_tsc() local
[all...]
H A Dintel-pt-decoder.h210 uint64_t vmcs; member
280 struct intel_pt_vmcs_info *(*findnew_vmcs_info)(void *data, uint64_t vmcs);
/linux/tools/testing/selftests/kvm/lib/x86/
H A Dvmx.c83 /* Setup of a region of guest memory for a vmcs. */ in vcpu_alloc_vmx()
84 vmx->vmcs = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx()
85 vmx->vmcs_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx()
86 vmx->vmcs_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx()
161 *(uint32_t *)(vmx->vmcs) = vmcs_revision(); in load_vmcs()
/linux/tools/perf/util/
H A Dintel-pt.c319 u64 vmcs, in intel_pt_findnew_vmcs() argument
330 if (v->vmcs == vmcs) in intel_pt_findnew_vmcs()
333 if (vmcs < v->vmcs) in intel_pt_findnew_vmcs()
341 v->vmcs = vmcs; in intel_pt_findnew_vmcs()
352 static struct intel_pt_vmcs_info *intel_pt_findnew_vmcs_info(void *data, uint64_t vmcs) in intel_pt_findnew_vmcs_info() argument
357 if (!vmcs && !pt->dflt_tsc_offset) in intel_pt_findnew_vmcs_info()
360 return intel_pt_findnew_vmcs(&pt->vmcs_info, vmcs, p in intel_pt_findnew_vmcs_info()
4304 u64 tsc_offset, vmcs; intel_pt_parse_vm_tm_corr_arg() local
[all...]
/linux/tools/testing/selftests/kvm/include/x86/
H A Dvmx.h505 void *vmcs; member
H A Devmcs.h248 static inline int evmcs_vmptrld(uint64_t vmcs_pa, void *vmcs) in evmcs_vmptrld() argument
253 current_evmcs = vmcs; in evmcs_vmptrld()