Lines Matching refs:save

303 	svm->vmcb->save.efer = efer | EFER_SVME;
370 svm->int3_rip = rip + svm->vmcb->save.cs.base;
793 svm->vmcb->save.rflags &= ~X86_EFLAGS_TF;
795 svm->vmcb->save.rflags &= ~X86_EFLAGS_RF;
1104 struct vmcb_save_area *save = &svm->vmcb->save;
1170 init_seg(&save->es);
1171 init_seg(&save->ss);
1172 init_seg(&save->ds);
1173 init_seg(&save->fs);
1174 init_seg(&save->gs);
1176 save->cs.selector = 0xf000;
1177 save->cs.base = 0xffff0000;
1179 save->cs.attrib = SVM_SELECTOR_READ_MASK | SVM_SELECTOR_P_MASK |
1181 save->cs.limit = 0xffff;
1183 save->gdtr.limit = 0xffff;
1184 save->idtr.limit = 0xffff;
1186 init_sys_seg(&save->ldtr, SEG_TYPE_LDT);
1187 init_sys_seg(&save->tr, SEG_TYPE_BUSY_TSS16);
1191 save->dr6 = 0xffff0ff0;
1193 save->rip = 0x0000fff0;
1194 svm->vcpu.arch.regs[VCPU_REGS_RIP] = save->rip;
1197 * svm_set_cr0() sets PG and WP and clears NW and CD on save->cr0.
1203 save->cr4 = X86_CR4_PAE;
1213 save->g_pat = svm->vcpu.arch.pat;
1214 save->cr3 = 0;
1215 save->cr4 = 0;
1427 unsigned long rflags = svm->vmcb->save.rflags;
1449 to_svm(vcpu)->vmcb->save.rflags = rflags;
1506 struct vmcb_save_area *save = &to_svm(vcpu)->vmcb->save;
1509 case VCPU_SREG_CS: return &save->cs;
1510 case VCPU_SREG_DS: return &save->ds;
1511 case VCPU_SREG_ES: return &save->es;
1512 case VCPU_SREG_FS: return &save->fs;
1513 case VCPU_SREG_GS: return &save->gs;
1514 case VCPU_SREG_SS: return &save->ss;
1515 case VCPU_SREG_TR: return &save->tr;
1516 case VCPU_SREG_LDTR: return &save->ldtr;
1593 var->dpl = to_svm(vcpu)->vmcb->save.cpl;
1600 struct vmcb_save_area *save = &to_svm(vcpu)->vmcb->save;
1602 return save->cpl;
1609 dt->size = svm->vmcb->save.idtr.limit;
1610 dt->address = svm->vmcb->save.idtr.base;
1617 svm->vmcb->save.idtr.limit = dt->size;
1618 svm->vmcb->save.idtr.base = dt->address ;
1626 dt->size = svm->vmcb->save.gdtr.limit;
1627 dt->address = svm->vmcb->save.gdtr.base;
1634 svm->vmcb->save.gdtr.limit = dt->size;
1635 svm->vmcb->save.gdtr.base = dt->address ;
1642 u64 *hcr0 = &svm->vmcb->save.cr0;
1666 svm->vmcb->save.efer |= EFER_LMA | EFER_LME;
1671 svm->vmcb->save.efer &= ~(EFER_LMA | EFER_LME);
1687 svm->vmcb->save.cr0 = cr0;
1700 unsigned long old_cr4 = to_svm(vcpu)->vmcb->save.cr4;
1709 to_svm(vcpu)->vmcb->save.cr4 = cr4;
1739 svm->vmcb->save.cpl = (var->dpl & 3);
1774 if (unlikely(value != vmcb->save.dr6)) {
1775 vmcb->save.dr6 = value;
1789 * We cannot reset svm->vmcb->save.dr6 to DR6_FIXED_1|DR6_RTM here,
1792 vcpu->arch.dr6 = svm->vmcb->save.dr6;
1793 vcpu->arch.dr7 = svm->vmcb->save.dr7;
1802 svm->vmcb->save.dr7 = value;
1837 u32 payload = (svm->vmcb->save.dr6 ^ DR6_RTM) & ~DR6_FIXED_1;
1851 kvm_run->debug.arch.dr6 = svm->vmcb->save.dr6;
1852 kvm_run->debug.arch.dr7 = svm->vmcb->save.dr7;
1854 svm->vmcb->save.cs.base + svm->vmcb->save.rip;
1867 kvm_run->debug.arch.pc = svm->vmcb->save.cs.base + svm->vmcb->save.rip;
2055 ret = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(svm->vmcb->save.rax), &map);
2081 ret = kvm_vcpu_map(&svm->vcpu, gpa_to_gfn(svm->vmcb->save.rax), &map);
2166 trace_kvm_invlpga(svm->vmcb->save.rip, kvm_rcx_read(&svm->vcpu),
2177 trace_kvm_skinit(svm->vmcb->save.rip, kvm_rax_read(&svm->vcpu));
2494 msr_info->data = svm->vmcb->save.star;
2498 msr_info->data = svm->vmcb->save.lstar;
2501 msr_info->data = svm->vmcb->save.cstar;
2504 msr_info->data = svm->vmcb->save.kernel_gs_base;
2507 msr_info->data = svm->vmcb->save.sfmask;
2511 msr_info->data = svm->vmcb->save.sysenter_cs;
2533 msr_info->data = svm->vmcb->save.dbgctl;
2536 msr_info->data = svm->vmcb->save.br_from;
2539 msr_info->data = svm->vmcb->save.br_to;
2542 msr_info->data = svm->vmcb->save.last_excp_from;
2545 msr_info->data = svm->vmcb->save.last_excp_to;
2634 svm->vmcb->save.g_pat = data;
2688 svm->vmcb->save.star = data;
2692 svm->vmcb->save.lstar = data;
2695 svm->vmcb->save.cstar = data;
2698 svm->vmcb->save.kernel_gs_base = data;
2701 svm->vmcb->save.sfmask = data;
2705 svm->vmcb->save.sysenter_cs = data;
2709 svm->vmcb->save.sysenter_eip = data;
2713 svm->vmcb->save.sysenter_esp = data;
2740 svm->vmcb->save.dbgctl = data;
2950 struct vmcb_save_area *save = &svm->vmcb->save;
2995 save->es.selector, save->es.attrib,
2996 save->es.limit, save->es.base);
2999 save->cs.selector, save->cs.attrib,
3000 save->cs.limit, save->cs.base);
3003 save->ss.selector, save->ss.attrib,
3004 save->ss.limit, save->ss.base);
3007 save->ds.selector, save->ds.attrib,
3008 save->ds.limit, save->ds.base);
3011 save->fs.selector, save->fs.attrib,
3012 save->fs.limit, save->fs.base);
3015 save->gs.selector, save->gs.attrib,
3016 save->gs.limit, save->gs.base);
3019 save->gdtr.selector, save->gdtr.attrib,
3020 save->gdtr.limit, save->gdtr.base);
3023 save->ldtr.selector, save->ldtr.attrib,
3024 save->ldtr.limit, save->ldtr.base);
3027 save->idtr.selector, save->idtr.attrib,
3028 save->idtr.limit, save->idtr.base);
3031 save->tr.selector, save->tr.attrib,
3032 save->tr.limit, save->tr.base);
3034 save->cpl, save->efer);
3036 "cr0:", save->cr0, "cr2:", save->cr2);
3038 "cr3:", save->cr3, "cr4:", save->cr4);
3040 "dr6:", save->dr6, "dr7:", save->dr7);
3042 "rip:", save->rip, "rflags:", save->rflags);
3044 "rsp:", save->rsp, "rax:", save->rax);
3046 "star:", save->star, "lstar:", save->lstar);
3048 "cstar:", save->cstar, "sfmask:", save->sfmask);
3050 "kernel_gs_base:", save->kernel_gs_base,
3051 "sysenter_cs:", save->sysenter_cs);
3053 "sysenter_esp:", save->sysenter_esp,
3054 "sysenter_eip:", save->sysenter_eip);
3056 "gpat:", save->g_pat, "dbgctl:", save->dbgctl);
3058 "br_from:", save->br_from, "br_to:", save->br_to);
3060 "excp_from:", save->last_excp_from,
3061 "excp_to:", save->last_excp_to);
3088 vcpu->arch.cr0 = svm->vmcb->save.cr0;
3090 vcpu->arch.cr3 = svm->vmcb->save.cr3;
3265 ? !(svm->nested.hsave->save.rflags & X86_EFLAGS_IF)
3340 svm->vmcb->save.rflags |= (X86_EFLAGS_TF | X86_EFLAGS_RF);
3559 svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX];
3560 svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP];
3561 svm->vmcb->save.rip = vcpu->arch.regs[VCPU_REGS_RIP];
3583 svm->vmcb->save.cr2 = vcpu->arch.cr2;
3611 * SPEC_CTRL MSR it may have left it on; save the value and
3613 * it to the atomic save/restore list. Especially as the former
3618 * save it.
3622 * save it.
3631 vcpu->arch.cr2 = svm->vmcb->save.cr2;
3632 vcpu->arch.regs[VCPU_REGS_RAX] = svm->vmcb->save.rax;
3633 vcpu->arch.regs[VCPU_REGS_RSP] = svm->vmcb->save.rsp;
3634 vcpu->arch.regs[VCPU_REGS_RIP] = svm->vmcb->save.rip;
3701 svm->vmcb->save.cr3 = cr3;
4040 svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX];
4041 svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP];
4042 svm->vmcb->save.rip = vcpu->arch.regs[VCPU_REGS_RIP];