| /tools/testing/selftests/kvm/x86/ |
| A D | hyperv_svm_test.c | 73 struct vmcb *vmcb = svm->vmcb; in guest_code() local 96 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 99 vmcb->save.rip += 3; in guest_code() 104 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 106 vmcb->save.rip += 2; /* rdmsr */ in guest_code() 110 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 118 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 125 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 134 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 139 run_guest(vmcb, svm->vmcb_gpa); in guest_code() [all …]
|
| A D | svm_nested_soft_inject_test.c | 83 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() local 101 vmcb->control.next_rip = vmcb->save.rip; in l1_guest_code() 104 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code() 107 vmcb->control.exit_code, in l1_guest_code() 108 vmcb->control.exit_info_1, vmcb->control.exit_info_2); in l1_guest_code() 124 vmcb->save.rip += 3; in l1_guest_code() 127 vmcb->save.idtr.base = idt_alt; in l1_guest_code() 132 vmcb->control.next_rip = vmcb->save.rip + 2; in l1_guest_code() 134 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code() 137 vmcb->control.exit_code, in l1_guest_code() [all …]
|
| A D | nested_emulation_test.c | 58 struct vmcb *vmcb = svm->vmcb; in guest_code() local 61 vmcb->save.idtr.limit = 0; in guest_code() 62 vmcb->save.rip = (u64)l2_guest_code; in guest_code() 64 vmcb->control.intercept |= BIT_ULL(INTERCEPT_SHUTDOWN) | in guest_code() 67 vmcb->control.intercept_exceptions = 0; in guest_code() 98 struct vmcb *vmcb = svm->vmcb; in guest_code() local 100 run_guest(vmcb, svm->vmcb_gpa); in guest_code() 101 exit_reason = vmcb->control.exit_code; in guest_code() 102 exit_insn_len = vmcb->control.next_rip - vmcb->save.rip; in guest_code() 103 GUEST_ASSERT_EQ(vmcb->save.rip, (u64)l2_instruction); in guest_code()
|
| A D | svm_int_ctl_test.c | 59 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() local 68 vmcb->control.int_ctl &= ~V_INTR_MASKING_MASK; in l1_guest_code() 71 vmcb->control.intercept &= ~(BIT(INTERCEPT_INTR) | BIT(INTERCEPT_VINTR)); in l1_guest_code() 74 vmcb->control.int_ctl |= V_IRQ_MASK | (0x1 << V_INTR_PRIO_SHIFT); in l1_guest_code() 75 vmcb->control.int_vector = VINTR_IRQ_NUMBER; in l1_guest_code() 77 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code() 78 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL); in l1_guest_code()
|
| A D | svm_nested_shutdown_test.c | 24 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() local 29 vmcb->control.intercept &= ~(BIT(INTERCEPT_SHUTDOWN)); in l1_guest_code() 36 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code()
|
| A D | svm_vmcall_test.c | 24 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() local 30 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code() 32 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL); in l1_guest_code()
|
| A D | triple_fault_event_test.c | 45 struct vmcb *vmcb = svm->vmcb; in l1_guest_code_svm() local 51 vmcb->control.intercept &= ~(BIT(INTERCEPT_SHUTDOWN)); in l1_guest_code_svm() 53 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code_svm()
|
| A D | state_test.c | 37 struct vmcb *vmcb = svm->vmcb; in svm_l1_guest_code() local 45 run_guest(vmcb, svm->vmcb_gpa); in svm_l1_guest_code() 46 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL); in svm_l1_guest_code() 48 vmcb->save.rip += 3; in svm_l1_guest_code() 49 run_guest(vmcb, svm->vmcb_gpa); in svm_l1_guest_code() 50 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL); in svm_l1_guest_code()
|
| A D | nested_exceptions_test.c | 77 struct vmcb *vmcb = svm->vmcb; in svm_run_l2() local 78 struct vmcb_control_area *ctrl = &vmcb->control; in svm_run_l2() 80 vmcb->save.rip = (u64)l2_code; in svm_run_l2() 81 run_guest(vmcb, svm->vmcb_gpa); in svm_run_l2() 93 struct vmcb_control_area *ctrl = &svm->vmcb->control; in l1_svm_code() 97 svm->vmcb->save.idtr.limit = 0; in l1_svm_code()
|
| A D | kvm_buslock_test.c | 40 struct vmcb *vmcb = svm->vmcb; in l1_svm_code() local 43 run_guest(vmcb, svm->vmcb_gpa); in l1_svm_code()
|
| A D | aperfmperf_test.c | 68 struct vmcb *vmcb = svm->vmcb; in l1_svm_code() local 71 run_guest(vmcb, svm->vmcb_gpa); in l1_svm_code()
|
| A D | smm_test.c | 102 run_guest(svm->vmcb, svm->vmcb_gpa); in guest_code() 103 run_guest(svm->vmcb, svm->vmcb_gpa); in guest_code()
|
| /tools/testing/selftests/kvm/lib/x86/ |
| A D | svm.c | 36 svm->vmcb = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_svm() 37 svm->vmcb_hva = addr_gva2hva(vm, (uintptr_t)svm->vmcb); in vcpu_alloc_svm() 38 svm->vmcb_gpa = addr_gva2gpa(vm, (uintptr_t)svm->vmcb); in vcpu_alloc_svm() 64 struct vmcb *vmcb = svm->vmcb; in generic_svm_setup() local 66 struct vmcb_save_area *save = &vmcb->save; in generic_svm_setup() 67 struct vmcb_control_area *ctrl = &vmcb->control; in generic_svm_setup() 78 memset(vmcb, 0, sizeof(*vmcb)); in generic_svm_setup() 102 vmcb->save.rip = (u64)guest_rip; in generic_svm_setup() 103 vmcb->save.rsp = (u64)guest_rsp; in generic_svm_setup() 134 void run_guest(struct vmcb *vmcb, uint64_t vmcb_gpa) in run_guest() argument [all …]
|
| /tools/testing/selftests/kvm/include/x86/ |
| A D | svm_util.h | 17 struct vmcb *vmcb; /* gva */ member 58 void run_guest(struct vmcb *vmcb, uint64_t vmcb_gpa);
|
| A D | svm.h | 234 struct __attribute__ ((__packed__)) vmcb { struct
|