| /linux-6.15/tools/testing/selftests/kvm/x86/ |
| H A D | state_test.c | 75 static void vmx_l1_guest_code(struct vmx_pages *vmx_pages) in vmx_l1_guest_code() argument 79 GUEST_ASSERT(vmx_pages->vmcs_gpa); in vmx_l1_guest_code() 80 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in vmx_l1_guest_code() 82 GUEST_ASSERT(load_vmcs(vmx_pages)); in vmx_l1_guest_code() 83 GUEST_ASSERT(vmptrstz() == vmx_pages->vmcs_gpa); in vmx_l1_guest_code() 86 GUEST_ASSERT(vmptrstz() == vmx_pages->vmcs_gpa); in vmx_l1_guest_code() 88 prepare_vmcs(vmx_pages, vmx_l2_guest_code, in vmx_l1_guest_code() 92 GUEST_ASSERT(vmptrstz() == vmx_pages->vmcs_gpa); in vmx_l1_guest_code() 94 GUEST_ASSERT(vmptrstz() == vmx_pages->vmcs_gpa); in vmx_l1_guest_code() 114 GUEST_ASSERT(!vmptrld(vmx_pages->shadow_vmcs_gpa)); in vmx_l1_guest_code() [all …]
|
| H A D | vmx_preemption_timer_test.c | 67 void l1_guest_code(struct vmx_pages *vmx_pages) in l1_guest_code() argument 75 GUEST_ASSERT(vmx_pages->vmcs_gpa); in l1_guest_code() 76 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in l1_guest_code() 77 GUEST_ASSERT(load_vmcs(vmx_pages)); in l1_guest_code() 78 GUEST_ASSERT(vmptrstz() == vmx_pages->vmcs_gpa); in l1_guest_code() 80 prepare_vmcs(vmx_pages, l2_guest_code, in l1_guest_code() 145 void guest_code(struct vmx_pages *vmx_pages) in guest_code() argument 147 if (vmx_pages) in guest_code() 148 l1_guest_code(vmx_pages); in guest_code()
|
| H A D | vmx_apic_access_test.c | 37 static void l1_guest_code(struct vmx_pages *vmx_pages, unsigned long high_gpa) in l1_guest_code() argument 43 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in l1_guest_code() 44 GUEST_ASSERT(load_vmcs(vmx_pages)); in l1_guest_code() 47 prepare_vmcs(vmx_pages, l2_guest_code, in l1_guest_code() 55 vmwrite(APIC_ACCESS_ADDR, vmx_pages->apic_access_gpa); in l1_guest_code() 77 struct vmx_pages *vmx; in main()
|
| H A D | vmx_close_while_nested_test.c | 32 static void l1_guest_code(struct vmx_pages *vmx_pages) in l1_guest_code() argument 37 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in l1_guest_code() 38 GUEST_ASSERT(load_vmcs(vmx_pages)); in l1_guest_code() 41 prepare_vmcs(vmx_pages, l2_guest_code, in l1_guest_code()
|
| H A D | vmx_invalid_nested_guest_state.c | 26 static void l1_guest_code(struct vmx_pages *vmx_pages) in l1_guest_code() argument 31 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in l1_guest_code() 32 GUEST_ASSERT(load_vmcs(vmx_pages)); in l1_guest_code() 35 prepare_vmcs(vmx_pages, l2_guest_code, in l1_guest_code()
|
| H A D | vmx_tsc_adjust_test.c | 75 static void l1_guest_code(struct vmx_pages *vmx_pages) in l1_guest_code() argument 86 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in l1_guest_code() 87 GUEST_ASSERT(load_vmcs(vmx_pages)); in l1_guest_code() 90 prepare_vmcs(vmx_pages, l2_guest_code, in l1_guest_code()
|
| H A D | smm_test.c | 72 struct vmx_pages *vmx_pages = arg; in guest_code() local 89 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in guest_code() 90 GUEST_ASSERT(load_vmcs(vmx_pages)); in guest_code() 91 prepare_vmcs(vmx_pages, l2_guest_code, in guest_code()
|
| H A D | vmx_nested_tsc_scaling_test.c | 82 static void l1_guest_code(struct vmx_pages *vmx_pages) in l1_guest_code() argument 90 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in l1_guest_code() 91 GUEST_ASSERT(load_vmcs(vmx_pages)); in l1_guest_code() 94 prepare_vmcs(vmx_pages, l2_guest_code, &l2_guest_stack[L2_GUEST_STACK_SIZE]); in l1_guest_code()
|
| H A D | hyperv_evmcs.c | 78 void guest_code(struct vmx_pages *vmx_pages, struct hyperv_test_pages *hv_pages, in guest_code() argument 95 GUEST_ASSERT(prepare_for_vmx_operation(vmx_pages)); in guest_code() 103 prepare_vmcs(vmx_pages, l2_guest_code, in guest_code() 144 __set_bit(MSR_FS_BASE & 0x1fff, vmx_pages->msr + 0x400); in guest_code() 156 __set_bit(MSR_GS_BASE & 0x1fff, vmx_pages->msr + 0x400); in guest_code()
|
| H A D | vmx_dirty_log_test.c | 56 void l1_guest_code(struct vmx_pages *vmx) in l1_guest_code() 83 struct vmx_pages *vmx; in test_vmx_dirty_log()
|
| H A D | triple_fault_event_test.c | 27 void l1_guest_code_vmx(struct vmx_pages *vmx) in l1_guest_code_vmx()
|
| H A D | nested_exceptions_test.c | 129 static void l1_vmx_code(struct vmx_pages *vmx) in l1_vmx_code()
|
| /linux-6.15/tools/testing/selftests/kvm/include/x86/ |
| H A D | vmx.h | 498 struct vmx_pages { struct 555 struct vmx_pages *vcpu_alloc_vmx(struct kvm_vm *vm, vm_vaddr_t *p_vmx_gva); 556 bool prepare_for_vmx_operation(struct vmx_pages *vmx); 557 void prepare_vmcs(struct vmx_pages *vmx, void *guest_rip, void *guest_rsp); 558 bool load_vmcs(struct vmx_pages *vmx); 562 void nested_pg_map(struct vmx_pages *vmx, struct kvm_vm *vm, 564 void nested_map(struct vmx_pages *vmx, struct kvm_vm *vm, 566 void nested_map_memslot(struct vmx_pages *vmx, struct kvm_vm *vm, 568 void nested_identity_map_1g(struct vmx_pages *vmx, struct kvm_vm *vm, 571 void prepare_eptp(struct vmx_pages *vmx, struct kvm_vm *vm, [all …]
|
| /linux-6.15/tools/testing/selftests/kvm/lib/x86/ |
| H A D | vmx.c | 72 struct vmx_pages * 76 struct vmx_pages *vmx = addr_gva2hva(vm, vmx_gva); in vcpu_alloc_vmx() 114 bool prepare_for_vmx_operation(struct vmx_pages *vmx) in prepare_for_vmx_operation() 158 bool load_vmcs(struct vmx_pages *vmx) in load_vmcs() 189 static inline void init_vmcs_control_fields(struct vmx_pages *vmx) in init_vmcs_control_fields() 397 void __nested_pg_map(struct vmx_pages *vmx, struct kvm_vm *vm, in __nested_pg_map() 448 void nested_pg_map(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_pg_map() 471 void __nested_map(struct vmx_pages *vmx, struct kvm_vm *vm, in __nested_map() 488 void nested_map(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_map() 497 void nested_map_memslot(struct vmx_pages *vmx, struct kvm_vm *vm, in nested_map_memslot() [all …]
|
| H A D | memstress.c | 32 static void memstress_l1_guest_code(struct vmx_pages *vmx, uint64_t vcpu_id) in memstress_l1_guest_code() 62 void memstress_setup_ept(struct vmx_pages *vmx, struct kvm_vm *vm) in memstress_setup_ept() 82 struct vmx_pages *vmx, *vmx0 = NULL; in memstress_setup_nested()
|