| /linux/tools/testing/selftests/kvm/lib/x86/ |
| H A D | vmx.c | 11 #include "vmx.h" 85 struct vmx_pages *vmx = addr_gva2hva(vm, vmx_gva); in vcpu_alloc_vmx() 88 vmx->vmxon = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx() 89 vmx->vmxon_hva = addr_gva2hva(vm, (uintptr_t)vmx->vmxon); in vcpu_alloc_vmx() 90 vmx->vmxon_gpa = addr_gva2gpa(vm, (uintptr_t)vmx->vmxon); in vcpu_alloc_vmx() 93 vmx->vmcs = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_vmx() 94 vmx->vmcs_hva = addr_gva2hva(vm, (uintptr_t)vmx in vcpu_alloc_vmx() 76 struct vmx_pages *vmx = addr_gva2hva(vm, vmx_gva); vcpu_alloc_vmx() local 114 prepare_for_vmx_operation(struct vmx_pages * vmx) prepare_for_vmx_operation() argument 158 load_vmcs(struct vmx_pages * vmx) load_vmcs() argument 189 init_vmcs_control_fields(struct vmx_pages * vmx) init_vmcs_control_fields() argument 358 prepare_vmcs(struct vmx_pages * vmx,void * guest_rip,void * guest_rsp) prepare_vmcs() argument 397 __nested_pg_map(struct vmx_pages * vmx,struct kvm_vm * vm,uint64_t nested_paddr,uint64_t paddr,int target_level) __nested_pg_map() argument 448 nested_pg_map(struct vmx_pages * vmx,struct kvm_vm * vm,uint64_t nested_paddr,uint64_t paddr) nested_pg_map() argument 471 __nested_map(struct vmx_pages * vmx,struct kvm_vm * vm,uint64_t nested_paddr,uint64_t paddr,uint64_t size,int level) __nested_map() argument 488 nested_map(struct vmx_pages * vmx,struct kvm_vm * vm,uint64_t nested_paddr,uint64_t paddr,uint64_t size) nested_map() argument 497 nested_map_memslot(struct vmx_pages * vmx,struct kvm_vm * vm,uint32_t memslot) nested_map_memslot() argument 519 nested_identity_map_1g(struct vmx_pages * vmx,struct kvm_vm * vm,uint64_t addr,uint64_t size) nested_identity_map_1g() argument 537 prepare_eptp(struct vmx_pages * vmx,struct kvm_vm * vm) prepare_eptp() argument 546 prepare_virtualize_apic_accesses(struct vmx_pages * vmx,struct kvm_vm * vm) prepare_virtualize_apic_accesses() argument [all...] |
| H A D | memstress.c | 17 #include "vmx.h" 35 static void l1_vmx_code(struct vmx_pages *vmx, uint64_t vcpu_id) in memstress_l1_guest_code() 40 GUEST_ASSERT(vmx->vmcs_gpa); in memstress_l1_guest_code() 41 GUEST_ASSERT(prepare_for_vmx_operation(vmx)); in memstress_l1_guest_code() 42 GUEST_ASSERT(load_vmcs(vmx)); in memstress_l1_guest_code() 47 prepare_vmcs(vmx, memstress_l2_guest_entry, rsp); in memstress_l1_guest_code() 32 memstress_l1_guest_code(struct vmx_pages * vmx,uint64_t vcpu_id) memstress_l1_guest_code() argument 62 memstress_setup_ept(struct vmx_pages * vmx,struct kvm_vm * vm) memstress_setup_ept() argument 82 struct vmx_pages *vmx, *vmx0 = NULL; memstress_setup_nested() local
|
| /linux/arch/x86/kvm/vmx/ |
| H A D | vmx.c | 473 static __always_inline void vmx_disable_fb_clear(struct vcpu_vmx *vmx) in vmx_disable_fb_clear() argument 477 if (!vmx->disable_fb_clear) in vmx_disable_fb_clear() 484 vmx->msr_ia32_mcu_opt_ctrl = msr; in vmx_disable_fb_clear() 487 static __always_inline void vmx_enable_fb_clear(struct vcpu_vmx *vmx) in vmx_enable_fb_clear() argument 489 if (!vmx->disable_fb_clear) in vmx_enable_fb_clear() 492 vmx->msr_ia32_mcu_opt_ctrl &= ~FB_CLEAR_DIS; in vmx_enable_fb_clear() 493 native_wrmsrq(MSR_IA32_MCU_OPT_CTRL, vmx->msr_ia32_mcu_opt_ctrl); in vmx_enable_fb_clear() 496 static void vmx_update_fb_clear_dis(struct kvm_vcpu *vcpu, struct vcpu_vmx *vmx) in vmx_update_fb_clear_dis() argument 506 vmx->disable_fb_clear = !cpu_feature_enabled(X86_FEATURE_CLEAR_CPU_BUF) && in vmx_update_fb_clear_dis() 522 vmx->disable_fb_clear = false; in vmx_update_fb_clear_dis() [all …]
|
| H A D | nested.c | 196 struct vcpu_vmx *vmx = to_vmx(vcpu); in nested_vmx_fail() local 202 if (vmx->nested.current_vmptr == INVALID_GPA && in nested_vmx_fail() 203 !nested_vmx_is_evmptr12_valid(vmx)) in nested_vmx_fail() 226 static void vmx_disable_shadow_vmcs(struct vcpu_vmx *vmx) in vmx_disable_shadow_vmcs() argument 228 secondary_exec_controls_clearbit(vmx, SECONDARY_EXEC_SHADOW_VMCS); in vmx_disable_shadow_vmcs() 230 vmx->nested.need_vmcs12_to_shadow_sync = false; in vmx_disable_shadow_vmcs() 237 struct vcpu_vmx *vmx = to_vmx(vcpu); in nested_release_evmcs() local 239 kvm_vcpu_unmap(vcpu, &vmx->nested.hv_evmcs_map); in nested_release_evmcs() 240 vmx->nested.hv_evmcs = NULL; in nested_release_evmcs() 241 vmx->nested.hv_evmcs_vmptr = EVMPTR_INVALID; in nested_release_evmcs() [all …]
|
| /linux/tools/testing/selftests/powerpc/ptrace/ |
| H A D | ptrace-vsx.h | 31 int validate_vmx(unsigned long vmx[][2], unsigned long *load) in validate_vmx() 37 if ((vmx[i][0] != load[64 + 2 * i]) || in validate_vmx() 38 (vmx[i][1] != load[65 + 2 * i])) { in validate_vmx() 40 i, vmx[i][0], 64 + 2 * i, in validate_vmx() 43 i, vmx[i][1], 65 + 2 * i, in validate_vmx() 51 if ((vmx[i][0] != load[65 + 2 * i]) || in validate_vmx() 52 (vmx[i][1] != load[64 + 2 * i])) { in validate_vmx() 54 i, vmx[i][0], 65 + 2 * i, in validate_vmx() 57 i, vmx[i][1], 64 + 2 * i, in validate_vmx() 109 unsigned long vmx[][2]) in load_vsx_vmx() [all …]
|
| H A D | ptrace-tm-vsx.c | 87 unsigned long vmx[VMX_MAX + 2][2]; in trace_tm_vsx() local 92 FAIL_IF(show_vmx(child, vmx)); in trace_tm_vsx() 93 FAIL_IF(validate_vmx(vmx, fp_load)); in trace_tm_vsx() 96 FAIL_IF(show_vmx_ckpt(child, vmx)); in trace_tm_vsx() 97 FAIL_IF(validate_vmx(vmx, fp_load_ckpt)); in trace_tm_vsx() 99 memset(vmx, 0, sizeof(vmx)); in trace_tm_vsx() 101 load_vsx_vmx(fp_load_ckpt_new, vsx, vmx); in trace_tm_vsx() 104 FAIL_IF(write_vmx_ckpt(child, vmx)); in trace_tm_vsx()
|
| H A D | ptrace-tm-spd-vsx.c | 99 unsigned long vmx[VMX_MAX + 2][2]; in trace_tm_spd_vsx() local 104 FAIL_IF(show_vmx(child, vmx)); in trace_tm_spd_vsx() 105 FAIL_IF(validate_vmx(vmx, fp_load)); in trace_tm_spd_vsx() 108 FAIL_IF(show_vmx_ckpt(child, vmx)); in trace_tm_spd_vsx() 109 FAIL_IF(validate_vmx(vmx, fp_load_ckpt)); in trace_tm_spd_vsx() 112 memset(vmx, 0, sizeof(vmx)); in trace_tm_spd_vsx() 114 load_vsx_vmx(fp_load_ckpt_new, vsx, vmx); in trace_tm_spd_vsx() 117 FAIL_IF(write_vmx_ckpt(child, vmx)); in trace_tm_spd_vsx()
|
| H A D | ptrace-vsx.c | 40 unsigned long vmx[VMX_MAX + 2][2]; in trace_vsx() local 45 FAIL_IF(show_vmx(child, vmx)); in trace_vsx() 46 FAIL_IF(validate_vmx(vmx, fp_load)); in trace_vsx() 49 memset(vmx, 0, sizeof(vmx)); in trace_vsx() 50 load_vsx_vmx(fp_load_new, vsx, vmx); in trace_vsx() 53 FAIL_IF(write_vmx(child, vmx)); in trace_vsx()
|
| H A D | ptrace.h | 597 int show_vmx(pid_t child, unsigned long vmx[][2]) in show_vmx() 601 ret = ptrace(PTRACE_GETVRREGS, child, 0, vmx); in show_vmx() 609 int show_vmx_ckpt(pid_t child, unsigned long vmx[][2]) in show_vmx_ckpt() 622 memcpy(vmx, regs, sizeof(regs)); in show_vmx_ckpt() 627 int write_vmx(pid_t child, unsigned long vmx[][2]) in write_vmx() 631 ret = ptrace(PTRACE_SETVRREGS, child, 0, vmx); in write_vmx() 639 int write_vmx_ckpt(pid_t child, unsigned long vmx[][2]) in write_vmx_ckpt() 645 memcpy(regs, vmx, sizeof(regs)); in write_vmx_ckpt()
|
| /linux/tools/testing/selftests/kvm/x86/ |
| H A D | vmx_dirty_log_test.c | |
| H A D | aperfmperf_test.c | 74 static void l1_vmx_code(struct vmx_pages *vmx) in l1_vmx_code() argument 78 GUEST_ASSERT_EQ(prepare_for_vmx_operation(vmx), true); in l1_vmx_code() 79 GUEST_ASSERT_EQ(load_vmcs(vmx), true); in l1_vmx_code() 81 prepare_vmcs(vmx, NULL, &l2_guest_stack[L2_GUEST_STACK_SIZE]); in l1_vmx_code()
|
| H A D | nested_exceptions_test.c | 129 static void l1_vmx_code(struct vmx_pages *vmx) in l1_vmx_code() argument 133 GUEST_ASSERT_EQ(prepare_for_vmx_operation(vmx), true); in l1_vmx_code() 135 GUEST_ASSERT_EQ(load_vmcs(vmx), true); in l1_vmx_code() 137 prepare_vmcs(vmx, NULL, &l2_guest_stack[L2_GUEST_STACK_SIZE]); in l1_vmx_code()
|
| /linux/tools/testing/selftests/kvm/include/x86/ |
| H A D | vmx.h | 9 #include <asm/vmx.h> 554 bool prepare_for_vmx_operation(struct vmx_pages *vmx); 555 void prepare_vmcs(struct vmx_pages *vmx, void *guest_rip, void *guest_rsp); 556 bool load_vmcs(struct vmx_pages *vmx); 562 void prepare_virtualize_apic_accesses(struct vmx_pages *vmx, struct kvm_vm *vm);
|
| /linux/tools/testing/selftests/powerpc/tm/ |
| H A D | Makefile | 3 tm-signal-context-chk-vmx tm-signal-context-chk-vsx 6 tm-vmxcopy tm-fork tm-tar tm-tmspr tm-vmx-unavail tm-unavailable tm-trap \ 23 $(OUTPUT)/tm-vmx-unavail: CFLAGS += -pthread -m64
|
| H A D | .gitignore | 13 tm-signal-context-chk-vmx 18 tm-vmx-unavail
|
| /linux/arch/x86/virt/ |
| H A D | Makefile | 2 obj-y += svm/ vmx/
|
| /linux/Documentation/virt/kvm/x86/ |
| H A D | index.rst | 17 nested-vmx
|
| H A D | nested-vmx.rst | 51 - cpu qemu64,+vmx (add just the vmx feature to a named CPU type) 71 internals of this structure; This is struct vmcs12 from arch/x86/kvm/vmx.c. 80 VMCS12_REVISION (from vmx.c) should be changed if struct vmcs12 or its inner
|
| H A D | running-nested-guests.rst | 156 $ qemu-kvm -cpu Haswell-noTSX-IBRS,vmx=on
|
| /linux/arch/powerpc/lib/ |
| H A D | Makefile | 61 obj64-$(CONFIG_ALTIVEC) += vmx-helper.o
|
| /linux/lib/zstd/common/ |
| H A D | cpu.h | 104 C(vmx, 5)
|
| /linux/tools/arch/x86/include/uapi/asm/ |
| H A D | kvm.h | 542 struct kvm_vmx_nested_state_hdr vmx; member 555 __DECLARE_FLEX_ARRAY(struct kvm_vmx_nested_state_data, vmx);
|
| /linux/tools/testing/selftests/kvm/ |
| H A D | Makefile.kvm | 31 LIBKVM_x86 += lib/x86/vmx.c
|
| /linux/Documentation/process/ |
| H A D | maintainer-kvm-x86.rst | 169 All names are case sensitive! ``KVM: x86:`` is good, ``kvm: vmx:`` is not.
|
| /linux/Documentation/translations/sp_SP/process/ |
| H A D | maintainer-kvm-x86.rst | 205 es correcto, ``kvm: vmx:`` no lo es.
|