Home
last modified time | relevance | path

Searched refs:vmcb (Results 1 – 23 of 23) sorted by relevance

/linux/tools/testing/selftests/kvm/x86_64/
A Dhyperv_svm_test.c73 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 Dsvm_nested_soft_inject_test.c83 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 Dsvm_int_ctl_test.c62 struct vmcb *vmcb = svm->vmcb; in l1_guest_code() local
71 vmcb->control.int_ctl &= ~V_INTR_MASKING_MASK; in l1_guest_code()
74 vmcb->control.intercept &= ~(BIT(INTERCEPT_INTR) | BIT(INTERCEPT_VINTR)); in l1_guest_code()
77 vmcb->control.int_ctl |= V_IRQ_MASK | (0x1 << V_INTR_PRIO_SHIFT); in l1_guest_code()
78 vmcb->control.int_vector = VINTR_IRQ_NUMBER; in l1_guest_code()
80 run_guest(vmcb, svm->vmcb_gpa); in l1_guest_code()
81 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL); in l1_guest_code()
A Dsvm_nested_shutdown_test.c24 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 Dsvm_vmcall_test.c24 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 Dnested_exceptions_test.c77 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()
92 struct vmcb_control_area *ctrl = &svm->vmcb->control; in l1_svm_code()
96 svm->vmcb->save.idtr.limit = 0; in l1_svm_code()
A Dtriple_fault_event_test.c45 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 Dstate_test.c37 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 Dsmm_test.c102 run_guest(svm->vmcb, svm->vmcb_gpa); in guest_code()
103 run_guest(svm->vmcb, svm->vmcb_gpa); in guest_code()
/linux/arch/x86/kvm/svm/
A Dsvm_onhyperv.h28 static inline void svm_hv_init_vmcb(struct vmcb *vmcb) in svm_hv_init_vmcb() argument
30 struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments; in svm_hv_init_vmcb()
32 BUILD_BUG_ON(sizeof(vmcb->control.hv_enlightenments) != in svm_hv_init_vmcb()
33 sizeof(vmcb->control.reserved_sw)); in svm_hv_init_vmcb()
73 struct vmcb *vmcb = to_svm(vcpu)->vmcb; in svm_hv_vmcb_dirty_nested_enlightenments() local
74 struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments; in svm_hv_vmcb_dirty_nested_enlightenments()
77 vmcb_mark_dirty(vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS); in svm_hv_vmcb_dirty_nested_enlightenments()
80 static inline void svm_hv_update_vp_id(struct vmcb *vmcb, struct kvm_vcpu *vcpu) in svm_hv_update_vp_id() argument
87 vmcb_mark_dirty(vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS); in svm_hv_update_vp_id()
97 static inline void svm_hv_init_vmcb(struct vmcb *vmcb) in svm_hv_init_vmcb() argument
[all …]
A Dsvm.h247 struct vmcb *vmcb; member
462 struct vmcb *vmcb = svm->vmcb01.ptr; in set_exception_intercept() local
472 struct vmcb *vmcb = svm->vmcb01.ptr; in clr_exception_intercept() local
482 struct vmcb *vmcb = svm->vmcb01.ptr; in svm_set_intercept() local
491 struct vmcb *vmcb = svm->vmcb01.ptr; in svm_clr_intercept() local
522 struct vmcb *vmcb = get_vgif_vmcb(svm); in enable_gif() local
524 if (vmcb) in enable_gif()
532 struct vmcb *vmcb = get_vgif_vmcb(svm); in disable_gif() local
534 if (vmcb) in disable_gif()
542 struct vmcb *vmcb = get_vgif_vmcb(svm); in gif_set() local
[all …]
A Dsvm.c731 struct vmcb *vmcb = svm->vmcb01.ptr; in set_dr_intercepts() local
755 struct vmcb *vmcb = svm->vmcb01.ptr; in clr_dr_intercepts() local
987 void svm_copy_lbrs(struct vmcb *to_vmcb, struct vmcb *from_vmcb) in svm_copy_lbrs()
1239 struct vmcb *vmcb = svm->vmcb01.ptr; in init_vmcb() local
1482 static void svm_clear_current_vmcb(struct vmcb *vmcb) in svm_clear_current_vmcb() argument
1608 struct vmcb *vmcb = to_svm(vcpu)->vmcb; in svm_get_if_flag() local
1998 struct vmcb *vmcb = svm->vmcb; in svm_set_dr6() local
2111 svm->vmcb->save.cs.base + svm->vmcb->save.rip; in db_interception()
3791 struct vmcb *vmcb = svm->vmcb; in svm_nmi_blocked() local
3823 struct vmcb *vmcb = svm->vmcb; in svm_interrupt_blocked() local
[all …]
A Dnested.c40 struct vmcb *vmcb = svm->vmcb; in nested_svm_inject_npf_exit() local
48 vmcb->control.exit_code_hi = 0; in nested_svm_inject_npf_exit()
137 c = &svm->vmcb->control; in recalc_intercepts()
453 struct vmcb *vmcb12) in nested_save_pending_event_to_vmcb12()
845 struct vmcb *vmcb12; in nested_svm_vmrun()
955 void svm_copy_vmloadsave_state(struct vmcb *to_vmcb, struct vmcb *from_vmcb) in svm_copy_vmloadsave_state()
976 struct vmcb *vmcb12; in nested_svm_vmexit()
1388 struct vmcb *vmcb = svm->vmcb; in nested_svm_inject_exception_vmexit() local
1594 struct vmcb __user *user_vmcb = (struct vmcb __user *) in svm_get_nested_state()
1654 struct vmcb __user *user_vmcb = (struct vmcb __user *) in svm_set_nested_state()
[all …]
A Davic.c87 struct vmcb *vmcb = svm->vmcb01.ptr; in avic_activate_vmcb() local
92 vmcb->control.int_ctl |= AVIC_ENABLE_MASK; in avic_activate_vmcb()
102 vmcb->control.int_ctl |= X2APIC_MODE_MASK; in avic_activate_vmcb()
122 struct vmcb *vmcb = svm->vmcb01.ptr; in avic_deactivate_vmcb() local
244 void avic_init_vmcb(struct vcpu_svm *svm, struct vmcb *vmcb) in avic_init_vmcb() argument
494 u32 icrl = svm->vmcb->control.exit_info_1; in avic_incomplete_ipi_interception()
495 u32 id = svm->vmcb->control.exit_info_2 >> 32; in avic_incomplete_ipi_interception()
697 u32 offset = svm->vmcb->control.exit_info_1 & in avic_unaccelerated_access_interception()
699 u32 vector = svm->vmcb->control.exit_info_2 & in avic_unaccelerated_access_interception()
1115 struct vmcb *vmcb = svm->vmcb01.ptr; in avic_refresh_virtual_apic_mode() local
[all …]
A Dhyperv.c13 svm->vmcb->control.exit_code = HV_SVM_EXITCODE_ENL; in svm_hv_inject_synthetic_vmexit_post_tlb_flush()
14 svm->vmcb->control.exit_code_hi = 0; in svm_hv_inject_synthetic_vmexit_post_tlb_flush()
15 svm->vmcb->control.exit_info_1 = HV_SVM_ENL_EXITCODE_TRAP_AFTER_FLUSH; in svm_hv_inject_synthetic_vmexit_post_tlb_flush()
16 svm->vmcb->control.exit_info_2 = 0; in svm_hv_inject_synthetic_vmexit_post_tlb_flush()
A Dsvm_onhyperv.c26 hve = &to_svm(vcpu)->vmcb->control.hv_enlightenments; in svm_hv_enable_l2_tlb_flush()
32 vmcb_mark_dirty(to_svm(vcpu)->vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS); in svm_hv_enable_l2_tlb_flush()
A Dsev.c827 memcpy(save, &svm->vmcb->save, sizeof(svm->vmcb->save)); in sev_es_sync_vmsa()
2045 dst_svm->vmcb->control.ghcb_gpa = src_svm->vmcb->control.ghcb_gpa; in sev_migrate_from()
2046 dst_svm->vmcb->control.vmsa_pa = src_svm->vmcb->control.vmsa_pa; in sev_migrate_from()
3492 if (sd->sev_vmcbs[asid] == svm->vmcb && in pre_sev_run()
3496 sd->sev_vmcbs[asid] = svm->vmcb; in pre_sev_run()
3498 vmcb_mark_dirty(svm->vmcb, VMCB_ASID); in pre_sev_run()
3600 svm->vmcb->control.ghcb_gpa = value; in set_ghcb_msr()
3901 vmcb_mark_all_dirty(svm->vmcb); in __sev_snp_update_protected_guest_state()
3992 svm->vmcb->control.exit_info_2); in sev_snp_ap_creation()
4007 svm->vmcb->control.exit_info_2); in sev_snp_ap_creation()
[all …]
/linux/tools/testing/selftests/kvm/lib/x86_64/
A Dsvm.c37 svm->vmcb = (void *)vm_vaddr_alloc_page(vm); in vcpu_alloc_svm()
38 svm->vmcb_hva = addr_gva2hva(vm, (uintptr_t)svm->vmcb); in vcpu_alloc_svm()
39 svm->vmcb_gpa = addr_gva2gpa(vm, (uintptr_t)svm->vmcb); in vcpu_alloc_svm()
65 struct vmcb *vmcb = svm->vmcb; in generic_svm_setup() local
67 struct vmcb_save_area *save = &vmcb->save; in generic_svm_setup()
68 struct vmcb_control_area *ctrl = &vmcb->control; in generic_svm_setup()
79 memset(vmcb, 0, sizeof(*vmcb)); in generic_svm_setup()
103 vmcb->save.rip = (u64)guest_rip; in generic_svm_setup()
104 vmcb->save.rsp = (u64)guest_rsp; in generic_svm_setup()
135 void run_guest(struct vmcb *vmcb, uint64_t vmcb_gpa) in run_guest() argument
[all …]
/linux/tools/testing/selftests/kvm/include/x86_64/
A Dsvm_util.h20 struct vmcb *vmcb; /* gva */ member
61 void run_guest(struct vmcb *vmcb, uint64_t vmcb_gpa);
A Dsvm.h240 struct __attribute__ ((__packed__)) vmcb { struct
/linux/arch/x86/include/asm/
A Dsvm.h519 struct vmcb { struct
549 BUILD_BUG_ON(offsetof(struct vmcb, save) != EXPECTED_VMCB_CONTROL_AREA_SIZE); in __unused_size_checks()
/linux/arch/x86/kvm/
A Dtrace.h604 TP_PROTO(__u64 rip, __u64 vmcb, __u64 nested_rip, __u32 int_ctl,
607 TP_ARGS(rip, vmcb, nested_rip, int_ctl, event_inj, tdp_enabled,
612 __field( __u64, vmcb )
623 __entry->vmcb = vmcb;
636 __entry->vmcb,
/linux/Documentation/virt/kvm/
A Dlocking.rst263 - tsc offset in vmcb

Completed in 64 milliseconds