Searched refs:vmcb (Results 1 - 22 of 22) sorted by relevance

/linux-master/arch/x86/kvm/svm/
H A Dhyperv.c13 svm->vmcb->control.exit_code = HV_SVM_EXITCODE_ENL;
14 svm->vmcb->control.exit_code_hi = 0;
15 svm->vmcb->control.exit_info_1 = HV_SVM_ENL_EXITCODE_TRAP_AFTER_FLUSH;
16 svm->vmcb->control.exit_info_2 = 0;
H A Dsvm_onhyperv.h22 struct hv_vmcb_enlightenments *hve = &to_svm(vcpu)->vmcb->control.hv_enlightenments;
28 static inline void svm_hv_init_vmcb(struct vmcb *vmcb) argument
30 struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments;
32 BUILD_BUG_ON(sizeof(vmcb->control.hv_enlightenments) !=
33 sizeof(vmcb->control.reserved_sw));
73 struct vmcb *vmcb = to_svm(vcpu)->vmcb; local
74 struct hv_vmcb_enlightenments *hve = &vmcb
80 svm_hv_update_vp_id(struct vmcb *vmcb, struct kvm_vcpu *vcpu) argument
97 svm_hv_init_vmcb(struct vmcb *vmcb) argument
110 svm_hv_update_vp_id(struct vmcb *vmcb, struct kvm_vcpu *vcpu) argument
[all...]
H A Dsvm.h110 struct vmcb *ptr;
211 /* vmcb always points at current_vmcb->ptr, it's purely a shorthand. */
212 struct vmcb *vmcb; member in struct:vcpu_svm
306 struct vmcb *current_vmcb;
308 /* index = sev_asid, value = vmcb pointer */
309 struct vmcb **sev_vmcbs;
343 static inline void vmcb_mark_all_dirty(struct vmcb *vmcb) argument
345 vmcb
348 vmcb_mark_all_clean(struct vmcb *vmcb) argument
354 vmcb_mark_dirty(struct vmcb *vmcb, int bit) argument
359 vmcb_is_dirty(struct vmcb *vmcb, int bit) argument
405 struct vmcb *vmcb = svm->vmcb01.ptr; local
415 struct vmcb *vmcb = svm->vmcb01.ptr; local
425 struct vmcb *vmcb = svm->vmcb01.ptr; local
434 struct vmcb *vmcb = svm->vmcb01.ptr; local
465 struct vmcb *vmcb = get_vgif_vmcb(svm); local
475 struct vmcb *vmcb = get_vgif_vmcb(svm); local
485 struct vmcb *vmcb = get_vgif_vmcb(svm); local
526 struct vmcb *vmcb = get_vnmi_vmcb_l1(svm); local
[all...]
H A Dsvm_onhyperv.c26 hve = &to_svm(vcpu)->vmcb->control.hv_enlightenments;
32 vmcb_mark_dirty(to_svm(vcpu)->vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS);
H A Dsvm.c343 svm->vmcb->save.efer = efer | EFER_SVME;
344 vmcb_mark_dirty(svm->vmcb, VMCB_CR);
353 if (svm->vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK)
363 svm->vmcb->control.int_state &= ~SVM_INTERRUPT_SHADOW_MASK;
365 svm->vmcb->control.int_state |= SVM_INTERRUPT_SHADOW_MASK;
382 if (nrips && svm->vmcb->control.next_rip != 0) {
384 svm->next_rip = svm->vmcb->control.next_rip;
389 old_rflags = svm->vmcb->save.rflags;
395 svm->vmcb->save.rflags = old_rflags;
444 svm->soft_int_csbase = svm->vmcb
726 struct vmcb *vmcb = svm->vmcb01.ptr; local
750 struct vmcb *vmcb = svm->vmcb01.ptr; local
1230 struct vmcb *vmcb = svm->vmcb01.ptr; local
1478 svm_clear_current_vmcb(struct vmcb *vmcb) argument
1606 struct vmcb *vmcb = to_svm(vcpu)->vmcb; local
1996 struct vmcb *vmcb = svm->vmcb; local
3736 struct vmcb *vmcb = svm->vmcb; local
3768 struct vmcb *vmcb = svm->vmcb; local
4439 struct vmcb *vmcb = svm->vmcb; local
[all...]
H A Dnested.c40 struct vmcb *vmcb = svm->vmcb; local
42 if (vmcb->control.exit_code != SVM_EXIT_NPF) {
47 vmcb->control.exit_code = SVM_EXIT_NPF;
48 vmcb->control.exit_code_hi = 0;
49 vmcb->control.exit_info_1 = (1ULL << 32);
50 vmcb->control.exit_info_2 = fault->address;
53 vmcb->control.exit_info_1 &= ~0xffffffffULL;
54 vmcb
1384 struct vmcb *vmcb = svm->vmcb; local
[all...]
H A Davic.c87 struct vmcb *vmcb = svm->vmcb01.ptr; local
89 vmcb->control.int_ctl &= ~(AVIC_ENABLE_MASK | X2APIC_MODE_MASK);
90 vmcb->control.avic_physical_id &= ~AVIC_PHYSICAL_MAX_INDEX_MASK;
92 vmcb->control.int_ctl |= AVIC_ENABLE_MASK;
102 vmcb->control.int_ctl |= X2APIC_MODE_MASK;
103 vmcb->control.avic_physical_id |= X2AVIC_MAX_PHYSICAL_ID;
114 vmcb->control.avic_physical_id |= AVIC_MAX_PHYSICAL_ID;
122 struct vmcb *vmcb local
244 avic_init_vmcb(struct vcpu_svm *svm, struct vmcb *vmcb) argument
1115 struct vmcb *vmcb = svm->vmcb01.ptr; local
[all...]
H A Dsev.c586 if (svm->vcpu.guest_debug || (svm->vmcb->save.dr7 & ~DR7_FIXED_1))
595 memcpy(save, &svm->vmcb->save, sizeof(svm->vmcb->save));
1763 dst_svm->vmcb->control.ghcb_gpa = src_svm->vmcb->control.ghcb_gpa;
1764 dst_svm->vmcb->control.vmsa_pa = src_svm->vmcb->control.vmsa_pa;
1768 src_svm->vmcb->control.ghcb_gpa = INVALID_PAGE;
1769 src_svm->vmcb->control.vmsa_pa = INVALID_PAGE;
2406 pr_err("GHCB (GPA=%016llx):\n", svm->vmcb
3033 struct vmcb *vmcb = svm->vmcb01.ptr; local
[all...]
/linux-master/tools/testing/selftests/kvm/x86_64/
H A Dsvm_nested_soft_inject_test.c83 struct vmcb *vmcb = svm->vmcb; local
93 vmcb->control.intercept_exceptions |= BIT(PF_VECTOR) | BIT(UD_VECTOR);
94 vmcb->control.intercept |= BIT(INTERCEPT_NMI) | BIT(INTERCEPT_HLT);
97 vmcb->control.event_inj = SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_NMI;
99 vmcb->control.event_inj = INT_NR | SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_SOFT;
101 vmcb->control.next_rip = vmcb->save.rip;
104 run_guest(vmcb, sv
[all...]
H A Dsvm_vmcall_test.c24 struct vmcb *vmcb = svm->vmcb; local
30 run_guest(vmcb, svm->vmcb_gpa);
32 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
H A Dsvm_nested_shutdown_test.c24 struct vmcb *vmcb = svm->vmcb; local
29 vmcb->control.intercept &= ~(BIT(INTERCEPT_SHUTDOWN));
36 run_guest(vmcb, svm->vmcb_gpa);
H A Dhyperv_svm_test.c74 struct vmcb *vmcb = svm->vmcb; local
75 struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments;
97 run_guest(vmcb, svm->vmcb_gpa);
98 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
100 vmcb->save.rip += 3;
103 vmcb->control.intercept |= 1ULL << INTERCEPT_MSR_PROT;
105 run_guest(vmcb, svm->vmcb_gpa);
106 GUEST_ASSERT(vmcb
[all...]
H A Dsvm_int_ctl_test.c62 struct vmcb *vmcb = svm->vmcb; local
71 vmcb->control.int_ctl &= ~V_INTR_MASKING_MASK;
74 vmcb->control.intercept &= ~(BIT(INTERCEPT_INTR) | BIT(INTERCEPT_VINTR));
77 vmcb->control.int_ctl |= V_IRQ_MASK | (0x1 << V_INTR_PRIO_SHIFT);
78 vmcb->control.int_vector = VINTR_IRQ_NUMBER;
80 run_guest(vmcb, svm->vmcb_gpa);
81 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
H A Dtriple_fault_event_test.c45 struct vmcb *vmcb = svm->vmcb; local
51 vmcb->control.intercept &= ~(BIT(INTERCEPT_SHUTDOWN));
53 run_guest(vmcb, svm->vmcb_gpa);
H A Dnested_exceptions_test.c79 struct vmcb *vmcb = svm->vmcb; local
80 struct vmcb_control_area *ctrl = &vmcb->control;
82 vmcb->save.rip = (u64)l2_code;
83 run_guest(vmcb, svm->vmcb_gpa);
94 struct vmcb_control_area *ctrl = &svm->vmcb->control;
98 svm->vmcb->save.idtr.limit = 0;
H A Dstate_test.c38 struct vmcb *vmcb = svm->vmcb; local
46 run_guest(vmcb, svm->vmcb_gpa);
47 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
49 vmcb->save.rip += 3;
50 run_guest(vmcb, svm->vmcb_gpa);
51 GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
H A Dsmm_test.c103 run_guest(svm->vmcb, svm->vmcb_gpa);
104 run_guest(svm->vmcb, svm->vmcb_gpa);
/linux-master/tools/testing/selftests/kvm/include/x86_64/
H A Dsvm_util.h20 struct vmcb *vmcb; /* gva */ member in struct:svm_test_data
61 void run_guest(struct vmcb *vmcb, uint64_t vmcb_gpa);
H A Dsvm.h240 struct __attribute__ ((__packed__)) vmcb { struct
/linux-master/tools/testing/selftests/kvm/lib/x86_64/
H A Dsvm.c37 svm->vmcb = (void *)vm_vaddr_alloc_page(vm);
38 svm->vmcb_hva = addr_gva2hva(vm, (uintptr_t)svm->vmcb);
39 svm->vmcb_gpa = addr_gva2gpa(vm, (uintptr_t)svm->vmcb);
65 struct vmcb *vmcb = svm->vmcb; local
67 struct vmcb_save_area *save = &vmcb->save;
68 struct vmcb_control_area *ctrl = &vmcb->control;
79 memset(vmcb, 0, sizeof(*vmcb));
135 run_guest(struct vmcb *vmcb, uint64_t vmcb_gpa) argument
[all...]
/linux-master/arch/x86/kvm/
H 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;
635 __entry->isa == KVM_ISA_VMX ? "vmcs" : "vmcb",
636 __entry->vmcb,
/linux-master/arch/x86/include/asm/
H A Dsvm.h564 struct vmcb { struct

Completed in 339 milliseconds