Lines Matching full:save
67 struct vmcb_save_area *save = &vmcb->save; in generic_svm_setup() local
81 vmcb_set_seg(&save->es, get_es(), 0, -1U, data_seg_attr); in generic_svm_setup()
82 vmcb_set_seg(&save->cs, get_cs(), 0, -1U, code_seg_attr); in generic_svm_setup()
83 vmcb_set_seg(&save->ss, get_ss(), 0, -1U, data_seg_attr); in generic_svm_setup()
84 vmcb_set_seg(&save->ds, get_ds(), 0, -1U, data_seg_attr); in generic_svm_setup()
85 vmcb_set_seg(&save->gdtr, 0, get_gdt().address, get_gdt().size, 0); in generic_svm_setup()
86 vmcb_set_seg(&save->idtr, 0, get_idt().address, get_idt().size, 0); in generic_svm_setup()
89 save->cpl = 0; in generic_svm_setup()
90 save->efer = rdmsr(MSR_EFER); in generic_svm_setup()
91 asm volatile ("mov %%cr4, %0" : "=r"(save->cr4) : : "memory"); in generic_svm_setup()
92 asm volatile ("mov %%cr3, %0" : "=r"(save->cr3) : : "memory"); in generic_svm_setup()
93 asm volatile ("mov %%cr0, %0" : "=r"(save->cr0) : : "memory"); in generic_svm_setup()
94 asm volatile ("mov %%dr7, %0" : "=r"(save->dr7) : : "memory"); in generic_svm_setup()
95 asm volatile ("mov %%dr6, %0" : "=r"(save->dr6) : : "memory"); in generic_svm_setup()
96 asm volatile ("mov %%cr2, %0" : "=r"(save->cr2) : : "memory"); in generic_svm_setup()
97 save->g_pat = rdmsr(MSR_IA32_CR_PAT); in generic_svm_setup()
98 save->dbgctl = rdmsr(MSR_IA32_DEBUGCTLMSR); in generic_svm_setup()
103 vmcb->save.rip = (u64)guest_rip; in generic_svm_setup()
104 vmcb->save.rsp = (u64)guest_rsp; in generic_svm_setup()
109 * save/restore 64-bit general registers except rax, rip, rsp