vmcb 153 arch/x86/kvm/svm.c struct vmcb *hsave; vmcb 156 arch/x86/kvm/svm.c u64 vmcb; vmcb 189 arch/x86/kvm/svm.c struct vmcb *vmcb; vmcb 463 arch/x86/kvm/svm.c static inline void mark_all_dirty(struct vmcb *vmcb) vmcb 465 arch/x86/kvm/svm.c vmcb->control.clean = 0; vmcb 468 arch/x86/kvm/svm.c static inline void mark_all_clean(struct vmcb *vmcb) vmcb 470 arch/x86/kvm/svm.c vmcb->control.clean = ((1 << VMCB_DIRTY_MAX) - 1) vmcb 474 arch/x86/kvm/svm.c static inline void mark_dirty(struct vmcb *vmcb, int bit) vmcb 476 arch/x86/kvm/svm.c vmcb->control.clean &= ~(1 << bit); vmcb 486 arch/x86/kvm/svm.c svm->vmcb->control.avic_vapic_bar = data & VMCB_AVIC_APIC_BAR_MASK; vmcb 487 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_AVIC); vmcb 506 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_INTERCEPTS); vmcb 511 arch/x86/kvm/svm.c c = &svm->vmcb->control; vmcb 521 arch/x86/kvm/svm.c static inline struct vmcb *get_host_vmcb(struct vcpu_svm *svm) vmcb 526 arch/x86/kvm/svm.c return svm->vmcb; vmcb 531 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 533 arch/x86/kvm/svm.c vmcb->control.intercept_cr |= (1U << bit); vmcb 540 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 542 arch/x86/kvm/svm.c vmcb->control.intercept_cr &= ~(1U << bit); vmcb 549 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 551 arch/x86/kvm/svm.c return vmcb->control.intercept_cr & (1U << bit); vmcb 556 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 558 arch/x86/kvm/svm.c vmcb->control.intercept_dr = (1 << INTERCEPT_DR0_READ) vmcb 580 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 582 arch/x86/kvm/svm.c vmcb->control.intercept_dr = 0; vmcb 589 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 591 arch/x86/kvm/svm.c vmcb->control.intercept_exceptions |= (1U << bit); vmcb 598 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 600 arch/x86/kvm/svm.c vmcb->control.intercept_exceptions &= ~(1U << bit); vmcb 607 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 609 arch/x86/kvm/svm.c vmcb->control.intercept |= (1ULL << bit); vmcb 616 arch/x86/kvm/svm.c struct vmcb *vmcb = get_host_vmcb(svm); vmcb 618 arch/x86/kvm/svm.c vmcb->control.intercept &= ~(1ULL << bit); vmcb 625 arch/x86/kvm/svm.c return !!(svm->vmcb->control.int_ctl & V_GIF_ENABLE_MASK); vmcb 631 arch/x86/kvm/svm.c svm->vmcb->control.int_ctl |= V_GIF_MASK; vmcb 639 arch/x86/kvm/svm.c svm->vmcb->control.int_ctl &= ~V_GIF_MASK; vmcb 647 arch/x86/kvm/svm.c return !!(svm->vmcb->control.int_ctl & V_GIF_MASK); vmcb 673 arch/x86/kvm/svm.c struct vmcb *current_vmcb; vmcb 676 arch/x86/kvm/svm.c struct vmcb **sev_vmcbs; vmcb 746 arch/x86/kvm/svm.c to_svm(vcpu)->vmcb->save.efer = efer | EFER_SVME; vmcb 747 arch/x86/kvm/svm.c mark_dirty(to_svm(vcpu)->vmcb, VMCB_CR); vmcb 761 arch/x86/kvm/svm.c if (svm->vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK) vmcb 771 arch/x86/kvm/svm.c svm->vmcb->control.int_state &= ~SVM_INTERRUPT_SHADOW_MASK; vmcb 773 arch/x86/kvm/svm.c svm->vmcb->control.int_state |= SVM_INTERRUPT_SHADOW_MASK; vmcb 781 arch/x86/kvm/svm.c if (nrips && svm->vmcb->control.next_rip != 0) { vmcb 783 arch/x86/kvm/svm.c svm->next_rip = svm->vmcb->control.next_rip; vmcb 830 arch/x86/kvm/svm.c svm->int3_rip = rip + svm->vmcb->save.cs.base; vmcb 834 arch/x86/kvm/svm.c svm->vmcb->control.event_inj = nr vmcb 838 arch/x86/kvm/svm.c svm->vmcb->control.event_inj_err = error_code; vmcb 1147 arch/x86/kvm/svm.c svm->vmcb->control.virt_ext |= LBR_CTL_ENABLE_MASK; vmcb 1158 arch/x86/kvm/svm.c svm->vmcb->control.virt_ext &= ~LBR_CTL_ENABLE_MASK; vmcb 1172 arch/x86/kvm/svm.c svm->vmcb->save.rflags &= ~X86_EFLAGS_TF; vmcb 1174 arch/x86/kvm/svm.c svm->vmcb->save.rflags &= ~X86_EFLAGS_RF; vmcb 1267 arch/x86/kvm/svm.c struct vmcb_control_area *control = &svm->vmcb->control; vmcb 1276 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_INTERCEPTS); vmcb 1285 arch/x86/kvm/svm.c struct vmcb_control_area *control = &svm->vmcb->control; vmcb 1294 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_INTERCEPTS); vmcb 1507 arch/x86/kvm/svm.c g_tsc_offset = svm->vmcb->control.tsc_offset - vmcb 1513 arch/x86/kvm/svm.c svm->vmcb->control.tsc_offset - g_tsc_offset, vmcb 1516 arch/x86/kvm/svm.c svm->vmcb->control.tsc_offset = offset + g_tsc_offset; vmcb 1518 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_INTERCEPTS); vmcb 1519 arch/x86/kvm/svm.c return svm->vmcb->control.tsc_offset; vmcb 1524 arch/x86/kvm/svm.c struct vmcb *vmcb = svm->vmcb; vmcb 1530 arch/x86/kvm/svm.c vmcb->control.avic_backing_page = bpa & AVIC_HPA_MASK; vmcb 1531 arch/x86/kvm/svm.c vmcb->control.avic_logical_id = lpa & AVIC_HPA_MASK; vmcb 1532 arch/x86/kvm/svm.c vmcb->control.avic_physical_id = ppa & AVIC_HPA_MASK; vmcb 1533 arch/x86/kvm/svm.c vmcb->control.avic_physical_id |= AVIC_MAX_PHYSICAL_ID_COUNT; vmcb 1534 arch/x86/kvm/svm.c vmcb->control.int_ctl |= AVIC_ENABLE_MASK; vmcb 1539 arch/x86/kvm/svm.c struct vmcb_control_area *control = &svm->vmcb->control; vmcb 1540 arch/x86/kvm/svm.c struct vmcb_save_area *save = &svm->vmcb->save; vmcb 1654 arch/x86/kvm/svm.c svm->nested.vmcb = 0; vmcb 1676 arch/x86/kvm/svm.c svm->vmcb->control.virt_ext |= VIRTUAL_VMLOAD_VMSAVE_ENABLE_MASK; vmcb 1682 arch/x86/kvm/svm.c svm->vmcb->control.int_ctl |= V_GIF_ENABLE_MASK; vmcb 1686 arch/x86/kvm/svm.c svm->vmcb->control.nested_ctl |= SVM_NESTED_CTL_SEV_ENABLE; vmcb 1690 arch/x86/kvm/svm.c mark_all_dirty(svm->vmcb); vmcb 2253 arch/x86/kvm/svm.c svm->vmcb = page_address(page); vmcb 2254 arch/x86/kvm/svm.c clear_page(svm->vmcb); vmcb 2283 arch/x86/kvm/svm.c static void svm_clear_current_vmcb(struct vmcb *vmcb) vmcb 2288 arch/x86/kvm/svm.c cmpxchg(&per_cpu(svm_data, i)->current_vmcb, vmcb, NULL); vmcb 2300 arch/x86/kvm/svm.c svm_clear_current_vmcb(svm->vmcb); vmcb 2320 arch/x86/kvm/svm.c mark_all_dirty(svm->vmcb); vmcb 2344 arch/x86/kvm/svm.c if (sd->current_vmcb != svm->vmcb) { vmcb 2345 arch/x86/kvm/svm.c sd->current_vmcb = svm->vmcb; vmcb 2386 arch/x86/kvm/svm.c unsigned long rflags = svm->vmcb->save.rflags; vmcb 2408 arch/x86/kvm/svm.c to_svm(vcpu)->vmcb->save.rflags = rflags; vmcb 2435 arch/x86/kvm/svm.c struct vmcb_save_area *save = &to_svm(vcpu)->vmcb->save; vmcb 2522 arch/x86/kvm/svm.c var->dpl = to_svm(vcpu)->vmcb->save.cpl; vmcb 2529 arch/x86/kvm/svm.c struct vmcb_save_area *save = &to_svm(vcpu)->vmcb->save; vmcb 2538 arch/x86/kvm/svm.c dt->size = svm->vmcb->save.idtr.limit; vmcb 2539 arch/x86/kvm/svm.c dt->address = svm->vmcb->save.idtr.base; vmcb 2546 arch/x86/kvm/svm.c svm->vmcb->save.idtr.limit = dt->size; vmcb 2547 arch/x86/kvm/svm.c svm->vmcb->save.idtr.base = dt->address ; vmcb 2548 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_DT); vmcb 2555 arch/x86/kvm/svm.c dt->size = svm->vmcb->save.gdtr.limit; vmcb 2556 arch/x86/kvm/svm.c dt->address = svm->vmcb->save.gdtr.base; vmcb 2563 arch/x86/kvm/svm.c svm->vmcb->save.gdtr.limit = dt->size; vmcb 2564 arch/x86/kvm/svm.c svm->vmcb->save.gdtr.base = dt->address ; vmcb 2565 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_DT); vmcb 2583 arch/x86/kvm/svm.c u64 *hcr0 = &svm->vmcb->save.cr0; vmcb 2588 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_CR); vmcb 2607 arch/x86/kvm/svm.c svm->vmcb->save.efer |= EFER_LMA | EFER_LME; vmcb 2612 arch/x86/kvm/svm.c svm->vmcb->save.efer &= ~(EFER_LMA | EFER_LME); vmcb 2628 arch/x86/kvm/svm.c svm->vmcb->save.cr0 = cr0; vmcb 2629 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_CR); vmcb 2636 arch/x86/kvm/svm.c unsigned long old_cr4 = to_svm(vcpu)->vmcb->save.cr4; vmcb 2648 arch/x86/kvm/svm.c to_svm(vcpu)->vmcb->save.cr4 = cr4; vmcb 2649 arch/x86/kvm/svm.c mark_dirty(to_svm(vcpu)->vmcb, VMCB_CR); vmcb 2679 arch/x86/kvm/svm.c svm->vmcb->save.cpl = (var->dpl & 3); vmcb 2681 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_SEG); vmcb 2702 arch/x86/kvm/svm.c svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ALL_ASID; vmcb 2706 arch/x86/kvm/svm.c svm->vmcb->control.asid = sd->next_asid++; vmcb 2708 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_ASID); vmcb 2713 arch/x86/kvm/svm.c return to_svm(vcpu)->vmcb->save.dr6; vmcb 2720 arch/x86/kvm/svm.c svm->vmcb->save.dr6 = value; vmcb 2721 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_DR); vmcb 2733 arch/x86/kvm/svm.c vcpu->arch.dr7 = svm->vmcb->save.dr7; vmcb 2743 arch/x86/kvm/svm.c svm->vmcb->save.dr7 = value; vmcb 2744 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_DR); vmcb 2749 arch/x86/kvm/svm.c u64 fault_address = __sme_clr(svm->vmcb->control.exit_info_2); vmcb 2750 arch/x86/kvm/svm.c u64 error_code = svm->vmcb->control.exit_info_1; vmcb 2754 arch/x86/kvm/svm.c svm->vmcb->control.insn_bytes : NULL, vmcb 2755 arch/x86/kvm/svm.c svm->vmcb->control.insn_len); vmcb 2760 arch/x86/kvm/svm.c u64 fault_address = __sme_clr(svm->vmcb->control.exit_info_2); vmcb 2761 arch/x86/kvm/svm.c u64 error_code = svm->vmcb->control.exit_info_1; vmcb 2766 arch/x86/kvm/svm.c svm->vmcb->control.insn_bytes : NULL, vmcb 2767 arch/x86/kvm/svm.c svm->vmcb->control.insn_len); vmcb 2792 arch/x86/kvm/svm.c svm->vmcb->save.cs.base + svm->vmcb->save.rip; vmcb 2805 arch/x86/kvm/svm.c kvm_run->debug.arch.pc = svm->vmcb->save.cs.base + svm->vmcb->save.rip; vmcb 2824 arch/x86/kvm/svm.c u32 error_code = svm->vmcb->control.exit_info_1; vmcb 2916 arch/x86/kvm/svm.c clear_page(svm->vmcb); vmcb 2926 arch/x86/kvm/svm.c u32 io_info = svm->vmcb->control.exit_info_1; /* address size bug? */ vmcb 2938 arch/x86/kvm/svm.c svm->next_rip = svm->vmcb->control.exit_info_2; vmcb 2995 arch/x86/kvm/svm.c svm->vmcb->control.nested_cr3 = __sme_set(root); vmcb 2996 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_NPT); vmcb 3004 arch/x86/kvm/svm.c if (svm->vmcb->control.exit_code != SVM_EXIT_NPF) { vmcb 3009 arch/x86/kvm/svm.c svm->vmcb->control.exit_code = SVM_EXIT_NPF; vmcb 3010 arch/x86/kvm/svm.c svm->vmcb->control.exit_code_hi = 0; vmcb 3011 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_1 = (1ULL << 32); vmcb 3012 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_2 = fault->address; vmcb 3015 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_1 &= ~0xffffffffULL; vmcb 3016 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_1 |= fault->error_code; vmcb 3022 arch/x86/kvm/svm.c if (svm->vmcb->control.exit_info_1 & (2ULL << 32)) vmcb 3023 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_1 &= ~1; vmcb 3057 arch/x86/kvm/svm.c if (svm->vmcb->save.cpl) { vmcb 3077 arch/x86/kvm/svm.c svm->vmcb->control.exit_code = SVM_EXIT_EXCP_BASE + nr; vmcb 3078 arch/x86/kvm/svm.c svm->vmcb->control.exit_code_hi = 0; vmcb 3079 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_1 = error_code; vmcb 3086 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_2 = svm->vcpu.arch.apf.nested_apf_token; vmcb 3088 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_2 = svm->vcpu.arch.exception.payload; vmcb 3090 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_2 = svm->vcpu.arch.cr2; vmcb 3116 arch/x86/kvm/svm.c svm->vmcb->control.exit_code = SVM_EXIT_INTR; vmcb 3117 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_1 = 0; vmcb 3118 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_2 = 0; vmcb 3128 arch/x86/kvm/svm.c trace_kvm_nested_intr_vmexit(svm->vmcb->save.rip); vmcb 3144 arch/x86/kvm/svm.c svm->vmcb->control.exit_code = SVM_EXIT_NMI; vmcb 3160 arch/x86/kvm/svm.c port = svm->vmcb->control.exit_info_1 >> 16; vmcb 3161 arch/x86/kvm/svm.c size = (svm->vmcb->control.exit_info_1 & SVM_IOIO_SIZE_MASK) >> vmcb 3185 arch/x86/kvm/svm.c write = svm->vmcb->control.exit_info_1 & 1; vmcb 3227 arch/x86/kvm/svm.c u32 exit_code = svm->vmcb->control.exit_code; vmcb 3256 arch/x86/kvm/svm.c u32 exit_code = svm->vmcb->control.exit_code; vmcb 3318 arch/x86/kvm/svm.c static inline void copy_vmcb_control_area(struct vmcb *dst_vmcb, struct vmcb *from_vmcb) vmcb 3353 arch/x86/kvm/svm.c struct vmcb *nested_vmcb; vmcb 3354 arch/x86/kvm/svm.c struct vmcb *hsave = svm->nested.hsave; vmcb 3355 arch/x86/kvm/svm.c struct vmcb *vmcb = svm->vmcb; vmcb 3358 arch/x86/kvm/svm.c trace_kvm_nested_vmexit_inject(vmcb->control.exit_code, vmcb 3359 arch/x86/kvm/svm.c vmcb->control.exit_info_1, vmcb 3360 arch/x86/kvm/svm.c vmcb->control.exit_info_2, vmcb 3361 arch/x86/kvm/svm.c vmcb->control.exit_int_info, vmcb 3362 arch/x86/kvm/svm.c vmcb->control.exit_int_info_err, vmcb 3365 arch/x86/kvm/svm.c rc = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(svm->nested.vmcb), &map); vmcb 3376 arch/x86/kvm/svm.c svm->nested.vmcb = 0; vmcb 3381 arch/x86/kvm/svm.c nested_vmcb->save.es = vmcb->save.es; vmcb 3382 arch/x86/kvm/svm.c nested_vmcb->save.cs = vmcb->save.cs; vmcb 3383 arch/x86/kvm/svm.c nested_vmcb->save.ss = vmcb->save.ss; vmcb 3384 arch/x86/kvm/svm.c nested_vmcb->save.ds = vmcb->save.ds; vmcb 3385 arch/x86/kvm/svm.c nested_vmcb->save.gdtr = vmcb->save.gdtr; vmcb 3386 arch/x86/kvm/svm.c nested_vmcb->save.idtr = vmcb->save.idtr; vmcb 3390 arch/x86/kvm/svm.c nested_vmcb->save.cr2 = vmcb->save.cr2; vmcb 3393 arch/x86/kvm/svm.c nested_vmcb->save.rip = vmcb->save.rip; vmcb 3394 arch/x86/kvm/svm.c nested_vmcb->save.rsp = vmcb->save.rsp; vmcb 3395 arch/x86/kvm/svm.c nested_vmcb->save.rax = vmcb->save.rax; vmcb 3396 arch/x86/kvm/svm.c nested_vmcb->save.dr7 = vmcb->save.dr7; vmcb 3397 arch/x86/kvm/svm.c nested_vmcb->save.dr6 = vmcb->save.dr6; vmcb 3398 arch/x86/kvm/svm.c nested_vmcb->save.cpl = vmcb->save.cpl; vmcb 3400 arch/x86/kvm/svm.c nested_vmcb->control.int_ctl = vmcb->control.int_ctl; vmcb 3401 arch/x86/kvm/svm.c nested_vmcb->control.int_vector = vmcb->control.int_vector; vmcb 3402 arch/x86/kvm/svm.c nested_vmcb->control.int_state = vmcb->control.int_state; vmcb 3403 arch/x86/kvm/svm.c nested_vmcb->control.exit_code = vmcb->control.exit_code; vmcb 3404 arch/x86/kvm/svm.c nested_vmcb->control.exit_code_hi = vmcb->control.exit_code_hi; vmcb 3405 arch/x86/kvm/svm.c nested_vmcb->control.exit_info_1 = vmcb->control.exit_info_1; vmcb 3406 arch/x86/kvm/svm.c nested_vmcb->control.exit_info_2 = vmcb->control.exit_info_2; vmcb 3407 arch/x86/kvm/svm.c nested_vmcb->control.exit_int_info = vmcb->control.exit_int_info; vmcb 3408 arch/x86/kvm/svm.c nested_vmcb->control.exit_int_info_err = vmcb->control.exit_int_info_err; vmcb 3411 arch/x86/kvm/svm.c nested_vmcb->control.next_rip = vmcb->control.next_rip; vmcb 3421 arch/x86/kvm/svm.c if (vmcb->control.event_inj & SVM_EVTINJ_VALID) { vmcb 3424 arch/x86/kvm/svm.c nc->exit_int_info = vmcb->control.event_inj; vmcb 3425 arch/x86/kvm/svm.c nc->exit_int_info_err = vmcb->control.event_inj_err; vmcb 3433 arch/x86/kvm/svm.c svm->vmcb->control.pause_filter_count; vmcb 3435 arch/x86/kvm/svm.c svm->vmcb->control.pause_filter_thresh; vmcb 3442 arch/x86/kvm/svm.c copy_vmcb_control_area(vmcb, hsave); vmcb 3444 arch/x86/kvm/svm.c svm->vcpu.arch.tsc_offset = svm->vmcb->control.tsc_offset; vmcb 3451 arch/x86/kvm/svm.c svm->vmcb->save.es = hsave->save.es; vmcb 3452 arch/x86/kvm/svm.c svm->vmcb->save.cs = hsave->save.cs; vmcb 3453 arch/x86/kvm/svm.c svm->vmcb->save.ss = hsave->save.ss; vmcb 3454 arch/x86/kvm/svm.c svm->vmcb->save.ds = hsave->save.ds; vmcb 3455 arch/x86/kvm/svm.c svm->vmcb->save.gdtr = hsave->save.gdtr; vmcb 3456 arch/x86/kvm/svm.c svm->vmcb->save.idtr = hsave->save.idtr; vmcb 3462 arch/x86/kvm/svm.c svm->vmcb->save.cr3 = hsave->save.cr3; vmcb 3470 arch/x86/kvm/svm.c svm->vmcb->save.dr7 = 0; vmcb 3471 arch/x86/kvm/svm.c svm->vmcb->save.cpl = 0; vmcb 3472 arch/x86/kvm/svm.c svm->vmcb->control.exit_int_info = 0; vmcb 3474 arch/x86/kvm/svm.c mark_all_dirty(svm->vmcb); vmcb 3521 arch/x86/kvm/svm.c svm->vmcb->control.msrpm_base_pa = __sme_set(__pa(svm->nested.msrpm)); vmcb 3526 arch/x86/kvm/svm.c static bool nested_vmcb_checks(struct vmcb *vmcb) vmcb 3528 arch/x86/kvm/svm.c if ((vmcb->control.intercept & (1ULL << INTERCEPT_VMRUN)) == 0) vmcb 3531 arch/x86/kvm/svm.c if (vmcb->control.asid == 0) vmcb 3534 arch/x86/kvm/svm.c if ((vmcb->control.nested_ctl & SVM_NESTED_CTL_NP_ENABLE) && vmcb 3542 arch/x86/kvm/svm.c struct vmcb *nested_vmcb, struct kvm_host_map *map) vmcb 3555 arch/x86/kvm/svm.c svm->vmcb->save.es = nested_vmcb->save.es; vmcb 3556 arch/x86/kvm/svm.c svm->vmcb->save.cs = nested_vmcb->save.cs; vmcb 3557 arch/x86/kvm/svm.c svm->vmcb->save.ss = nested_vmcb->save.ss; vmcb 3558 arch/x86/kvm/svm.c svm->vmcb->save.ds = nested_vmcb->save.ds; vmcb 3559 arch/x86/kvm/svm.c svm->vmcb->save.gdtr = nested_vmcb->save.gdtr; vmcb 3560 arch/x86/kvm/svm.c svm->vmcb->save.idtr = nested_vmcb->save.idtr; vmcb 3566 arch/x86/kvm/svm.c svm->vmcb->save.cr3 = nested_vmcb->save.cr3; vmcb 3574 arch/x86/kvm/svm.c svm->vmcb->save.cr2 = svm->vcpu.arch.cr2 = nested_vmcb->save.cr2; vmcb 3580 arch/x86/kvm/svm.c svm->vmcb->save.rax = nested_vmcb->save.rax; vmcb 3581 arch/x86/kvm/svm.c svm->vmcb->save.rsp = nested_vmcb->save.rsp; vmcb 3582 arch/x86/kvm/svm.c svm->vmcb->save.rip = nested_vmcb->save.rip; vmcb 3583 arch/x86/kvm/svm.c svm->vmcb->save.dr7 = nested_vmcb->save.dr7; vmcb 3584 arch/x86/kvm/svm.c svm->vmcb->save.dr6 = nested_vmcb->save.dr6; vmcb 3585 arch/x86/kvm/svm.c svm->vmcb->save.cpl = nested_vmcb->save.cpl; vmcb 3597 arch/x86/kvm/svm.c svm->vmcb->control.int_ctl = nested_vmcb->control.int_ctl | V_INTR_MASKING_MASK; vmcb 3613 arch/x86/kvm/svm.c svm->vmcb->control.tsc_offset = svm->vcpu.arch.tsc_offset; vmcb 3615 arch/x86/kvm/svm.c svm->vmcb->control.virt_ext = nested_vmcb->control.virt_ext; vmcb 3616 arch/x86/kvm/svm.c svm->vmcb->control.int_vector = nested_vmcb->control.int_vector; vmcb 3617 arch/x86/kvm/svm.c svm->vmcb->control.int_state = nested_vmcb->control.int_state; vmcb 3618 arch/x86/kvm/svm.c svm->vmcb->control.event_inj = nested_vmcb->control.event_inj; vmcb 3619 arch/x86/kvm/svm.c svm->vmcb->control.event_inj_err = nested_vmcb->control.event_inj_err; vmcb 3621 arch/x86/kvm/svm.c svm->vmcb->control.pause_filter_count = vmcb 3623 arch/x86/kvm/svm.c svm->vmcb->control.pause_filter_thresh = vmcb 3637 arch/x86/kvm/svm.c svm->nested.vmcb = vmcb_gpa; vmcb 3641 arch/x86/kvm/svm.c mark_all_dirty(svm->vmcb); vmcb 3647 arch/x86/kvm/svm.c struct vmcb *nested_vmcb; vmcb 3648 arch/x86/kvm/svm.c struct vmcb *hsave = svm->nested.hsave; vmcb 3649 arch/x86/kvm/svm.c struct vmcb *vmcb = svm->vmcb; vmcb 3653 arch/x86/kvm/svm.c vmcb_gpa = svm->vmcb->save.rax; vmcb 3678 arch/x86/kvm/svm.c trace_kvm_nested_vmrun(svm->vmcb->save.rip, vmcb_gpa, vmcb 3697 arch/x86/kvm/svm.c hsave->save.es = vmcb->save.es; vmcb 3698 arch/x86/kvm/svm.c hsave->save.cs = vmcb->save.cs; vmcb 3699 arch/x86/kvm/svm.c hsave->save.ss = vmcb->save.ss; vmcb 3700 arch/x86/kvm/svm.c hsave->save.ds = vmcb->save.ds; vmcb 3701 arch/x86/kvm/svm.c hsave->save.gdtr = vmcb->save.gdtr; vmcb 3702 arch/x86/kvm/svm.c hsave->save.idtr = vmcb->save.idtr; vmcb 3708 arch/x86/kvm/svm.c hsave->save.rsp = vmcb->save.rsp; vmcb 3709 arch/x86/kvm/svm.c hsave->save.rax = vmcb->save.rax; vmcb 3711 arch/x86/kvm/svm.c hsave->save.cr3 = vmcb->save.cr3; vmcb 3715 arch/x86/kvm/svm.c copy_vmcb_control_area(hsave, vmcb); vmcb 3720 arch/x86/kvm/svm.c svm->vmcb->control.exit_code = SVM_EXIT_ERR; vmcb 3721 arch/x86/kvm/svm.c svm->vmcb->control.exit_code_hi = 0; vmcb 3722 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_1 = 0; vmcb 3723 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_2 = 0; vmcb 3731 arch/x86/kvm/svm.c static void nested_svm_vmloadsave(struct vmcb *from_vmcb, struct vmcb *to_vmcb) vmcb 3749 arch/x86/kvm/svm.c struct vmcb *nested_vmcb; vmcb 3756 arch/x86/kvm/svm.c ret = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(svm->vmcb->save.rax), &map); vmcb 3767 arch/x86/kvm/svm.c nested_svm_vmloadsave(nested_vmcb, svm->vmcb); vmcb 3775 arch/x86/kvm/svm.c struct vmcb *nested_vmcb; vmcb 3782 arch/x86/kvm/svm.c ret = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(svm->vmcb->save.rax), &map); vmcb 3793 arch/x86/kvm/svm.c nested_svm_vmloadsave(svm->vmcb, nested_vmcb); vmcb 3843 arch/x86/kvm/svm.c svm->vmcb->control.int_ctl &= ~V_IRQ_MASK; vmcb 3844 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_INTR); vmcb 3854 arch/x86/kvm/svm.c trace_kvm_invlpga(svm->vmcb->save.rip, kvm_rcx_read(&svm->vcpu), vmcb 3865 arch/x86/kvm/svm.c trace_kvm_skinit(svm->vmcb->save.rip, kvm_rax_read(&svm->vcpu)); vmcb 3898 arch/x86/kvm/svm.c int int_type = svm->vmcb->control.exit_int_info & vmcb 3900 arch/x86/kvm/svm.c int int_vec = svm->vmcb->control.exit_int_info & SVM_EVTINJ_VEC_MASK; vmcb 3902 arch/x86/kvm/svm.c svm->vmcb->control.exit_int_info & SVM_EXITINTINFO_TYPE_MASK; vmcb 3904 arch/x86/kvm/svm.c svm->vmcb->control.exit_int_info & SVM_EXITINTINFO_VALID; vmcb 3908 arch/x86/kvm/svm.c tss_selector = (u16)svm->vmcb->control.exit_info_1; vmcb 3910 arch/x86/kvm/svm.c if (svm->vmcb->control.exit_info_2 & vmcb 3913 arch/x86/kvm/svm.c else if (svm->vmcb->control.exit_info_2 & vmcb 3927 arch/x86/kvm/svm.c if (svm->vmcb->control.exit_info_2 & vmcb 3931 arch/x86/kvm/svm.c (u32)svm->vmcb->control.exit_info_2; vmcb 3978 arch/x86/kvm/svm.c kvm_mmu_invlpg(&svm->vcpu, svm->vmcb->control.exit_info_1); vmcb 4020 arch/x86/kvm/svm.c svm->vmcb->control.exit_code = SVM_EXIT_CR0_SEL_WRITE; vmcb 4038 arch/x86/kvm/svm.c if (unlikely((svm->vmcb->control.exit_info_1 & CR_VALID) == 0)) vmcb 4041 arch/x86/kvm/svm.c reg = svm->vmcb->control.exit_info_1 & SVM_EXITINFO_REG_MASK; vmcb 4042 arch/x86/kvm/svm.c if (svm->vmcb->control.exit_code == SVM_EXIT_CR0_SEL_WRITE) vmcb 4045 arch/x86/kvm/svm.c cr = svm->vmcb->control.exit_code - SVM_EXIT_READ_CR0; vmcb 4119 arch/x86/kvm/svm.c reg = svm->vmcb->control.exit_info_1 & SVM_EXITINFO_REG_MASK; vmcb 4120 arch/x86/kvm/svm.c dr = svm->vmcb->control.exit_code - SVM_EXIT_READ_DR0; vmcb 4175 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.star; vmcb 4179 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.lstar; vmcb 4182 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.cstar; vmcb 4185 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.kernel_gs_base; vmcb 4188 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.sfmask; vmcb 4192 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.sysenter_cs; vmcb 4211 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.dbgctl; vmcb 4214 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.br_from; vmcb 4217 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.br_to; vmcb 4220 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.last_excp_from; vmcb 4223 arch/x86/kvm/svm.c msr_info->data = svm->vmcb->save.last_excp_to; vmcb 4313 arch/x86/kvm/svm.c svm->vmcb->save.g_pat = data; vmcb 4314 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_NPT); vmcb 4371 arch/x86/kvm/svm.c svm->vmcb->save.star = data; vmcb 4375 arch/x86/kvm/svm.c svm->vmcb->save.lstar = data; vmcb 4378 arch/x86/kvm/svm.c svm->vmcb->save.cstar = data; vmcb 4381 arch/x86/kvm/svm.c svm->vmcb->save.kernel_gs_base = data; vmcb 4384 arch/x86/kvm/svm.c svm->vmcb->save.sfmask = data; vmcb 4388 arch/x86/kvm/svm.c svm->vmcb->save.sysenter_cs = data; vmcb 4392 arch/x86/kvm/svm.c svm->vmcb->save.sysenter_eip = data; vmcb 4396 arch/x86/kvm/svm.c svm->vmcb->save.sysenter_esp = data; vmcb 4419 arch/x86/kvm/svm.c svm->vmcb->save.dbgctl = data; vmcb 4420 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_LBR); vmcb 4469 arch/x86/kvm/svm.c if (svm->vmcb->control.exit_info_1) vmcb 4479 arch/x86/kvm/svm.c svm->vmcb->control.int_ctl &= ~V_IRQ_MASK; vmcb 4480 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_INTR); vmcb 4523 arch/x86/kvm/svm.c u32 icrh = svm->vmcb->control.exit_info_1 >> 32; vmcb 4524 arch/x86/kvm/svm.c u32 icrl = svm->vmcb->control.exit_info_1; vmcb 4525 arch/x86/kvm/svm.c u32 id = svm->vmcb->control.exit_info_2 >> 32; vmcb 4526 arch/x86/kvm/svm.c u32 index = svm->vmcb->control.exit_info_2 & 0xFF; vmcb 4706 arch/x86/kvm/svm.c u32 offset = svm->vmcb->control.exit_info_1 & vmcb 4762 arch/x86/kvm/svm.c u32 offset = svm->vmcb->control.exit_info_1 & vmcb 4764 arch/x86/kvm/svm.c u32 vector = svm->vmcb->control.exit_info_2 & vmcb 4766 arch/x86/kvm/svm.c bool write = (svm->vmcb->control.exit_info_1 >> 32) & vmcb 4855 arch/x86/kvm/svm.c struct vmcb_control_area *control = &svm->vmcb->control; vmcb 4856 arch/x86/kvm/svm.c struct vmcb_save_area *save = &svm->vmcb->save; vmcb 4970 arch/x86/kvm/svm.c struct vmcb_control_area *control = &to_svm(vcpu)->vmcb->control; vmcb 4980 arch/x86/kvm/svm.c u32 exit_code = svm->vmcb->control.exit_code; vmcb 4985 arch/x86/kvm/svm.c vcpu->arch.cr0 = svm->vmcb->save.cr0; vmcb 4987 arch/x86/kvm/svm.c vcpu->arch.cr3 = svm->vmcb->save.cr3; vmcb 4999 arch/x86/kvm/svm.c trace_kvm_nested_vmexit(svm->vmcb->save.rip, exit_code, vmcb 5000 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_1, vmcb 5001 arch/x86/kvm/svm.c svm->vmcb->control.exit_info_2, vmcb 5002 arch/x86/kvm/svm.c svm->vmcb->control.exit_int_info, vmcb 5003 arch/x86/kvm/svm.c svm->vmcb->control.exit_int_info_err, vmcb 5017 arch/x86/kvm/svm.c if (svm->vmcb->control.exit_code == SVM_EXIT_ERR) { vmcb 5020 arch/x86/kvm/svm.c = svm->vmcb->control.exit_code; vmcb 5025 arch/x86/kvm/svm.c if (is_external_interrupt(svm->vmcb->control.exit_int_info) && vmcb 5031 arch/x86/kvm/svm.c __func__, svm->vmcb->control.exit_int_info, vmcb 5064 arch/x86/kvm/svm.c svm->vmcb->control.asid = asid; vmcb 5072 arch/x86/kvm/svm.c if (sd->sev_vmcbs[asid] == svm->vmcb && vmcb 5077 arch/x86/kvm/svm.c sd->sev_vmcbs[asid] = svm->vmcb; vmcb 5078 arch/x86/kvm/svm.c svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ASID; vmcb 5079 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_ASID); vmcb 5100 arch/x86/kvm/svm.c svm->vmcb->control.event_inj = SVM_EVTINJ_VALID | SVM_EVTINJ_TYPE_NMI; vmcb 5111 arch/x86/kvm/svm.c control = &svm->vmcb->control; vmcb 5116 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_INTR); vmcb 5128 arch/x86/kvm/svm.c svm->vmcb->control.event_inj = vcpu->arch.interrupt.nr | vmcb 5176 arch/x86/kvm/svm.c struct vmcb *vmcb = svm->vmcb; vmcb 5179 arch/x86/kvm/svm.c vmcb->control.int_ctl |= AVIC_ENABLE_MASK; vmcb 5181 arch/x86/kvm/svm.c vmcb->control.int_ctl &= ~AVIC_ENABLE_MASK; vmcb 5182 arch/x86/kvm/svm.c mark_dirty(vmcb, VMCB_AVIC); vmcb 5423 arch/x86/kvm/svm.c struct vmcb *vmcb = svm->vmcb; vmcb 5425 arch/x86/kvm/svm.c ret = !(vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK) && vmcb 5455 arch/x86/kvm/svm.c struct vmcb *vmcb = svm->vmcb; vmcb 5459 arch/x86/kvm/svm.c (vmcb->control.int_state & SVM_INTERRUPT_SHADOW_MASK)) vmcb 5514 arch/x86/kvm/svm.c svm->vmcb->save.rflags |= (X86_EFLAGS_TF | X86_EFLAGS_RF); vmcb 5532 arch/x86/kvm/svm.c svm->vmcb->control.tlb_ctl = TLB_CONTROL_FLUSH_ASID; vmcb 5541 arch/x86/kvm/svm.c invlpga(gva, svm->vmcb->control.asid); vmcb 5556 arch/x86/kvm/svm.c int cr8 = svm->vmcb->control.int_ctl & V_TPR_MASK; vmcb 5571 arch/x86/kvm/svm.c svm->vmcb->control.int_ctl &= ~V_TPR_MASK; vmcb 5572 arch/x86/kvm/svm.c svm->vmcb->control.int_ctl |= cr8 & V_TPR_MASK; vmcb 5579 arch/x86/kvm/svm.c u32 exitintinfo = svm->vmcb->control.exit_int_info; vmcb 5625 arch/x86/kvm/svm.c u32 err = svm->vmcb->control.exit_int_info_err; vmcb 5642 arch/x86/kvm/svm.c struct vmcb_control_area *control = &svm->vmcb->control; vmcb 5654 arch/x86/kvm/svm.c svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX]; vmcb 5655 arch/x86/kvm/svm.c svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP]; vmcb 5656 arch/x86/kvm/svm.c svm->vmcb->save.rip = vcpu->arch.regs[VCPU_REGS_RIP]; vmcb 5671 arch/x86/kvm/svm.c if (svm->nmi_singlestep && svm->vmcb->control.event_inj) { vmcb 5685 arch/x86/kvm/svm.c svm->vmcb->save.cr2 = vcpu->arch.cr2; vmcb 5768 arch/x86/kvm/svm.c [vmcb]"i"(offsetof(struct vcpu_svm, vmcb_pa)), vmcb 5830 arch/x86/kvm/svm.c vcpu->arch.cr2 = svm->vmcb->save.cr2; vmcb 5831 arch/x86/kvm/svm.c vcpu->arch.regs[VCPU_REGS_RAX] = svm->vmcb->save.rax; vmcb 5832 arch/x86/kvm/svm.c vcpu->arch.regs[VCPU_REGS_RSP] = svm->vmcb->save.rsp; vmcb 5833 arch/x86/kvm/svm.c vcpu->arch.regs[VCPU_REGS_RIP] = svm->vmcb->save.rip; vmcb 5835 arch/x86/kvm/svm.c if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) vmcb 5843 arch/x86/kvm/svm.c if (unlikely(svm->vmcb->control.exit_code == SVM_EXIT_NMI)) vmcb 5850 arch/x86/kvm/svm.c svm->vmcb->control.tlb_ctl = TLB_CONTROL_DO_NOTHING; vmcb 5853 arch/x86/kvm/svm.c if (svm->vmcb->control.exit_code == SVM_EXIT_EXCP_BASE + PF_VECTOR) vmcb 5865 arch/x86/kvm/svm.c if (unlikely(svm->vmcb->control.exit_code == vmcb 5869 arch/x86/kvm/svm.c mark_all_clean(svm->vmcb); vmcb 5877 arch/x86/kvm/svm.c svm->vmcb->save.cr3 = __sme_set(root); vmcb 5878 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_CR); vmcb 5885 arch/x86/kvm/svm.c svm->vmcb->control.nested_cr3 = __sme_set(root); vmcb 5886 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_NPT); vmcb 5889 arch/x86/kvm/svm.c svm->vmcb->save.cr3 = kvm_read_cr3(vcpu); vmcb 5890 arch/x86/kvm/svm.c mark_dirty(svm->vmcb, VMCB_CR); vmcb 6116 arch/x86/kvm/svm.c struct vmcb *vmcb = svm->vmcb; vmcb 6169 arch/x86/kvm/svm.c vmcb->control.exit_info_1 = 1; vmcb 6171 arch/x86/kvm/svm.c vmcb->control.exit_info_1 = 0; vmcb 6208 arch/x86/kvm/svm.c vmcb->control.exit_info_1 = exit_info; vmcb 6209 arch/x86/kvm/svm.c vmcb->control.exit_info_2 = info->next_rip; vmcb 6219 arch/x86/kvm/svm.c vmcb->control.next_rip = info->next_rip; vmcb 6220 arch/x86/kvm/svm.c vmcb->control.exit_code = icpt_info.exit_code; vmcb 6266 arch/x86/kvm/svm.c svm->vmcb->control.exit_code = SVM_EXIT_SMI; vmcb 6283 arch/x86/kvm/svm.c put_smstate(u64, smstate, 0x7ee0, svm->nested.vmcb); vmcb 6285 arch/x86/kvm/svm.c svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX]; vmcb 6286 arch/x86/kvm/svm.c svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP]; vmcb 6287 arch/x86/kvm/svm.c svm->vmcb->save.rip = vcpu->arch.regs[VCPU_REGS_RIP]; vmcb 6299 arch/x86/kvm/svm.c struct vmcb *nested_vmcb; vmcb 6302 arch/x86/kvm/svm.c u64 vmcb; vmcb 6305 arch/x86/kvm/svm.c vmcb = GET_SMSTATE(u64, smstate, 0x7ee0); vmcb 6308 arch/x86/kvm/svm.c if (kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(vmcb), &map) == -EINVAL) vmcb 6311 arch/x86/kvm/svm.c enter_svm_guest_mode(svm, vmcb, nested_vmcb, &map); vmcb 7234 arch/x86/kvm/svm.c (svm->vmcb->control.intercept & (1ULL << INTERCEPT_INIT)); vmcb 505 arch/x86/kvm/trace.h TP_PROTO(__u64 rip, __u64 vmcb, __u64 nested_rip, __u32 int_ctl, vmcb 507 arch/x86/kvm/trace.h TP_ARGS(rip, vmcb, nested_rip, int_ctl, event_inj, npt), vmcb 511 arch/x86/kvm/trace.h __field( __u64, vmcb ) vmcb 520 arch/x86/kvm/trace.h __entry->vmcb = vmcb; vmcb 529 arch/x86/kvm/trace.h __entry->rip, __entry->vmcb, __entry->nested_rip,