/Linux-v5.15/arch/x86/kvm/vmx/ |
D | vmx_ops.h | 17 void vmclear_error(struct vmcs *vmcs, u64 phys_addr); 18 void vmptrld_error(struct vmcs *vmcs, u64 phys_addr); 240 static inline void vmcs_clear(struct vmcs *vmcs) in vmcs_clear() argument 242 u64 phys_addr = __pa(vmcs); in vmcs_clear() 244 vmx_asm1(vmclear, "m"(phys_addr), vmcs, phys_addr); in vmcs_clear() 247 static inline void vmcs_load(struct vmcs *vmcs) in vmcs_load() argument 249 u64 phys_addr = __pa(vmcs); in vmcs_load() 254 vmx_asm1(vmptrld, "m"(phys_addr), vmcs, phys_addr); in vmcs_load()
|
D | vmcs.h | 21 struct vmcs { struct 27 DECLARE_PER_CPU(struct vmcs *, current_vmcs); argument 61 struct vmcs *vmcs; member 62 struct vmcs *shadow_vmcs;
|
D | vmx.h | 416 static inline u32 __##lname##_controls_get(struct loaded_vmcs *vmcs) \ 418 return vmcs->controls_shadow.lname; \ 484 struct vmcs *alloc_vmcs_cpu(bool shadow, int cpu, gfp_t flags); 485 void free_vmcs(struct vmcs *vmcs); 490 static inline struct vmcs *alloc_vmcs(bool shadow) in alloc_vmcs()
|
D | vmx.c | 390 noinline void vmclear_error(struct vmcs *vmcs, u64 phys_addr) in vmclear_error() argument 392 vmx_insn_failed("kvm: vmclear failed: %p/%llx\n", vmcs, phys_addr); in vmclear_error() 395 noinline void vmptrld_error(struct vmcs *vmcs, u64 phys_addr) in vmptrld_error() argument 397 vmx_insn_failed("kvm: vmptrld failed: %p/%llx\n", vmcs, phys_addr); in vmptrld_error() 412 static DEFINE_PER_CPU(struct vmcs *, vmxarea); 413 DEFINE_PER_CPU(struct vmcs *, current_vmcs); 476 evmcs = (struct hv_enlightened_vmcs *)to_vmx(vcpu)->loaded_vmcs->vmcs; in hv_enable_direct_tlbflush() 625 vmcs_clear(v->vmcs); in crash_vmclear_local_loaded_vmcss() 636 if (per_cpu(current_vmcs, cpu) == loaded_vmcs->vmcs) in __loaded_vmcs_clear() 639 vmcs_clear(loaded_vmcs->vmcs); in __loaded_vmcs_clear() [all …]
|
D | nested.c | 256 static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs) in vmx_switch_vmcs() argument 262 if (WARN_ON_ONCE(vmx->loaded_vmcs == vmcs)) in vmx_switch_vmcs() 267 vmx->loaded_vmcs = vmcs; in vmx_switch_vmcs() 1539 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_shadow_to_vmcs12() 1559 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_shadow_to_vmcs12() 1574 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_vmcs12_to_shadow() 1595 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_vmcs12_to_shadow() 4839 static struct vmcs *alloc_shadow_vmcs(struct kvm_vcpu *vcpu) in alloc_shadow_vmcs() 5257 vmcs_load(vmx->loaded_vmcs->vmcs); in handle_vmwrite()
|
/Linux-v5.15/tools/perf/util/intel-pt-decoder/ |
D | intel-pt-decoder.c | 124 struct intel_pt_vmcs_info *(*findnew_vmcs_info)(void *data, uint64_t vmcs); 164 uint64_t vmcs; member 2055 bool tsc, pip, vmcs, tma, psbend; member 2093 data->vmcs = true; in intel_pt_vm_psb_lookahead_cb() 2250 payload, decoder->packet.payload, vmcs_info->vmcs, in intel_pt_translate_vm_tsc() 2258 .vmcs = NO_VMCS, in intel_pt_translate_vm_tsc_offset() 2278 vmcs_info->vmcs, vmcs_info->tsc_offset); in intel_pt_print_vmcs_info() 2333 uint64_t vmcs; in intel_pt_vm_tm_corr_tsc() local 2361 vmcs = data->vmcs ? data->vmcs_packet.payload : decoder->vmcs; in intel_pt_vm_tm_corr_tsc() 2362 if (vmcs == NO_VMCS) in intel_pt_vm_tm_corr_tsc() [all …]
|
D | intel-pt-decoder.h | 206 uint64_t vmcs; member 257 struct intel_pt_vmcs_info *(*findnew_vmcs_info)(void *data, uint64_t vmcs);
|
/Linux-v5.15/tools/testing/selftests/kvm/lib/x86_64/ |
D | vmx.c | 89 vmx->vmcs = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx() 90 vmx->vmcs_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx() 91 vmx->vmcs_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx() 179 *(uint32_t *)(vmx->vmcs) = vmcs_revision(); in load_vmcs()
|
/Linux-v5.15/tools/perf/util/ |
D | intel-pt.c | 280 u64 vmcs, in intel_pt_findnew_vmcs() argument 291 if (v->vmcs == vmcs) in intel_pt_findnew_vmcs() 294 if (vmcs < v->vmcs) in intel_pt_findnew_vmcs() 302 v->vmcs = vmcs; in intel_pt_findnew_vmcs() 313 static struct intel_pt_vmcs_info *intel_pt_findnew_vmcs_info(void *data, uint64_t vmcs) in intel_pt_findnew_vmcs_info() argument 318 if (!vmcs && !pt->dflt_tsc_offset) in intel_pt_findnew_vmcs_info() 321 return intel_pt_findnew_vmcs(&pt->vmcs_info, vmcs, pt->dflt_tsc_offset); in intel_pt_findnew_vmcs_info() 3524 u64 tsc_offset, vmcs; in intel_pt_parse_vm_tm_corr_arg() local 3543 vmcs = strtoull(p, &p, 0); in intel_pt_parse_vm_tm_corr_arg() 3546 if (!vmcs) in intel_pt_parse_vm_tm_corr_arg() [all …]
|
/Linux-v5.15/tools/testing/selftests/kvm/include/x86_64/ |
D | vmx.h | 544 void *vmcs; member
|
D | evmcs.h | 241 static inline int evmcs_vmptrld(uint64_t vmcs_pa, void *vmcs) in evmcs_vmptrld() argument 246 current_evmcs = vmcs; in evmcs_vmptrld()
|