• Home
  • Raw
  • Download

Lines Matching full:save

177 /* enable/disable Next RIP Save */
303 svm->vmcb->save.efer = efer | EFER_SVME; in svm_set_efer()
376 svm->int3_rip = rip + svm->vmcb->save.cs.base; in svm_queue_exception()
799 svm->vmcb->save.rflags &= ~X86_EFLAGS_TF; in disable_nmi_singlestep()
801 svm->vmcb->save.rflags &= ~X86_EFLAGS_RF; in disable_nmi_singlestep()
1110 struct vmcb_save_area *save = &svm->vmcb->save; in init_vmcb() local
1176 init_seg(&save->es); in init_vmcb()
1177 init_seg(&save->ss); in init_vmcb()
1178 init_seg(&save->ds); in init_vmcb()
1179 init_seg(&save->fs); in init_vmcb()
1180 init_seg(&save->gs); in init_vmcb()
1182 save->cs.selector = 0xf000; in init_vmcb()
1183 save->cs.base = 0xffff0000; in init_vmcb()
1185 save->cs.attrib = SVM_SELECTOR_READ_MASK | SVM_SELECTOR_P_MASK | in init_vmcb()
1187 save->cs.limit = 0xffff; in init_vmcb()
1189 save->gdtr.limit = 0xffff; in init_vmcb()
1190 save->idtr.limit = 0xffff; in init_vmcb()
1192 init_sys_seg(&save->ldtr, SEG_TYPE_LDT); in init_vmcb()
1193 init_sys_seg(&save->tr, SEG_TYPE_BUSY_TSS16); in init_vmcb()
1197 save->dr6 = 0xffff0ff0; in init_vmcb()
1199 save->rip = 0x0000fff0; in init_vmcb()
1200 svm->vcpu.arch.regs[VCPU_REGS_RIP] = save->rip; in init_vmcb()
1203 * svm_set_cr0() sets PG and WP and clears NW and CD on save->cr0. in init_vmcb()
1209 save->cr4 = X86_CR4_PAE; in init_vmcb()
1219 save->g_pat = svm->vcpu.arch.pat; in init_vmcb()
1220 save->cr3 = 0; in init_vmcb()
1221 save->cr4 = 0; in init_vmcb()
1430 unsigned long rflags = svm->vmcb->save.rflags; in svm_get_rflags()
1452 to_svm(vcpu)->vmcb->save.rflags = rflags; in svm_set_rflags()
1509 struct vmcb_save_area *save = &to_svm(vcpu)->vmcb->save; in svm_seg() local
1512 case VCPU_SREG_CS: return &save->cs; in svm_seg()
1513 case VCPU_SREG_DS: return &save->ds; in svm_seg()
1514 case VCPU_SREG_ES: return &save->es; in svm_seg()
1515 case VCPU_SREG_FS: return &save->fs; in svm_seg()
1516 case VCPU_SREG_GS: return &save->gs; in svm_seg()
1517 case VCPU_SREG_SS: return &save->ss; in svm_seg()
1518 case VCPU_SREG_TR: return &save->tr; in svm_seg()
1519 case VCPU_SREG_LDTR: return &save->ldtr; in svm_seg()
1596 var->dpl = to_svm(vcpu)->vmcb->save.cpl; in svm_get_segment()
1603 struct vmcb_save_area *save = &to_svm(vcpu)->vmcb->save; in svm_get_cpl() local
1605 return save->cpl; in svm_get_cpl()
1612 dt->size = svm->vmcb->save.idtr.limit; in svm_get_idt()
1613 dt->address = svm->vmcb->save.idtr.base; in svm_get_idt()
1620 svm->vmcb->save.idtr.limit = dt->size; in svm_set_idt()
1621 svm->vmcb->save.idtr.base = dt->address ; in svm_set_idt()
1629 dt->size = svm->vmcb->save.gdtr.limit; in svm_get_gdt()
1630 dt->address = svm->vmcb->save.gdtr.base; in svm_get_gdt()
1637 svm->vmcb->save.gdtr.limit = dt->size; in svm_set_gdt()
1638 svm->vmcb->save.gdtr.base = dt->address ; in svm_set_gdt()
1645 u64 *hcr0 = &svm->vmcb->save.cr0; in update_cr0_intercept()
1669 svm->vmcb->save.efer |= EFER_LMA | EFER_LME; in svm_set_cr0()
1674 svm->vmcb->save.efer &= ~(EFER_LMA | EFER_LME); in svm_set_cr0()
1690 svm->vmcb->save.cr0 = cr0; in svm_set_cr0()
1698 unsigned long old_cr4 = to_svm(vcpu)->vmcb->save.cr4; in svm_set_cr4()
1710 to_svm(vcpu)->vmcb->save.cr4 = cr4; in svm_set_cr4()
1741 svm->vmcb->save.cpl = (var->dpl & 3); in svm_set_segment()
1776 if (unlikely(value != vmcb->save.dr6)) { in svm_set_dr6()
1777 vmcb->save.dr6 = value; in svm_set_dr6()
1791 * We cannot reset svm->vmcb->save.dr6 to DR6_FIXED_1|DR6_RTM here, in svm_sync_dirty_debug_regs()
1794 vcpu->arch.dr6 = svm->vmcb->save.dr6; in svm_sync_dirty_debug_regs()
1795 vcpu->arch.dr7 = svm->vmcb->save.dr7; in svm_sync_dirty_debug_regs()
1804 svm->vmcb->save.dr7 = value; in svm_set_dr7()
1839 u32 payload = (svm->vmcb->save.dr6 ^ DR6_RTM) & ~DR6_FIXED_1; in db_interception()
1853 kvm_run->debug.arch.dr6 = svm->vmcb->save.dr6; in db_interception()
1854 kvm_run->debug.arch.dr7 = svm->vmcb->save.dr7; in db_interception()
1856 svm->vmcb->save.cs.base + svm->vmcb->save.rip; in db_interception()
1869 kvm_run->debug.arch.pc = svm->vmcb->save.cs.base + svm->vmcb->save.rip; in bp_interception()
2057 ret = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(svm->vmcb->save.rax), &map); in vmload_interception()
2083 ret = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(svm->vmcb->save.rax), &map); in vmsave_interception()
2168 trace_kvm_invlpga(svm->vmcb->save.rip, kvm_rcx_read(&svm->vcpu), in invlpga_interception()
2179 trace_kvm_skinit(svm->vmcb->save.rip, kvm_rax_read(&svm->vcpu)); in skinit_interception()
2496 msr_info->data = svm->vmcb->save.star; in svm_get_msr()
2500 msr_info->data = svm->vmcb->save.lstar; in svm_get_msr()
2503 msr_info->data = svm->vmcb->save.cstar; in svm_get_msr()
2506 msr_info->data = svm->vmcb->save.kernel_gs_base; in svm_get_msr()
2509 msr_info->data = svm->vmcb->save.sfmask; in svm_get_msr()
2513 msr_info->data = svm->vmcb->save.sysenter_cs; in svm_get_msr()
2535 msr_info->data = svm->vmcb->save.dbgctl; in svm_get_msr()
2538 msr_info->data = svm->vmcb->save.br_from; in svm_get_msr()
2541 msr_info->data = svm->vmcb->save.br_to; in svm_get_msr()
2544 msr_info->data = svm->vmcb->save.last_excp_from; in svm_get_msr()
2547 msr_info->data = svm->vmcb->save.last_excp_to; in svm_get_msr()
2636 svm->vmcb->save.g_pat = data; in svm_set_msr()
2690 svm->vmcb->save.star = data; in svm_set_msr()
2694 svm->vmcb->save.lstar = data; in svm_set_msr()
2697 svm->vmcb->save.cstar = data; in svm_set_msr()
2700 svm->vmcb->save.kernel_gs_base = data; in svm_set_msr()
2703 svm->vmcb->save.sfmask = data; in svm_set_msr()
2707 svm->vmcb->save.sysenter_cs = data; in svm_set_msr()
2711 svm->vmcb->save.sysenter_eip = data; in svm_set_msr()
2715 svm->vmcb->save.sysenter_esp = data; in svm_set_msr()
2742 svm->vmcb->save.dbgctl = data; in svm_set_msr()
2952 struct vmcb_save_area *save = &svm->vmcb->save; in dump_vmcb() local
2994 pr_err("VMCB State Save Area:\n"); in dump_vmcb()
2997 save->es.selector, save->es.attrib, in dump_vmcb()
2998 save->es.limit, save->es.base); in dump_vmcb()
3001 save->cs.selector, save->cs.attrib, in dump_vmcb()
3002 save->cs.limit, save->cs.base); in dump_vmcb()
3005 save->ss.selector, save->ss.attrib, in dump_vmcb()
3006 save->ss.limit, save->ss.base); in dump_vmcb()
3009 save->ds.selector, save->ds.attrib, in dump_vmcb()
3010 save->ds.limit, save->ds.base); in dump_vmcb()
3013 save->fs.selector, save->fs.attrib, in dump_vmcb()
3014 save->fs.limit, save->fs.base); in dump_vmcb()
3017 save->gs.selector, save->gs.attrib, in dump_vmcb()
3018 save->gs.limit, save->gs.base); in dump_vmcb()
3021 save->gdtr.selector, save->gdtr.attrib, in dump_vmcb()
3022 save->gdtr.limit, save->gdtr.base); in dump_vmcb()
3025 save->ldtr.selector, save->ldtr.attrib, in dump_vmcb()
3026 save->ldtr.limit, save->ldtr.base); in dump_vmcb()
3029 save->idtr.selector, save->idtr.attrib, in dump_vmcb()
3030 save->idtr.limit, save->idtr.base); in dump_vmcb()
3033 save->tr.selector, save->tr.attrib, in dump_vmcb()
3034 save->tr.limit, save->tr.base); in dump_vmcb()
3036 save->cpl, save->efer); in dump_vmcb()
3038 "cr0:", save->cr0, "cr2:", save->cr2); in dump_vmcb()
3040 "cr3:", save->cr3, "cr4:", save->cr4); in dump_vmcb()
3042 "dr6:", save->dr6, "dr7:", save->dr7); in dump_vmcb()
3044 "rip:", save->rip, "rflags:", save->rflags); in dump_vmcb()
3046 "rsp:", save->rsp, "rax:", save->rax); in dump_vmcb()
3048 "star:", save->star, "lstar:", save->lstar); in dump_vmcb()
3050 "cstar:", save->cstar, "sfmask:", save->sfmask); in dump_vmcb()
3052 "kernel_gs_base:", save->kernel_gs_base, in dump_vmcb()
3053 "sysenter_cs:", save->sysenter_cs); in dump_vmcb()
3055 "sysenter_esp:", save->sysenter_esp, in dump_vmcb()
3056 "sysenter_eip:", save->sysenter_eip); in dump_vmcb()
3058 "gpat:", save->g_pat, "dbgctl:", save->dbgctl); in dump_vmcb()
3060 "br_from:", save->br_from, "br_to:", save->br_to); in dump_vmcb()
3062 "excp_from:", save->last_excp_from, in dump_vmcb()
3063 "excp_to:", save->last_excp_to); in dump_vmcb()
3090 vcpu->arch.cr0 = svm->vmcb->save.cr0; in handle_exit()
3092 vcpu->arch.cr3 = svm->vmcb->save.cr3; in handle_exit()
3278 ? !(svm->nested.hsave->save.rflags & X86_EFLAGS_IF) in svm_interrupt_blocked()
3353 svm->vmcb->save.rflags |= (X86_EFLAGS_TF | X86_EFLAGS_RF); in enable_nmi_window()
3565 svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX]; in svm_vcpu_run()
3566 svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP]; in svm_vcpu_run()
3567 svm->vmcb->save.rip = vcpu->arch.regs[VCPU_REGS_RIP]; in svm_vcpu_run()
3589 svm->vmcb->save.cr2 = vcpu->arch.cr2; in svm_vcpu_run()
3617 * SPEC_CTRL MSR it may have left it on; save the value and in svm_vcpu_run()
3619 * it to the atomic save/restore list. Especially as the former in svm_vcpu_run()
3624 * save it. in svm_vcpu_run()
3628 * save it. in svm_vcpu_run()
3637 vcpu->arch.cr2 = svm->vmcb->save.cr2; in svm_vcpu_run()
3638 vcpu->arch.regs[VCPU_REGS_RAX] = svm->vmcb->save.rax; in svm_vcpu_run()
3639 vcpu->arch.regs[VCPU_REGS_RSP] = svm->vmcb->save.rsp; in svm_vcpu_run()
3640 vcpu->arch.regs[VCPU_REGS_RIP] = svm->vmcb->save.rip; in svm_vcpu_run()
3707 svm->vmcb->save.cr3 = cr3; in svm_load_mmu_pgd()
4046 svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX]; in svm_pre_enter_smm()
4047 svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP]; in svm_pre_enter_smm()
4048 svm->vmcb->save.rip = vcpu->arch.regs[VCPU_REGS_RIP]; in svm_pre_enter_smm()