Home
last modified time | relevance | path

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

/Linux-v5.4/arch/x86/kvm/vmx/
Dops.h17 void vmclear_error(struct vmcs *vmcs, u64 phys_addr);
18 void vmptrld_error(struct vmcs *vmcs, u64 phys_addr);
219 static inline void vmcs_clear(struct vmcs *vmcs) in vmcs_clear() argument
221 u64 phys_addr = __pa(vmcs); in vmcs_clear()
223 vmx_asm1(vmclear, "m"(phys_addr), vmcs, phys_addr); in vmcs_clear()
226 static inline void vmcs_load(struct vmcs *vmcs) in vmcs_load() argument
228 u64 phys_addr = __pa(vmcs); in vmcs_load()
233 vmx_asm1(vmptrld, "m"(phys_addr), vmcs, phys_addr); in vmcs_load()
Dvmcs.h19 struct vmcs { struct
25 DECLARE_PER_CPU(struct vmcs *, current_vmcs); argument
59 struct vmcs *vmcs; member
60 struct vmcs *shadow_vmcs;
Dvmx.h475 struct vmcs *alloc_vmcs_cpu(bool shadow, int cpu, gfp_t flags);
476 void free_vmcs(struct vmcs *vmcs);
482 static inline struct vmcs *alloc_vmcs(bool shadow) in alloc_vmcs()
Dvmx.c371 noinline void vmclear_error(struct vmcs *vmcs, u64 phys_addr) in vmclear_error() argument
373 vmx_insn_failed("kvm: vmclear failed: %p/%llx\n", vmcs, phys_addr); in vmclear_error()
376 noinline void vmptrld_error(struct vmcs *vmcs, u64 phys_addr) in vmptrld_error() argument
378 vmx_insn_failed("kvm: vmptrld failed: %p/%llx\n", vmcs, phys_addr); in vmptrld_error()
393 static DEFINE_PER_CPU(struct vmcs *, vmxarea);
394 DEFINE_PER_CPU(struct vmcs *, current_vmcs);
551 evmcs = (struct hv_enlightened_vmcs *)to_vmx(vcpu)->loaded_vmcs->vmcs; in hv_enable_direct_tlbflush()
643 vmcs_clear(loaded_vmcs->vmcs); in loaded_vmcs_init()
683 vmcs_clear(v->vmcs); in crash_vmclear_local_loaded_vmcss()
697 if (per_cpu(current_vmcs, cpu) == loaded_vmcs->vmcs) in __loaded_vmcs_clear()
[all …]
Dnested.c293 static void vmx_switch_vmcs(struct kvm_vcpu *vcpu, struct loaded_vmcs *vmcs) in vmx_switch_vmcs() argument
299 if (vmx->loaded_vmcs == vmcs) in vmx_switch_vmcs()
304 vmx->loaded_vmcs = vmcs; in vmx_switch_vmcs()
1368 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_shadow_to_vmcs12()
1388 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_shadow_to_vmcs12()
1403 struct vmcs *shadow_vmcs = vmx->vmcs01.shadow_vmcs; in copy_vmcs12_to_shadow()
1424 vmcs_load(vmx->loaded_vmcs->vmcs); in copy_vmcs12_to_shadow()
4353 static struct vmcs *alloc_shadow_vmcs(struct kvm_vcpu *vcpu) in alloc_shadow_vmcs()
4793 vmcs_load(vmx->loaded_vmcs->vmcs); in handle_vmwrite()
/Linux-v5.4/tools/testing/selftests/kvm/lib/x86_64/
Dvmx.c86 vmx->vmcs = (void *)vm_vaddr_alloc(vm, getpagesize(), 0x10000, 0, 0); in vcpu_alloc_vmx()
87 vmx->vmcs_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx()
88 vmx->vmcs_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmcs); in vcpu_alloc_vmx()
178 *(uint32_t *)(vmx->vmcs) = vmcs_revision(); in load_vmcs()
/Linux-v5.4/tools/testing/selftests/kvm/include/x86_64/
Dvmx.h547 void *vmcs; member
/Linux-v5.4/tools/testing/selftests/kvm/include/
Devmcs.h239 static inline int evmcs_vmptrld(uint64_t vmcs_pa, void *vmcs) in evmcs_vmptrld() argument
244 current_evmcs = vmcs; in evmcs_vmptrld()