Symbol: vmcb
arch/x86/include/asm/svm.h
570
BUILD_BUG_ON(offsetof(struct vmcb, save) != EXPECTED_VMCB_CONTROL_AREA_SIZE);
arch/x86/kvm/svm/avic.c
1156
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/avic.c
1174
vmcb_mark_dirty(vmcb, VMCB_AVIC);
arch/x86/kvm/svm/avic.c
176
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/avic.c
179
vmcb->control.int_ctl &= ~(AVIC_ENABLE_MASK | X2APIC_MODE_MASK);
arch/x86/kvm/svm/avic.c
180
vmcb->control.avic_physical_id &= ~AVIC_PHYSICAL_MAX_INDEX_MASK;
arch/x86/kvm/svm/avic.c
181
vmcb->control.avic_physical_id |= avic_get_max_physical_id(vcpu);
arch/x86/kvm/svm/avic.c
182
vmcb->control.int_ctl |= AVIC_ENABLE_MASK;
arch/x86/kvm/svm/avic.c
223
vmcb->control.int_ctl |= X2APIC_MODE_MASK;
arch/x86/kvm/svm/avic.c
235
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/avic.c
237
vmcb->control.int_ctl &= ~(AVIC_ENABLE_MASK | X2APIC_MODE_MASK);
arch/x86/kvm/svm/avic.c
238
vmcb->control.avic_physical_id &= ~AVIC_PHYSICAL_MAX_INDEX_MASK;
arch/x86/kvm/svm/avic.c
368
void avic_init_vmcb(struct vcpu_svm *svm, struct vmcb *vmcb)
arch/x86/kvm/svm/avic.c
372
vmcb->control.avic_backing_page = avic_get_backing_page_address(svm);
arch/x86/kvm/svm/avic.c
373
vmcb->control.avic_logical_id = __sme_set(__pa(kvm_svm->avic_logical_id_table));
arch/x86/kvm/svm/avic.c
374
vmcb->control.avic_physical_id = __sme_set(__pa(kvm_svm->avic_physical_id_table));
arch/x86/kvm/svm/avic.c
375
vmcb->control.avic_vapic_bar = APIC_DEFAULT_PHYS_BASE;
arch/x86/kvm/svm/avic.c
615
u32 icrh = svm->vmcb->control.exit_info_1 >> 32;
arch/x86/kvm/svm/avic.c
616
u32 icrl = svm->vmcb->control.exit_info_1;
arch/x86/kvm/svm/avic.c
617
u32 id = svm->vmcb->control.exit_info_2 >> 32;
arch/x86/kvm/svm/avic.c
618
u32 index = svm->vmcb->control.exit_info_2 & AVIC_PHYSICAL_MAX_INDEX_MASK;
arch/x86/kvm/svm/avic.c
762
u32 offset = to_svm(vcpu)->vmcb->control.exit_info_1 &
arch/x86/kvm/svm/avic.c
816
u32 offset = svm->vmcb->control.exit_info_1 &
arch/x86/kvm/svm/avic.c
818
u32 vector = svm->vmcb->control.exit_info_2 &
arch/x86/kvm/svm/avic.c
820
bool write = (svm->vmcb->control.exit_info_1 >> 32) &
arch/x86/kvm/svm/hyperv.c
19
svm->vmcb->control.exit_code = HV_SVM_EXITCODE_ENL;
arch/x86/kvm/svm/hyperv.c
20
svm->vmcb->control.exit_info_1 = HV_SVM_ENL_EXITCODE_TRAP_AFTER_FLUSH;
arch/x86/kvm/svm/hyperv.c
21
svm->vmcb->control.exit_info_2 = 0;
arch/x86/kvm/svm/nested.c
1021
static void nested_svm_copy_common_state(struct vmcb *from_vmcb, struct vmcb *to_vmcb)
arch/x86/kvm/svm/nested.c
1040
trace_kvm_nested_vmenter(svm->vmcb->save.rip,
arch/x86/kvm/svm/nested.c
1060
WARN_ON(svm->vmcb == svm->nested.vmcb02.ptr);
arch/x86/kvm/svm/nested.c
1090
struct vmcb *vmcb12;
arch/x86/kvm/svm/nested.c
1119
struct vmcb *vmcb01 = svm->vmcb01.ptr;
arch/x86/kvm/svm/nested.c
1186
svm->vmcb->control.exit_code = SVM_EXIT_ERR;
arch/x86/kvm/svm/nested.c
1187
svm->vmcb->control.exit_info_1 = 0;
arch/x86/kvm/svm/nested.c
1188
svm->vmcb->control.exit_info_2 = 0;
arch/x86/kvm/svm/nested.c
1234
void svm_copy_vmloadsave_state(struct vmcb *to_vmcb, struct vmcb *from_vmcb)
arch/x86/kvm/svm/nested.c
1253
struct vmcb *vmcb02 = svm->nested.vmcb02.ptr;
arch/x86/kvm/svm/nested.c
1255
struct vmcb *vmcb12;
arch/x86/kvm/svm/nested.c
1324
struct vmcb *vmcb01 = svm->vmcb01.ptr;
arch/x86/kvm/svm/nested.c
1325
struct vmcb *vmcb02 = svm->nested.vmcb02.ptr;
arch/x86/kvm/svm/nested.c
144
struct vmcb *vmcb02 = svm->nested.vmcb02.ptr;
arch/x86/kvm/svm/nested.c
145
struct vmcb *vmcb01 = svm->vmcb01.ptr;
arch/x86/kvm/svm/nested.c
148
if (WARN_ON_ONCE(svm->vmcb != vmcb02))
arch/x86/kvm/svm/nested.c
1514
if (WARN_ON_ONCE(svm->vmcb != svm->vmcb01.ptr))
arch/x86/kvm/svm/nested.c
1557
vmcb_mark_all_dirty(svm->vmcb);
arch/x86/kvm/svm/nested.c
1580
write = svm->vmcb->control.exit_info_1 & 1;
arch/x86/kvm/svm/nested.c
1603
port = svm->vmcb->control.exit_info_1 >> 16;
arch/x86/kvm/svm/nested.c
1604
size = (svm->vmcb->control.exit_info_1 & SVM_IOIO_SIZE_MASK) >>
arch/x86/kvm/svm/nested.c
1620
u64 exit_code = svm->vmcb->control.exit_code;
arch/x86/kvm/svm/nested.c
1669
if (to_svm(vcpu)->vmcb->save.cpl) {
arch/x86/kvm/svm/nested.c
1689
struct vmcb *vmcb = svm->vmcb;
arch/x86/kvm/svm/nested.c
1691
vmcb->control.exit_code = SVM_EXIT_EXCP_BASE + ex->vector;
arch/x86/kvm/svm/nested.c
1694
vmcb->control.exit_info_1 = ex->error_code;
arch/x86/kvm/svm/nested.c
1702
vmcb->control.exit_info_2 = ex->payload;
arch/x86/kvm/svm/nested.c
1704
vmcb->control.exit_info_2 = vcpu->arch.cr2;
arch/x86/kvm/svm/nested.c
1792
trace_kvm_nested_intr_vmexit(svm->vmcb->save.rip);
arch/x86/kvm/svm/nested.c
1802
u32 exit_code = svm->vmcb->control.exit_code;
arch/x86/kvm/svm/nested.c
1892
struct vmcb __user *user_vmcb = (struct vmcb __user *)
arch/x86/kvm/svm/nested.c
1908
kvm_state.hdr.svm.gpat = svm->vmcb->save.g_pat;
arch/x86/kvm/svm/nested.c
1955
struct vmcb __user *user_vmcb = (struct vmcb __user *)
arch/x86/kvm/svm/nested.c
2077
vmcb_set_gpat(svm->vmcb, kvm_state->hdr.svm.gpat);
arch/x86/kvm/svm/nested.c
2085
vmcb_mark_all_dirty(svm->vmcb);
arch/x86/kvm/svm/nested.c
342
svm->vmcb->control.msrpm_base_pa = __sme_set(__pa(svm->nested.msrpm));
arch/x86/kvm/svm/nested.c
42
struct vmcb *vmcb = svm->vmcb;
arch/x86/kvm/svm/nested.c
52
fault_stage = vmcb->control.exit_info_1 &
arch/x86/kvm/svm/nested.c
623
svm->nested.ctl.event_inj = svm->vmcb->control.event_inj;
arch/x86/kvm/svm/nested.c
624
svm->nested.ctl.event_inj_err = svm->vmcb->control.event_inj_err;
arch/x86/kvm/svm/nested.c
625
svm->nested.ctl.int_state = svm->vmcb->control.int_state;
arch/x86/kvm/svm/nested.c
648
svm->nested.ctl.int_ctl |= svm->vmcb->control.int_ctl & mask;
arch/x86/kvm/svm/nested.c
65
vmcb->control.exit_code = SVM_EXIT_NPF;
arch/x86/kvm/svm/nested.c
656
struct vmcb *vmcb12)
arch/x86/kvm/svm/nested.c
66
vmcb->control.exit_info_1 = fault_stage |
arch/x86/kvm/svm/nested.c
68
vmcb->control.exit_info_2 = fault->address;
arch/x86/kvm/svm/nested.c
749
struct vmcb *vmcb01 = svm->vmcb01.ptr;
arch/x86/kvm/svm/nested.c
750
struct vmcb *vmcb02 = svm->nested.vmcb02.ptr;
arch/x86/kvm/svm/nested.c
858
struct vmcb *vmcb02 = svm->nested.vmcb02.ptr;
arch/x86/kvm/svm/nested.c
859
struct vmcb *vmcb01 = svm->vmcb01.ptr;
arch/x86/kvm/svm/sev.c
2078
dst_svm->vmcb->control.ghcb_gpa = src_svm->vmcb->control.ghcb_gpa;
arch/x86/kvm/svm/sev.c
2079
dst_svm->vmcb->control.vmsa_pa = src_svm->vmcb->control.vmsa_pa;
arch/x86/kvm/svm/sev.c
2083
src_svm->vmcb->control.ghcb_gpa = INVALID_PAGE;
arch/x86/kvm/svm/sev.c
2084
src_svm->vmcb->control.vmsa_pa = INVALID_PAGE;
arch/x86/kvm/svm/sev.c
3316
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/sev.c
3333
pr_err("GHCB (GPA=%016llx) snapshot:\n", svm->vmcb->control.ghcb_gpa);
arch/x86/kvm/svm/sev.c
3366
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/sev.c
3393
svm->vmcb->save.cpl = kvm_ghcb_get_cpl_if_valid(svm);
arch/x86/kvm/svm/sev.c
3413
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/sev.c
3549
if (is_sev_es_guest(vcpu) && !VALID_PAGE(svm->vmcb->control.vmsa_pa))
arch/x86/kvm/svm/sev.c
3570
if (sd->sev_vmcbs[asid] == svm->vmcb &&
arch/x86/kvm/svm/sev.c
3574
sd->sev_vmcbs[asid] = svm->vmcb;
arch/x86/kvm/svm/sev.c
3575
svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ASID;
arch/x86/kvm/svm/sev.c
3576
vmcb_mark_dirty(svm->vmcb, VMCB_ASID);
arch/x86/kvm/svm/sev.c
3583
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/sev.c
3679
svm->vmcb->control.ghcb_gpa &= ~(mask << pos);
arch/x86/kvm/svm/sev.c
3680
svm->vmcb->control.ghcb_gpa |= (value & mask) << pos;
arch/x86/kvm/svm/sev.c
3685
return (svm->vmcb->control.ghcb_gpa >> pos) & mask;
arch/x86/kvm/svm/sev.c
3690
svm->vmcb->control.ghcb_gpa = value;
arch/x86/kvm/svm/sev.c
4008
svm->vmcb->control.vmsa_pa = INVALID_PAGE;
arch/x86/kvm/svm/sev.c
4014
vmcb_mark_all_dirty(svm->vmcb);
arch/x86/kvm/svm/sev.c
4045
svm->vmcb->control.vmsa_pa = pfn_to_hpa(pfn);
arch/x86/kvm/svm/sev.c
4067
request = lower_32_bits(svm->vmcb->control.exit_info_1);
arch/x86/kvm/svm/sev.c
4068
apic_id = upper_32_bits(svm->vmcb->control.exit_info_1);
arch/x86/kvm/svm/sev.c
4091
if (!page_address_valid(vcpu, svm->vmcb->control.exit_info_2)) {
arch/x86/kvm/svm/sev.c
4093
svm->vmcb->control.exit_info_2);
arch/x86/kvm/svm/sev.c
4104
if (IS_ALIGNED(svm->vmcb->control.exit_info_2, PMD_SIZE)) {
arch/x86/kvm/svm/sev.c
4107
svm->vmcb->control.exit_info_2);
arch/x86/kvm/svm/sev.c
4111
target_svm->sev_es.snp_vmsa_gpa = svm->vmcb->control.exit_info_2;
arch/x86/kvm/svm/sev.c
4183
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/sev.c
4267
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/sev.c
4425
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/sev.c
4625
if (svm->vmcb->control.exit_info_2 > INT_MAX)
arch/x86/kvm/svm/sev.c
4628
count = svm->vmcb->control.exit_info_2;
arch/x86/kvm/svm/sev.c
4689
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/sev.c
4691
svm->vmcb->control.misc_ctl |= SVM_MISC_ENABLE_SEV_ES;
arch/x86/kvm/svm/sev.c
4702
svm->vmcb->control.vmsa_pa = __pa(svm->sev_es.vmsa);
arch/x86/kvm/svm/sev.c
4704
svm->vmcb->control.vmsa_pa = INVALID_PAGE;
arch/x86/kvm/svm/sev.c
4708
svm->vmcb->control.allowed_sev_features = sev->vmsa_features |
arch/x86/kvm/svm/sev.c
4727
vmcb->control.intercepts[INTERCEPT_DR] = 0;
arch/x86/kvm/svm/sev.c
4729
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR7_READ);
arch/x86/kvm/svm/sev.c
4730
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR7_WRITE);
arch/x86/kvm/svm/sev.c
4762
svm->vmcb->control.misc_ctl |= SVM_MISC_ENABLE_SEV;
arch/x86/kvm/svm/sev.c
5237
dbg.src_addr = svm->vmcb->control.vmsa_pa;
arch/x86/kvm/svm/sev.c
5268
dbg.src_addr = svm->vmcb->control.vmsa_pa;
arch/x86/kvm/svm/sev.c
982
if (svm->vcpu.guest_debug || (svm->vmcb->save.dr7 & ~DR7_FIXED_1))
arch/x86/kvm/svm/sev.c
991
memcpy(save, &svm->vmcb->save, sizeof(svm->vmcb->save));
arch/x86/kvm/svm/svm.c
1023
svm->vmcb->control.tsc_offset = vcpu->arch.tsc_offset;
arch/x86/kvm/svm/svm.c
1024
vmcb_mark_dirty(svm->vmcb, VMCB_INTERCEPTS);
arch/x86/kvm/svm/svm.c
1129
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/svm.c
1130
struct vmcb_control_area *control = &vmcb->control;
arch/x86/kvm/svm/svm.c
1131
struct vmcb_save_area *save = &vmcb->save;
arch/x86/kvm/svm/svm.c
1252
svm->vmcb->control.erap_ctl |= ERAP_CONTROL_ALLOW_LARGER_RAP;
arch/x86/kvm/svm/svm.c
1255
avic_init_vmcb(svm, vmcb);
arch/x86/kvm/svm/svm.c
1258
svm->vmcb->control.int_ctl |= V_NMI_ENABLE_MASK;
arch/x86/kvm/svm/svm.c
1261
svm->vmcb->control.int_ctl |= V_GIF_ENABLE_MASK;
arch/x86/kvm/svm/svm.c
1264
svm->vmcb->control.misc_ctl2 |= SVM_MISC2_ENABLE_V_VMLOAD_VMSAVE;
arch/x86/kvm/svm/svm.c
1272
svm_hv_init_vmcb(vmcb);
arch/x86/kvm/svm/svm.c
1276
vmcb_mark_all_dirty(vmcb);
arch/x86/kvm/svm/svm.c
1311
svm->vmcb = target_vmcb->ptr;
arch/x86/kvm/svm/svm.c
1505
unsigned long rflags = svm->vmcb->save.rflags;
arch/x86/kvm/svm/svm.c
1527
to_svm(vcpu)->vmcb->save.rflags = rflags;
arch/x86/kvm/svm/svm.c
1532
struct vmcb *vmcb = to_svm(vcpu)->vmcb;
arch/x86/kvm/svm/svm.c
1535
? vmcb->control.int_state & SVM_GUEST_INTERRUPT_MASK
arch/x86/kvm/svm/svm.c
1582
control = &svm->vmcb->control;
arch/x86/kvm/svm/svm.c
1587
vmcb_mark_dirty(svm->vmcb, VMCB_INTR);
arch/x86/kvm/svm/svm.c
1595
svm->vmcb->control.int_ctl &= ~V_IRQ_INJECTION_BITS_MASK;
arch/x86/kvm/svm/svm.c
1599
WARN_ON((svm->vmcb->control.int_ctl & V_TPR_MASK) !=
arch/x86/kvm/svm/svm.c
1602
svm->vmcb->control.int_ctl |= svm->nested.ctl.int_ctl &
arch/x86/kvm/svm/svm.c
1605
svm->vmcb->control.int_vector = svm->nested.ctl.int_vector;
arch/x86/kvm/svm/svm.c
1608
vmcb_mark_dirty(svm->vmcb, VMCB_INTR);
arch/x86/kvm/svm/svm.c
1613
struct vmcb_save_area *save = &to_svm(vcpu)->vmcb->save;
arch/x86/kvm/svm/svm.c
1701
var->dpl = to_svm(vcpu)->vmcb->save.cpl;
arch/x86/kvm/svm/svm.c
1708
struct vmcb_save_area *save = &to_svm(vcpu)->vmcb->save;
arch/x86/kvm/svm/svm.c
1726
dt->size = svm->vmcb->save.idtr.limit;
arch/x86/kvm/svm/svm.c
1727
dt->address = svm->vmcb->save.idtr.base;
arch/x86/kvm/svm/svm.c
1734
svm->vmcb->save.idtr.limit = dt->size;
arch/x86/kvm/svm/svm.c
1735
svm->vmcb->save.idtr.base = dt->address ;
arch/x86/kvm/svm/svm.c
1736
vmcb_mark_dirty(svm->vmcb, VMCB_DT);
arch/x86/kvm/svm/svm.c
1743
dt->size = svm->vmcb->save.gdtr.limit;
arch/x86/kvm/svm/svm.c
1744
dt->address = svm->vmcb->save.gdtr.base;
arch/x86/kvm/svm/svm.c
1751
svm->vmcb->save.gdtr.limit = dt->size;
arch/x86/kvm/svm/svm.c
1752
svm->vmcb->save.gdtr.base = dt->address ;
arch/x86/kvm/svm/svm.c
1753
vmcb_mark_dirty(svm->vmcb, VMCB_DT);
arch/x86/kvm/svm/svm.c
1769
svm->vmcb->save.cr3 = cr3;
arch/x86/kvm/svm/svm.c
1770
vmcb_mark_dirty(svm->vmcb, VMCB_CR);
arch/x86/kvm/svm/svm.c
1790
svm->vmcb->save.efer |= EFER_LMA | EFER_LME;
arch/x86/kvm/svm/svm.c
1796
svm->vmcb->save.efer &= ~(EFER_LMA | EFER_LME);
arch/x86/kvm/svm/svm.c
1816
svm->vmcb->save.cr0 = hcr0;
arch/x86/kvm/svm/svm.c
1817
vmcb_mark_dirty(svm->vmcb, VMCB_CR);
arch/x86/kvm/svm/svm.c
1854
to_svm(vcpu)->vmcb->save.cr4 = cr4;
arch/x86/kvm/svm/svm.c
1855
vmcb_mark_dirty(to_svm(vcpu)->vmcb, VMCB_CR);
arch/x86/kvm/svm/svm.c
1887
svm->vmcb->save.cpl = (var->dpl & 3);
arch/x86/kvm/svm/svm.c
1889
vmcb_mark_dirty(svm->vmcb, VMCB_SEG);
arch/x86/kvm/svm/svm.c
1909
svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ALL_ASID;
arch/x86/kvm/svm/svm.c
1910
vmcb_mark_dirty(svm->vmcb, VMCB_ASID);
arch/x86/kvm/svm/svm.c
1919
struct vmcb *vmcb = to_svm(vcpu)->vmcb;
arch/x86/kvm/svm/svm.c
1924
if (unlikely(value != vmcb->save.dr6)) {
arch/x86/kvm/svm/svm.c
1925
vmcb->save.dr6 = value;
arch/x86/kvm/svm/svm.c
1926
vmcb_mark_dirty(vmcb, VMCB_DR);
arch/x86/kvm/svm/svm.c
1945
vcpu->arch.dr6 = svm->vmcb->save.dr6;
arch/x86/kvm/svm/svm.c
1946
vcpu->arch.dr7 = svm->vmcb->save.dr7;
arch/x86/kvm/svm/svm.c
1958
svm->vmcb->save.dr7 = value;
arch/x86/kvm/svm/svm.c
1959
vmcb_mark_dirty(svm->vmcb, VMCB_DR);
arch/x86/kvm/svm/svm.c
1966
u64 fault_address = svm->vmcb->control.exit_info_2;
arch/x86/kvm/svm/svm.c
1967
u64 error_code = svm->vmcb->control.exit_info_1;
arch/x86/kvm/svm/svm.c
1971
svm->vmcb->control.insn_bytes : NULL,
arch/x86/kvm/svm/svm.c
1972
svm->vmcb->control.insn_len);
arch/x86/kvm/svm/svm.c
1983
u64 error_code = svm->vmcb->control.exit_info_1;
arch/x86/kvm/svm/svm.c
1984
gpa_t gpa = svm->vmcb->control.exit_info_2;
arch/x86/kvm/svm/svm.c
2006
if (nrips && svm->vmcb->control.next_rip &&
arch/x86/kvm/svm/svm.c
2014
(svm->vmcb->control.misc_ctl & SVM_MISC_ENABLE_GMET) &&
arch/x86/kvm/svm/svm.c
2031
svm->vmcb->control.insn_bytes : NULL,
arch/x86/kvm/svm/svm.c
2032
svm->vmcb->control.insn_len);
arch/x86/kvm/svm/svm.c
2048
u32 payload = svm->vmcb->save.dr6 ^ DR6_ACTIVE_LOW;
arch/x86/kvm/svm/svm.c
2062
kvm_run->debug.arch.dr6 = svm->vmcb->save.dr6;
arch/x86/kvm/svm/svm.c
2063
kvm_run->debug.arch.dr7 = svm->vmcb->save.dr7;
arch/x86/kvm/svm/svm.c
2065
svm->vmcb->save.cs.base + svm->vmcb->save.rip;
arch/x86/kvm/svm/svm.c
2079
kvm_run->debug.arch.pc = svm->vmcb->save.cs.base + svm->vmcb->save.rip;
arch/x86/kvm/svm/svm.c
2171
clear_page(svm->vmcb);
arch/x86/kvm/svm/svm.c
2186
u32 io_info = svm->vmcb->control.exit_info_1; /* address size bug? */
arch/x86/kvm/svm/svm.c
2203
svm->next_rip = svm->vmcb->control.exit_info_2;
arch/x86/kvm/svm/svm.c
2228
struct vmcb *vmcb12;
arch/x86/kvm/svm/svm.c
2314
u32 error_code = svm->vmcb->control.exit_info_1;
arch/x86/kvm/svm/svm.c
2424
trace_kvm_invlpga(to_svm(vcpu)->vmcb->save.rip, asid, gva);
arch/x86/kvm/svm/svm.c
2434
trace_kvm_skinit(to_svm(vcpu)->vmcb->save.rip, kvm_rax_read(vcpu));
arch/x86/kvm/svm/svm.c
2445
int int_type = svm->vmcb->control.exit_int_info &
arch/x86/kvm/svm/svm.c
2447
int int_vec = svm->vmcb->control.exit_int_info & SVM_EVTINJ_VEC_MASK;
arch/x86/kvm/svm/svm.c
2449
svm->vmcb->control.exit_int_info & SVM_EXITINTINFO_TYPE_MASK;
arch/x86/kvm/svm/svm.c
2451
svm->vmcb->control.exit_int_info & SVM_EXITINTINFO_VALID;
arch/x86/kvm/svm/svm.c
2455
tss_selector = (u16)svm->vmcb->control.exit_info_1;
arch/x86/kvm/svm/svm.c
2457
if (svm->vmcb->control.exit_info_2 &
arch/x86/kvm/svm/svm.c
2460
else if (svm->vmcb->control.exit_info_2 &
arch/x86/kvm/svm/svm.c
2474
if (svm->vmcb->control.exit_info_2 &
arch/x86/kvm/svm/svm.c
2478
(u32)svm->vmcb->control.exit_info_2;
arch/x86/kvm/svm/svm.c
2539
kvm_mmu_invlpg(vcpu, to_svm(vcpu)->vmcb->control.exit_info_1);
arch/x86/kvm/svm/svm.c
2568
svm->vmcb->control.exit_code = SVM_EXIT_CR0_SEL_WRITE;
arch/x86/kvm/svm/svm.c
2587
if (unlikely((svm->vmcb->control.exit_info_1 & CR_VALID) == 0))
arch/x86/kvm/svm/svm.c
2590
reg = svm->vmcb->control.exit_info_1 & SVM_EXITINFO_REG_MASK;
arch/x86/kvm/svm/svm.c
2591
if (svm->vmcb->control.exit_code == SVM_EXIT_CR0_SEL_WRITE)
arch/x86/kvm/svm/svm.c
2594
cr = svm->vmcb->control.exit_code - SVM_EXIT_READ_CR0;
arch/x86/kvm/svm/svm.c
2658
new_value = (unsigned long)svm->vmcb->control.exit_info_1;
arch/x86/kvm/svm/svm.c
2660
cr = svm->vmcb->control.exit_code - SVM_EXIT_CR0_WRITE_TRAP;
arch/x86/kvm/svm/svm.c
2713
reg = svm->vmcb->control.exit_info_1 & SVM_EXITINFO_REG_MASK;
arch/x86/kvm/svm/svm.c
2714
dr = svm->vmcb->control.exit_code - SVM_EXIT_READ_DR0;
arch/x86/kvm/svm/svm.c
272
svm->vmcb->save.efer = efer | EFER_SVME;
arch/x86/kvm/svm/svm.c
273
vmcb_mark_dirty(svm->vmcb, VMCB_CR);
arch/x86/kvm/svm/svm.c
2755
msr_info.data = to_svm(vcpu)->vmcb->control.exit_info_1 & ~EFER_SVME;
arch/x86/kvm/svm/svm.c
2781
return &svm->vmcb->save.br_from;
arch/x86/kvm/svm/svm.c
2783
return &svm->vmcb->save.br_to;
arch/x86/kvm/svm/svm.c
2785
return &svm->vmcb->save.last_excp_from;
arch/x86/kvm/svm/svm.c
2787
return &svm->vmcb->save.last_excp_to;
arch/x86/kvm/svm/svm.c
2792
return &svm->vmcb->save.br_from;
arch/x86/kvm/svm/svm.c
282
if (svm->vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK)
arch/x86/kvm/svm/svm.c
2870
msr_info->data = svm->vmcb->save.s_cet;
arch/x86/kvm/svm/svm.c
2873
msr_info->data = svm->vmcb->save.isst_addr;
arch/x86/kvm/svm/svm.c
2876
msr_info->data = svm->vmcb->save.ssp;
arch/x86/kvm/svm/svm.c
2882
msr_info->data = lbrv ? svm->vmcb->save.dbgctl : 0;
arch/x86/kvm/svm/svm.c
2902
msr_info->data = svm->vmcb->save.spec_ctrl;
arch/x86/kvm/svm/svm.c
292
svm->vmcb->control.int_state &= ~SVM_INTERRUPT_SHADOW_MASK;
arch/x86/kvm/svm/svm.c
2935
msr_info->data = svm->vmcb->save.g_pat;
arch/x86/kvm/svm/svm.c
294
svm->vmcb->control.int_state |= SVM_INTERRUPT_SHADOW_MASK;
arch/x86/kvm/svm/svm.c
3026
vmcb_set_gpat(svm->vmcb, data);
arch/x86/kvm/svm/svm.c
3037
vmcb_set_gpat(svm->vmcb, data);
arch/x86/kvm/svm/svm.c
3049
svm->vmcb->save.spec_ctrl = data;
arch/x86/kvm/svm/svm.c
312
if (nrips && svm->vmcb->control.next_rip != 0) {
arch/x86/kvm/svm/svm.c
3120
svm->vmcb->save.s_cet = data;
arch/x86/kvm/svm/svm.c
3124
svm->vmcb->save.isst_addr = data;
arch/x86/kvm/svm/svm.c
3128
svm->vmcb->save.ssp = data;
arch/x86/kvm/svm/svm.c
314
svm->next_rip = svm->vmcb->control.next_rip;
arch/x86/kvm/svm/svm.c
3171
if (svm->vmcb->save.dbgctl == data)
arch/x86/kvm/svm/svm.c
3174
svm->vmcb->save.dbgctl = data;
arch/x86/kvm/svm/svm.c
3175
vmcb_mark_dirty(svm->vmcb, VMCB_LBR);
arch/x86/kvm/svm/svm.c
3187
vmcb_mark_dirty(svm->vmcb, VMCB_LBR);
arch/x86/kvm/svm/svm.c
319
old_rflags = svm->vmcb->save.rflags;
arch/x86/kvm/svm/svm.c
3226
if (to_svm(vcpu)->vmcb->control.exit_info_1)
arch/x86/kvm/svm/svm.c
325
svm->vmcb->save.rflags = old_rflags;
arch/x86/kvm/svm/svm.c
3273
type = svm->vmcb->control.exit_info_2;
arch/x86/kvm/svm/svm.c
3274
gva = svm->vmcb->control.exit_info_1;
arch/x86/kvm/svm/svm.c
3300
svm->vmcb->control.bus_lock_counter = 1;
arch/x86/kvm/svm/svm.c
3418
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/svm.c
3419
struct vmcb_save_area *save = &svm->vmcb->save;
arch/x86/kvm/svm/svm.c
3676
struct vmcb_control_area *control = &to_svm(vcpu)->vmcb->control;
arch/x86/kvm/svm/svm.c
3692
struct vmcb_control_area *control = &to_svm(vcpu)->vmcb->control;
arch/x86/kvm/svm/svm.c
3726
if (svm_is_vmrun_failure(svm->vmcb->control.exit_code)) {
arch/x86/kvm/svm/svm.c
3729
= svm->vmcb->control.exit_code;
arch/x86/kvm/svm/svm.c
3738
return svm_invoke_exit_handler(vcpu, svm->vmcb->control.exit_code);
arch/x86/kvm/svm/svm.c
3745
svm->soft_int_csbase = svm->vmcb->save.cs.base;
arch/x86/kvm/svm/svm.c
376
svm->soft_int_csbase = svm->vmcb->save.cs.base;
arch/x86/kvm/svm/svm.c
3763
vmcb_mark_all_dirty(svm->vmcb);
arch/x86/kvm/svm/svm.c
3781
svm->vmcb->control.event_inj = SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_NMI;
arch/x86/kvm/svm/svm.c
3805
return !!(svm->vmcb->control.int_ctl & V_NMI_PENDING_MASK);
arch/x86/kvm/svm/svm.c
3815
if (svm->vmcb->control.int_ctl & V_NMI_PENDING_MASK)
arch/x86/kvm/svm/svm.c
3818
svm->vmcb->control.int_ctl |= V_NMI_PENDING_MASK;
arch/x86/kvm/svm/svm.c
3819
vmcb_mark_dirty(svm->vmcb, VMCB_INTR);
arch/x86/kvm/svm/svm.c
384
svm->vmcb->control.next_rip = rip;
arch/x86/kvm/svm/svm.c
3866
svm->vmcb->control.event_inj = intr->nr | SVM_EVTINJ_VALID | type;
arch/x86/kvm/svm/svm.c
3889
svm->vmcb->control.next_rip = kvm_rip_read(vcpu);
arch/x86/kvm/svm/svm.c
3977
return svm->vmcb->control.int_ctl & V_NMI_BLOCKING_MASK;
arch/x86/kvm/svm/svm.c
3988
svm->vmcb->control.int_ctl |= V_NMI_BLOCKING_MASK;
arch/x86/kvm/svm/svm.c
3990
svm->vmcb->control.int_ctl &= ~V_NMI_BLOCKING_MASK;
arch/x86/kvm/svm/svm.c
400
svm->vmcb->control.event_inj = ex->vector
arch/x86/kvm/svm/svm.c
4004
struct vmcb *vmcb = svm->vmcb;
arch/x86/kvm/svm/svm.c
4015
return vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK;
arch/x86/kvm/svm/svm.c
4036
struct vmcb *vmcb = svm->vmcb;
arch/x86/kvm/svm/svm.c
404
svm->vmcb->control.event_inj_err = ex->error_code;
arch/x86/kvm/svm/svm.c
4056
return (vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK);
arch/x86/kvm/svm/svm.c
4172
svm->vmcb->save.rflags |= (X86_EFLAGS_TF | X86_EFLAGS_RF);
arch/x86/kvm/svm/svm.c
4194
svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ASID;
arch/x86/kvm/svm/svm.c
4234
invlpga(gva, svm->vmcb->control.asid);
arch/x86/kvm/svm/svm.c
4252
int cr8 = svm->vmcb->control.int_ctl & V_TPR_MASK;
arch/x86/kvm/svm/svm.c
4266
svm->vmcb->control.int_ctl &= ~V_TPR_MASK;
arch/x86/kvm/svm/svm.c
4267
svm->vmcb->control.int_ctl |= cr8 & V_TPR_MASK;
arch/x86/kvm/svm/svm.c
4300
svm->vmcb->control.next_rip = svm->soft_int_next_rip;
arch/x86/kvm/svm/svm.c
4319
u32 exitintinfo = svm->vmcb->control.exit_int_info;
arch/x86/kvm/svm/svm.c
4367
error_code = svm->vmcb->control.exit_int_info_err;
arch/x86/kvm/svm/svm.c
4389
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/svm.c
4410
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/svm.c
4481
svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX];
arch/x86/kvm/svm/svm.c
4482
svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP];
arch/x86/kvm/svm/svm.c
4483
svm->vmcb->save.rip = vcpu->arch.rip;
arch/x86/kvm/svm/svm.c
4491
if (svm->nmi_singlestep && svm->vmcb->control.event_inj) {
arch/x86/kvm/svm/svm.c
4513
if (unlikely(svm->asid != svm->vmcb->control.asid)) {
arch/x86/kvm/svm/svm.c
4514
svm->vmcb->control.asid = svm->asid;
arch/x86/kvm/svm/svm.c
4515
vmcb_mark_dirty(svm->vmcb, VMCB_ASID);
arch/x86/kvm/svm/svm.c
4517
svm->vmcb->save.cr2 = vcpu->arch.cr2;
arch/x86/kvm/svm/svm.c
4521
svm->vmcb->control.erap_ctl |= ERAP_CONTROL_CLEAR_RAP;
arch/x86/kvm/svm/svm.c
4525
svm_hv_update_vp_id(svm->vmcb, vcpu);
arch/x86/kvm/svm/svm.c
4545
if (!(svm->vmcb->control.misc_ctl2 & SVM_MISC2_ENABLE_V_LBR) &&
arch/x86/kvm/svm/svm.c
4546
vcpu->arch.host_debugctl != svm->vmcb->save.dbgctl)
arch/x86/kvm/svm/svm.c
4547
update_debugctlmsr(svm->vmcb->save.dbgctl);
arch/x86/kvm/svm/svm.c
4567
vcpu->arch.cr2 = svm->vmcb->save.cr2;
arch/x86/kvm/svm/svm.c
4568
vcpu->arch.regs[VCPU_REGS_RAX] = svm->vmcb->save.rax;
arch/x86/kvm/svm/svm.c
4569
vcpu->arch.regs[VCPU_REGS_RSP] = svm->vmcb->save.rsp;
arch/x86/kvm/svm/svm.c
4570
vcpu->arch.rip = svm->vmcb->save.rip;
arch/x86/kvm/svm/svm.c
4573
vcpu->arch.cr0 = svm->vmcb->save.cr0;
arch/x86/kvm/svm/svm.c
4575
vcpu->arch.cr3 = svm->vmcb->save.cr3;
arch/x86/kvm/svm/svm.c
4579
if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI))
arch/x86/kvm/svm/svm.c
4582
if (!(svm->vmcb->control.misc_ctl2 & SVM_MISC2_ENABLE_V_LBR) &&
arch/x86/kvm/svm/svm.c
4583
vcpu->arch.host_debugctl != svm->vmcb->save.dbgctl)
arch/x86/kvm/svm/svm.c
4590
if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI))
arch/x86/kvm/svm/svm.c
4601
!svm_is_vmrun_failure(svm->vmcb->control.exit_code))
arch/x86/kvm/svm/svm.c
4607
svm->vmcb->control.tlb_ctl = TLB_CONTROL_DO_NOTHING;
arch/x86/kvm/svm/svm.c
4614
svm->vmcb->control.erap_ctl &= ~ERAP_CONTROL_CLEAR_RAP;
arch/x86/kvm/svm/svm.c
4616
vmcb_mark_all_clean(svm->vmcb);
arch/x86/kvm/svm/svm.c
4619
if (svm->vmcb->control.exit_code == SVM_EXIT_EXCP_BASE + PF_VECTOR)
arch/x86/kvm/svm/svm.c
4640
svm->nested.ctl.next_rip = svm->vmcb->control.next_rip;
arch/x86/kvm/svm/svm.c
4652
svm->vmcb->control.nested_cr3 = __sme_set(root_hpa);
arch/x86/kvm/svm/svm.c
4653
vmcb_mark_dirty(svm->vmcb, VMCB_NPT);
arch/x86/kvm/svm/svm.c
4666
svm->vmcb->save.cr3 = cr3;
arch/x86/kvm/svm/svm.c
4667
vmcb_mark_dirty(svm->vmcb, VMCB_CR);
arch/x86/kvm/svm/svm.c
4825
struct vmcb *vmcb = svm->vmcb;
arch/x86/kvm/svm/svm.c
4890
vmcb->control.exit_info_1 = 1;
arch/x86/kvm/svm/svm.c
4892
vmcb->control.exit_info_1 = 0;
arch/x86/kvm/svm/svm.c
4929
vmcb->control.exit_info_1 = exit_info;
arch/x86/kvm/svm/svm.c
4930
vmcb->control.exit_info_2 = info->next_rip;
arch/x86/kvm/svm/svm.c
4940
vmcb->control.next_rip = info->next_rip;
arch/x86/kvm/svm/svm.c
4941
vmcb->control.exit_code = icpt_info.exit_code;
arch/x86/kvm/svm/svm.c
4953
switch (to_svm(vcpu)->vmcb->control.exit_code) {
arch/x86/kvm/svm/svm.c
5018
svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX];
arch/x86/kvm/svm/svm.c
5019
svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP];
arch/x86/kvm/svm/svm.c
5020
svm->vmcb->save.rip = vcpu->arch.rip;
arch/x86/kvm/svm/svm.c
5039
BUILD_BUG_ON(offsetof(struct vmcb, save) != 0x400);
arch/x86/kvm/svm/svm.c
5052
struct vmcb *vmcb12;
arch/x86/kvm/svm/svm.c
5135
if ((svm->vmcb->control.exit_int_info & SVM_EXITINTINFO_TYPE_MASK) &&
arch/x86/kvm/svm/svm.c
5235
error_code = svm->vmcb->control.exit_info_1;
arch/x86/kvm/svm/svm.c
643
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/svm.c
645
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR0_READ);
arch/x86/kvm/svm/svm.c
646
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR1_READ);
arch/x86/kvm/svm/svm.c
647
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR2_READ);
arch/x86/kvm/svm/svm.c
648
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR3_READ);
arch/x86/kvm/svm/svm.c
649
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR4_READ);
arch/x86/kvm/svm/svm.c
650
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR5_READ);
arch/x86/kvm/svm/svm.c
651
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR6_READ);
arch/x86/kvm/svm/svm.c
652
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR0_WRITE);
arch/x86/kvm/svm/svm.c
653
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR1_WRITE);
arch/x86/kvm/svm/svm.c
654
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR2_WRITE);
arch/x86/kvm/svm/svm.c
655
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR3_WRITE);
arch/x86/kvm/svm/svm.c
656
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR4_WRITE);
arch/x86/kvm/svm/svm.c
657
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR5_WRITE);
arch/x86/kvm/svm/svm.c
658
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR6_WRITE);
arch/x86/kvm/svm/svm.c
659
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR7_READ);
arch/x86/kvm/svm/svm.c
660
vmcb_set_intercept(&vmcb->control, INTERCEPT_DR7_WRITE);
arch/x86/kvm/svm/svm.c
667
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/svm.c
669
vmcb->control.intercepts[INTERCEPT_DR] = 0;
arch/x86/kvm/svm/svm.c
736
bool intercept = !(svm->vmcb->control.misc_ctl2 & SVM_MISC2_ENABLE_V_LBR);
arch/x86/kvm/svm/svm.c
869
to_svm(vcpu)->vmcb->control.misc_ctl2 |= SVM_MISC2_ENABLE_V_LBR;
arch/x86/kvm/svm/svm.c
881
to_svm(vcpu)->vmcb->control.misc_ctl2 &= ~SVM_MISC2_ENABLE_V_LBR;
arch/x86/kvm/svm/svm.c
887
bool current_enable_lbrv = svm->vmcb->control.misc_ctl2 & SVM_MISC2_ENABLE_V_LBR;
arch/x86/kvm/svm/svm.c
888
bool enable_lbrv = (svm->vmcb->save.dbgctl & DEBUGCTLMSR_LBR) ||
arch/x86/kvm/svm/svm.c
913
svm->vmcb->save.rflags &= ~X86_EFLAGS_TF;
arch/x86/kvm/svm/svm.c
915
svm->vmcb->save.rflags &= ~X86_EFLAGS_RF;
arch/x86/kvm/svm/svm.c
922
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/svm.c
942
vmcb_mark_dirty(svm->vmcb, VMCB_INTERCEPTS);
arch/x86/kvm/svm/svm.c
951
struct vmcb_control_area *control = &svm->vmcb->control;
arch/x86/kvm/svm/svm.c
966
vmcb_mark_dirty(svm->vmcb, VMCB_INTERCEPTS);
arch/x86/kvm/svm/svm.h
143
struct vmcb *ptr;
arch/x86/kvm/svm/svm.h
282
struct vmcb *vmcb;
arch/x86/kvm/svm/svm.h
379
struct vmcb *save_area;
arch/x86/kvm/svm/svm.h
383
struct vmcb **sev_vmcbs;
arch/x86/kvm/svm/svm.h
452
static inline void vmcb_mark_all_dirty(struct vmcb *vmcb)
arch/x86/kvm/svm/svm.h
454
vmcb->control.clean = 0;
arch/x86/kvm/svm/svm.h
457
static inline void vmcb_mark_all_clean(struct vmcb *vmcb)
arch/x86/kvm/svm/svm.h
459
vmcb->control.clean = VMCB_ALL_CLEAN_MASK
arch/x86/kvm/svm/svm.h
463
static inline void vmcb_mark_dirty(struct vmcb *vmcb, int bit)
arch/x86/kvm/svm/svm.h
465
vmcb->control.clean &= ~(1 << bit);
arch/x86/kvm/svm/svm.h
473
static inline void vmcb_set_gpat(struct vmcb *vmcb, u64 data)
arch/x86/kvm/svm/svm.h
475
vmcb->save.g_pat = data;
arch/x86/kvm/svm/svm.h
476
vmcb_mark_dirty(vmcb, VMCB_NPT);
arch/x86/kvm/svm/svm.h
563
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/svm.h
566
vmcb_set_intercept(&vmcb->control, INTERCEPT_EXCEPTION_OFFSET + bit);
arch/x86/kvm/svm/svm.h
573
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/svm.h
576
vmcb_clr_intercept(&vmcb->control, INTERCEPT_EXCEPTION_OFFSET + bit);
arch/x86/kvm/svm/svm.h
583
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/svm.h
585
vmcb_set_intercept(&vmcb->control, bit);
arch/x86/kvm/svm/svm.h
592
struct vmcb *vmcb = svm->vmcb01.ptr;
arch/x86/kvm/svm/svm.h
594
vmcb_clr_intercept(&vmcb->control, bit);
arch/x86/kvm/svm/svm.h
601
return vmcb_is_intercept(&svm->vmcb->control, bit);
arch/x86/kvm/svm/svm.h
610
static inline struct vmcb *get_vgif_vmcb(struct vcpu_svm *svm)
arch/x86/kvm/svm/svm.h
623
struct vmcb *vmcb = get_vgif_vmcb(svm);
arch/x86/kvm/svm/svm.h
625
if (vmcb)
arch/x86/kvm/svm/svm.h
626
vmcb->control.int_ctl |= V_GIF_MASK;
arch/x86/kvm/svm/svm.h
633
struct vmcb *vmcb = get_vgif_vmcb(svm);
arch/x86/kvm/svm/svm.h
635
if (vmcb)
arch/x86/kvm/svm/svm.h
636
vmcb->control.int_ctl &= ~V_GIF_MASK;
arch/x86/kvm/svm/svm.h
643
struct vmcb *vmcb = get_vgif_vmcb(svm);
arch/x86/kvm/svm/svm.h
645
if (vmcb)
arch/x86/kvm/svm/svm.h
646
return !!(vmcb->control.int_ctl & V_GIF_MASK);
arch/x86/kvm/svm/svm.h
681
static inline struct vmcb *get_vnmi_vmcb_l1(struct vcpu_svm *svm)
arch/x86/kvm/svm/svm.h
694
struct vmcb *vmcb = get_vnmi_vmcb_l1(svm);
arch/x86/kvm/svm/svm.h
696
if (vmcb)
arch/x86/kvm/svm/svm.h
697
return !!(vmcb->control.int_ctl & V_NMI_ENABLE_MASK);
arch/x86/kvm/svm/svm.h
878
void svm_copy_vmloadsave_state(struct vmcb *to_vmcb, struct vmcb *from_vmcb);
arch/x86/kvm/svm/svm.h
883
svm->vmcb->control.exit_code = exit_code;
arch/x86/kvm/svm/svm.h
884
svm->vmcb->control.exit_info_1 = 0;
arch/x86/kvm/svm/svm.h
885
svm->vmcb->control.exit_info_2 = 0;
arch/x86/kvm/svm/svm.h
951
void avic_init_vmcb(struct vcpu_svm *svm, struct vmcb *vmcb);
arch/x86/kvm/svm/svm_onhyperv.c
26
hve = &to_svm(vcpu)->vmcb->control.hv_enlightenments;
arch/x86/kvm/svm/svm_onhyperv.c
32
vmcb_mark_dirty(to_svm(vcpu)->vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS);
arch/x86/kvm/svm/svm_onhyperv.h
20
struct hv_vmcb_enlightenments *hve = &to_svm(vcpu)->vmcb->control.hv_enlightenments;
arch/x86/kvm/svm/svm_onhyperv.h
26
static inline void svm_hv_init_vmcb(struct vmcb *vmcb)
arch/x86/kvm/svm/svm_onhyperv.h
28
struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments;
arch/x86/kvm/svm/svm_onhyperv.h
30
BUILD_BUG_ON(sizeof(vmcb->control.hv_enlightenments) !=
arch/x86/kvm/svm/svm_onhyperv.h
31
sizeof(vmcb->control.reserved_sw));
arch/x86/kvm/svm/svm_onhyperv.h
44
struct vmcb *vmcb = to_svm(vcpu)->vmcb;
arch/x86/kvm/svm/svm_onhyperv.h
45
struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments;
arch/x86/kvm/svm/svm_onhyperv.h
48
vmcb_mark_dirty(vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS);
arch/x86/kvm/svm/svm_onhyperv.h
51
static inline void svm_hv_update_vp_id(struct vmcb *vmcb, struct kvm_vcpu *vcpu)
arch/x86/kvm/svm/svm_onhyperv.h
53
struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments;
arch/x86/kvm/svm/svm_onhyperv.h
58
vmcb_mark_dirty(vmcb, HV_VMCB_NESTED_ENLIGHTENMENTS);
arch/x86/kvm/svm/svm_onhyperv.h
68
static inline void svm_hv_init_vmcb(struct vmcb *vmcb)
arch/x86/kvm/svm/svm_onhyperv.h
81
static inline void svm_hv_update_vp_id(struct vmcb *vmcb,
arch/x86/kvm/trace.h
703
TP_PROTO(__u64 rip, __u64 vmcb, __u64 nested_rip, __u32 int_ctl,
arch/x86/kvm/trace.h
706
TP_ARGS(rip, vmcb, nested_rip, int_ctl, event_inj, tdp_enabled,
arch/x86/kvm/trace.h
711
__field( __u64, vmcb )
arch/x86/kvm/trace.h
722
__entry->vmcb = vmcb;
arch/x86/kvm/trace.h
735
__entry->vmcb,
tools/testing/selftests/kvm/include/x86/svm_util.h
17
struct vmcb *vmcb; /* gva */
tools/testing/selftests/kvm/include/x86/svm_util.h
61
void run_guest(struct vmcb *vmcb, u64 vmcb_gpa);
tools/testing/selftests/kvm/lib/x86/memstress.c
64
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/lib/x86/memstress.c
65
GUEST_ASSERT_EQ(svm->vmcb->control.exit_code, SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/lib/x86/svm.c
100
memset(vmcb, 0, sizeof(*vmcb));
tools/testing/selftests/kvm/lib/x86/svm.c
124
vmcb->save.rip = (u64)guest_rip;
tools/testing/selftests/kvm/lib/x86/svm.c
125
vmcb->save.rsp = (u64)guest_rsp;
tools/testing/selftests/kvm/lib/x86/svm.c
161
void run_guest(struct vmcb *vmcb, u64 vmcb_gpa)
tools/testing/selftests/kvm/lib/x86/svm.c
177
: : [vmcb] "r" (vmcb), [vmcb_gpa] "a" (vmcb_gpa)
tools/testing/selftests/kvm/lib/x86/svm.c
36
svm->vmcb = (void *)vm_alloc_page(vm);
tools/testing/selftests/kvm/lib/x86/svm.c
37
svm->vmcb_hva = addr_gva2hva(vm, (uintptr_t)svm->vmcb);
tools/testing/selftests/kvm/lib/x86/svm.c
38
svm->vmcb_gpa = addr_gva2gpa(vm, (uintptr_t)svm->vmcb);
tools/testing/selftests/kvm/lib/x86/svm.c
86
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/lib/x86/svm.c
88
struct vmcb_save_area *save = &vmcb->save;
tools/testing/selftests/kvm/lib/x86/svm.c
89
struct vmcb_control_area *ctrl = &vmcb->control;
tools/testing/selftests/kvm/x86/aperfmperf_test.c
68
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/aperfmperf_test.c
71
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
102
vmcb->control.intercept |= 1ULL << INTERCEPT_MSR_PROT;
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
104
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
105
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_MSR);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
106
vmcb->save.rip += 2; /* rdmsr */
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
110
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
111
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_MSR);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
112
vmcb->save.rip += 2; /* rdmsr */
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
117
vmcb->control.clean |= HV_VMCB_NESTED_ENLIGHTENMENTS;
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
118
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
120
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
121
vmcb->save.rip += 3; /* vmcall */
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
124
vmcb->control.clean &= ~HV_VMCB_NESTED_ENLIGHTENMENTS;
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
125
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
126
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_MSR);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
127
vmcb->save.rip += 2; /* rdmsr */
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
134
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
135
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_MSR);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
136
vmcb->save.rip += 2; /* rdmsr */
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
139
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
140
GUEST_ASSERT(vmcb->control.exit_code == HV_SVM_EXITCODE_ENL);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
141
GUEST_ASSERT(vmcb->control.exit_info_1 == HV_SVM_ENL_EXITCODE_TRAP_AFTER_FLUSH);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
143
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
144
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
73
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
74
struct hv_vmcb_enlightenments *hve = &vmcb->control.hv_enlightenments;
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
96
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
97
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/hyperv_svm_test.c
99
vmcb->save.rip += 3;
tools/testing/selftests/kvm/x86/kvm_buslock_test.c
40
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/kvm_buslock_test.c
43
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_close_kvm_test.c
56
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_dirty_log_test.c
129
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_dirty_log_test.c
131
GUEST_ASSERT_EQ(svm->vmcb->control.exit_code, SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/nested_emulation_test.c
100
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_emulation_test.c
101
exit_reason = vmcb->control.exit_code;
tools/testing/selftests/kvm/x86/nested_emulation_test.c
102
exit_insn_len = vmcb->control.next_rip - vmcb->save.rip;
tools/testing/selftests/kvm/x86/nested_emulation_test.c
103
GUEST_ASSERT_EQ(vmcb->save.rip, (u64)l2_instruction);
tools/testing/selftests/kvm/x86/nested_emulation_test.c
58
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/nested_emulation_test.c
61
vmcb->save.idtr.limit = 0;
tools/testing/selftests/kvm/x86/nested_emulation_test.c
62
vmcb->save.rip = (u64)l2_guest_code;
tools/testing/selftests/kvm/x86/nested_emulation_test.c
64
vmcb->control.intercept |= BIT_ULL(INTERCEPT_SHUTDOWN) |
tools/testing/selftests/kvm/x86/nested_emulation_test.c
67
vmcb->control.intercept_exceptions = 0;
tools/testing/selftests/kvm/x86/nested_emulation_test.c
98
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/nested_exceptions_test.c
77
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/nested_exceptions_test.c
78
struct vmcb_control_area *ctrl = &vmcb->control;
tools/testing/selftests/kvm/x86/nested_exceptions_test.c
80
vmcb->save.rip = (u64)l2_code;
tools/testing/selftests/kvm/x86/nested_exceptions_test.c
81
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_exceptions_test.c
93
struct vmcb_control_area *ctrl = &svm->vmcb->control;
tools/testing/selftests/kvm/x86/nested_exceptions_test.c
97
svm->vmcb->save.idtr.limit = 0;
tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
30
save_cr3 = svm->vmcb->save.cr3;
tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
31
svm->vmcb->save.cr3 = -1ull;
tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
32
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
33
GUEST_ASSERT(svm->vmcb->control.exit_code == SVM_EXIT_ERR);
tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
36
svm->vmcb->save.cr3 = save_cr3;
tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
37
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_invalid_cr3_test.c
38
GUEST_ASSERT(svm->vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
124
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
130
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
133
__GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_NPF,
tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
135
vmcb->control.exit_code);
tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
137
__GUEST_ASSERT(vmcb->control.exit_info_2 == expected_fault_gpa,
tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
140
vmcb->control.exit_info_2);
tools/testing/selftests/kvm/x86/nested_tdp_fault_test.c
142
exit_info_1 = vmcb->control.exit_info_1;
tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c
111
svm->vmcb->control.tsc_offset = TSC_OFFSET_VALUE;
tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c
112
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_tsc_adjust_test.c
113
GUEST_ASSERT(svm->vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/nested_tsc_scaling_test.c
97
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_tsc_scaling_test.c
98
GUEST_ASSERT(svm->vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
100
svm->vmcb->save.rip = (u64)l2_guest_code_vmload;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
101
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
102
GUEST_ASSERT_EQ(svm->vmcb->control.exit_code, SVM_EXIT_VMLOAD);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
105
svm->vmcb->control.intercept &= ~(BIT_ULL(INTERCEPT_VMSAVE) |
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
112
svm->vmcb->save.rip = (u64)l2_guest_code_vmcb0;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
113
svm->vmcb->control.misc_ctl2 &= ~SVM_MISC2_ENABLE_V_VMLOAD_VMSAVE;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
114
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
115
GUEST_ASSERT_EQ(svm->vmcb->control.exit_code, SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
121
svm->vmcb->save.rip = (u64)l2_guest_code_vmcb1;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
122
svm->vmcb->control.misc_ctl2 |= SVM_MISC2_ENABLE_V_VMLOAD_VMSAVE;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
123
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
124
GUEST_ASSERT_EQ(svm->vmcb->control.exit_code, SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
132
struct vmcb *test_vmcb[2];
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
153
test_vmcb[i] = (struct vmcb *)addr_gva2hva(vm, TEST_VMCB_GVA(i));
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
79
svm->vmcb->control.intercept |= (BIT_ULL(INTERCEPT_VMSAVE) |
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
83
svm->vmcb->control.misc_ctl2 &= ~SVM_MISC2_ENABLE_V_VMLOAD_VMSAVE;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
85
svm->vmcb->save.rip = (u64)l2_guest_code_vmsave;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
86
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
87
GUEST_ASSERT_EQ(svm->vmcb->control.exit_code, SVM_EXIT_VMSAVE);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
89
svm->vmcb->save.rip = (u64)l2_guest_code_vmload;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
90
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
91
GUEST_ASSERT_EQ(svm->vmcb->control.exit_code, SVM_EXIT_VMLOAD);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
94
svm->vmcb->control.misc_ctl2 |= SVM_MISC2_ENABLE_V_VMLOAD_VMSAVE;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
96
svm->vmcb->save.rip = (u64)l2_guest_code_vmsave;
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
97
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/nested_vmsave_vmload_test.c
98
GUEST_ASSERT_EQ(svm->vmcb->control.exit_code, SVM_EXIT_VMSAVE);
tools/testing/selftests/kvm/x86/smm_test.c
100
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/smm_test.c
101
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/state_test.c
231
struct vmcb *vmcb = (struct vmcb *)state->nested.data.svm;
tools/testing/selftests/kvm/x86/state_test.c
235
TEST_ASSERT_EQ(!!(vmcb->control.int_ctl & V_GIF_MASK), 1);
tools/testing/selftests/kvm/x86/state_test.c
237
TEST_ASSERT_EQ(!!(vmcb->control.int_ctl & V_GIF_MASK), 0);
tools/testing/selftests/kvm/x86/state_test.c
248
TEST_ASSERT_EQ(vmcb->control.next_rip, state->regs.rip);
tools/testing/selftests/kvm/x86/state_test.c
39
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/state_test.c
46
vmcb->control.int_ctl |= (V_GIF_ENABLE_MASK | V_GIF_MASK);
tools/testing/selftests/kvm/x86/state_test.c
49
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/state_test.c
50
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/state_test.c
52
vmcb->save.rip += 3;
tools/testing/selftests/kvm/x86/state_test.c
53
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/state_test.c
54
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/svm_int_ctl_test.c
59
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/svm_int_ctl_test.c
68
vmcb->control.int_ctl &= ~V_INTR_MASKING_MASK;
tools/testing/selftests/kvm/x86/svm_int_ctl_test.c
71
vmcb->control.intercept &= ~(BIT(INTERCEPT_INTR) | BIT(INTERCEPT_VINTR));
tools/testing/selftests/kvm/x86/svm_int_ctl_test.c
74
vmcb->control.int_ctl |= V_IRQ_MASK | (0x1 << V_INTR_PRIO_SHIFT);
tools/testing/selftests/kvm/x86/svm_int_ctl_test.c
75
vmcb->control.int_vector = VINTR_IRQ_NUMBER;
tools/testing/selftests/kvm/x86/svm_int_ctl_test.c
77
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_int_ctl_test.c
78
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
41
#define CHECK_BRANCH_VMCB(b, vmcb) \
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
43
GUEST_ASSERT_EQ((b)->from, vmcb->save.br_from); \
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
44
GUEST_ASSERT_EQ((b)->to, vmcb->save.br_to); \
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
59
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
72
vmcb->control.misc_ctl2 = SVM_MISC2_ENABLE_V_LBR;
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
74
vmcb->control.misc_ctl2 &= ~SVM_MISC2_ENABLE_V_LBR;
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
76
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
77
GUEST_ASSERT(svm->vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/svm_lbr_nested_state.c
89
CHECK_BRANCH_VMCB(&l2_branch, vmcb);
tools/testing/selftests/kvm/x86/svm_nested_clear_efer_svme.c
31
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
103
vmcb->save.g_pat = INVALID_PAT_VALUE;
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
104
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
106
GUEST_ASSERT_EQ(vmcb->control.exit_code, SVM_EXIT_ERR);
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
63
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
71
vmcb->save.g_pat = L2_VMCB12_PAT;
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
72
vmcb->control.intercept &= ~(1ULL << INTERCEPT_MSR_PROT);
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
75
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
77
GUEST_ASSERT_EQ(vmcb->control.exit_code, SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
84
GUEST_ASSERT_EQ(vmcb->save.g_pat, L2_PAT_MODIFIED);
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
89
vmcb->save.rip += 3; /* skip over VMMCALL */
tools/testing/selftests/kvm/x86/svm_nested_pat_test.c
98
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/svm_nested_shutdown_test.c
24
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/svm_nested_shutdown_test.c
29
vmcb->control.intercept &= ~(BIT(INTERCEPT_SHUTDOWN));
tools/testing/selftests/kvm/x86/svm_nested_shutdown_test.c
36
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
101
vmcb->control.next_rip = vmcb->save.rip;
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
104
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
105
__GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL,
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
107
vmcb->control.exit_code,
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
108
vmcb->control.exit_info_1, vmcb->control.exit_info_2);
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
124
vmcb->save.rip += 3;
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
127
vmcb->save.idtr.base = idt_alt;
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
128
vmcb->control.clean = 0; /* &= ~BIT(VMCB_DT) would be enough */
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
130
vmcb->control.event_inj = BP_VECTOR | SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_EXEPT;
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
132
vmcb->control.next_rip = vmcb->save.rip + 2;
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
134
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
135
__GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_HLT,
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
137
vmcb->control.exit_code,
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
138
vmcb->control.exit_info_1, vmcb->control.exit_info_2);
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
83
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
93
vmcb->control.intercept_exceptions |= BIT(PF_VECTOR) | BIT(UD_VECTOR);
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
94
vmcb->control.intercept |= BIT(INTERCEPT_NMI) | BIT(INTERCEPT_HLT);
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
97
vmcb->control.event_inj = SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_NMI;
tools/testing/selftests/kvm/x86/svm_nested_soft_inject_test.c
99
vmcb->control.event_inj = INT_NR | SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_SOFT;
tools/testing/selftests/kvm/x86/svm_nested_vmcb12_gpa.c
56
run_guest(svm->vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_nested_vmcb12_gpa.c
57
GUEST_ASSERT(svm->vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/svm_vmcall_test.c
24
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/svm_vmcall_test.c
30
run_guest(vmcb, svm->vmcb_gpa);
tools/testing/selftests/kvm/x86/svm_vmcall_test.c
32
GUEST_ASSERT(vmcb->control.exit_code == SVM_EXIT_VMMCALL);
tools/testing/selftests/kvm/x86/triple_fault_event_test.c
45
struct vmcb *vmcb = svm->vmcb;
tools/testing/selftests/kvm/x86/triple_fault_event_test.c
51
vmcb->control.intercept &= ~(BIT(INTERCEPT_SHUTDOWN));
tools/testing/selftests/kvm/x86/triple_fault_event_test.c
53
run_guest(vmcb, svm->vmcb_gpa);