Lines Matching refs:save
4952 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.gdtr.base), env->gdt.base); in helper_vmrun()
4953 stl_phys(env->vm_hsave + offsetof(struct vmcb, save.gdtr.limit), env->gdt.limit); in helper_vmrun()
4955 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.idtr.base), env->idt.base); in helper_vmrun()
4956 stl_phys(env->vm_hsave + offsetof(struct vmcb, save.idtr.limit), env->idt.limit); in helper_vmrun()
4958 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.cr0), env->cr[0]); in helper_vmrun()
4959 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.cr2), env->cr[2]); in helper_vmrun()
4960 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.cr3), env->cr[3]); in helper_vmrun()
4961 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.cr4), env->cr[4]); in helper_vmrun()
4962 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.dr6), env->dr[6]); in helper_vmrun()
4963 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.dr7), env->dr[7]); in helper_vmrun()
4965 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.efer), env->efer); in helper_vmrun()
4966 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.rflags), compute_eflags()); in helper_vmrun()
4968 svm_save_seg(env->vm_hsave + offsetof(struct vmcb, save.es), in helper_vmrun()
4970 svm_save_seg(env->vm_hsave + offsetof(struct vmcb, save.cs), in helper_vmrun()
4972 svm_save_seg(env->vm_hsave + offsetof(struct vmcb, save.ss), in helper_vmrun()
4974 svm_save_seg(env->vm_hsave + offsetof(struct vmcb, save.ds), in helper_vmrun()
4977 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.rip), in helper_vmrun()
4979 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.rsp), ESP); in helper_vmrun()
4980 stq_phys(env->vm_hsave + offsetof(struct vmcb, save.rax), EAX); in helper_vmrun()
4996 env->gdt.base = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.gdtr.base)); in helper_vmrun()
4997 env->gdt.limit = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, save.gdtr.limit)); in helper_vmrun()
4999 env->idt.base = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.idtr.base)); in helper_vmrun()
5000 env->idt.limit = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, save.idtr.limit)); in helper_vmrun()
5005 cpu_x86_update_cr0(env, ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr0))); in helper_vmrun()
5006 cpu_x86_update_cr4(env, ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr4))); in helper_vmrun()
5007 cpu_x86_update_cr3(env, ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr3))); in helper_vmrun()
5008 env->cr[2] = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr2)); in helper_vmrun()
5019 ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.efer))); in helper_vmrun()
5021 load_eflags(ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rflags)), in helper_vmrun()
5025 svm_load_seg_cache(env->vm_vmcb + offsetof(struct vmcb, save.es), in helper_vmrun()
5027 svm_load_seg_cache(env->vm_vmcb + offsetof(struct vmcb, save.cs), in helper_vmrun()
5029 svm_load_seg_cache(env->vm_vmcb + offsetof(struct vmcb, save.ss), in helper_vmrun()
5031 svm_load_seg_cache(env->vm_vmcb + offsetof(struct vmcb, save.ds), in helper_vmrun()
5034 EIP = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rip)); in helper_vmrun()
5036 ESP = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rsp)); in helper_vmrun()
5037 EAX = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rax)); in helper_vmrun()
5038 env->dr[7] = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.dr7)); in helper_vmrun()
5039 env->dr[6] = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.dr6)); in helper_vmrun()
5040 cpu_x86_set_cpl(env, ldub_phys(env->vm_vmcb + offsetof(struct vmcb, save.cpl))); in helper_vmrun()
5124 addr, ldq_phys(addr + offsetof(struct vmcb, save.fs.base)), in helper_vmload()
5127 svm_load_seg_cache(addr + offsetof(struct vmcb, save.fs), in helper_vmload()
5129 svm_load_seg_cache(addr + offsetof(struct vmcb, save.gs), in helper_vmload()
5131 svm_load_seg(addr + offsetof(struct vmcb, save.tr), in helper_vmload()
5133 svm_load_seg(addr + offsetof(struct vmcb, save.ldtr), in helper_vmload()
5137 env->kernelgsbase = ldq_phys(addr + offsetof(struct vmcb, save.kernel_gs_base)); in helper_vmload()
5138 env->lstar = ldq_phys(addr + offsetof(struct vmcb, save.lstar)); in helper_vmload()
5139 env->cstar = ldq_phys(addr + offsetof(struct vmcb, save.cstar)); in helper_vmload()
5140 env->fmask = ldq_phys(addr + offsetof(struct vmcb, save.sfmask)); in helper_vmload()
5142 env->star = ldq_phys(addr + offsetof(struct vmcb, save.star)); in helper_vmload()
5143 env->sysenter_cs = ldq_phys(addr + offsetof(struct vmcb, save.sysenter_cs)); in helper_vmload()
5144 env->sysenter_esp = ldq_phys(addr + offsetof(struct vmcb, save.sysenter_esp)); in helper_vmload()
5145 env->sysenter_eip = ldq_phys(addr + offsetof(struct vmcb, save.sysenter_eip)); in helper_vmload()
5159 addr, ldq_phys(addr + offsetof(struct vmcb, save.fs.base)), in helper_vmsave()
5162 svm_save_seg(addr + offsetof(struct vmcb, save.fs), in helper_vmsave()
5164 svm_save_seg(addr + offsetof(struct vmcb, save.gs), in helper_vmsave()
5166 svm_save_seg(addr + offsetof(struct vmcb, save.tr), in helper_vmsave()
5168 svm_save_seg(addr + offsetof(struct vmcb, save.ldtr), in helper_vmsave()
5172 stq_phys(addr + offsetof(struct vmcb, save.kernel_gs_base), env->kernelgsbase); in helper_vmsave()
5173 stq_phys(addr + offsetof(struct vmcb, save.lstar), env->lstar); in helper_vmsave()
5174 stq_phys(addr + offsetof(struct vmcb, save.cstar), env->cstar); in helper_vmsave()
5175 stq_phys(addr + offsetof(struct vmcb, save.sfmask), env->fmask); in helper_vmsave()
5177 stq_phys(addr + offsetof(struct vmcb, save.star), env->star); in helper_vmsave()
5178 stq_phys(addr + offsetof(struct vmcb, save.sysenter_cs), env->sysenter_cs); in helper_vmsave()
5179 stq_phys(addr + offsetof(struct vmcb, save.sysenter_esp), env->sysenter_esp); in helper_vmsave()
5180 stq_phys(addr + offsetof(struct vmcb, save.sysenter_eip), env->sysenter_eip); in helper_vmsave()
5319 svm_save_seg(env->vm_vmcb + offsetof(struct vmcb, save.es), in helper_vmexit()
5321 svm_save_seg(env->vm_vmcb + offsetof(struct vmcb, save.cs), in helper_vmexit()
5323 svm_save_seg(env->vm_vmcb + offsetof(struct vmcb, save.ss), in helper_vmexit()
5325 svm_save_seg(env->vm_vmcb + offsetof(struct vmcb, save.ds), in helper_vmexit()
5328 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.gdtr.base), env->gdt.base); in helper_vmexit()
5329 stl_phys(env->vm_vmcb + offsetof(struct vmcb, save.gdtr.limit), env->gdt.limit); in helper_vmexit()
5331 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.idtr.base), env->idt.base); in helper_vmexit()
5332 stl_phys(env->vm_vmcb + offsetof(struct vmcb, save.idtr.limit), env->idt.limit); in helper_vmexit()
5334 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.efer), env->efer); in helper_vmexit()
5335 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr0), env->cr[0]); in helper_vmexit()
5336 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr2), env->cr[2]); in helper_vmexit()
5337 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr3), env->cr[3]); in helper_vmexit()
5338 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr4), env->cr[4]); in helper_vmexit()
5347 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rflags), compute_eflags()); in helper_vmexit()
5348 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rip), env->eip); in helper_vmexit()
5349 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rsp), ESP); in helper_vmexit()
5350 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rax), EAX); in helper_vmexit()
5351 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.dr7), env->dr[7]); in helper_vmexit()
5352 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.dr6), env->dr[6]); in helper_vmexit()
5353 stb_phys(env->vm_vmcb + offsetof(struct vmcb, save.cpl), env->hflags & HF_CPL_MASK); in helper_vmexit()
5363 env->gdt.base = ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.gdtr.base)); in helper_vmexit()
5364 env->gdt.limit = ldl_phys(env->vm_hsave + offsetof(struct vmcb, save.gdtr.limit)); in helper_vmexit()
5366 env->idt.base = ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.idtr.base)); in helper_vmexit()
5367 env->idt.limit = ldl_phys(env->vm_hsave + offsetof(struct vmcb, save.idtr.limit)); in helper_vmexit()
5369 … cpu_x86_update_cr0(env, ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.cr0)) | CR0_PE_MASK); in helper_vmexit()
5370 cpu_x86_update_cr4(env, ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.cr4))); in helper_vmexit()
5371 cpu_x86_update_cr3(env, ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.cr3))); in helper_vmexit()
5375 ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.efer))); in helper_vmexit()
5377 load_eflags(ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.rflags)), in helper_vmexit()
5381 svm_load_seg_cache(env->vm_hsave + offsetof(struct vmcb, save.es), in helper_vmexit()
5383 svm_load_seg_cache(env->vm_hsave + offsetof(struct vmcb, save.cs), in helper_vmexit()
5385 svm_load_seg_cache(env->vm_hsave + offsetof(struct vmcb, save.ss), in helper_vmexit()
5387 svm_load_seg_cache(env->vm_hsave + offsetof(struct vmcb, save.ds), in helper_vmexit()
5390 EIP = ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.rip)); in helper_vmexit()
5391 ESP = ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.rsp)); in helper_vmexit()
5392 EAX = ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.rax)); in helper_vmexit()
5394 env->dr[6] = ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.dr6)); in helper_vmexit()
5395 env->dr[7] = ldq_phys(env->vm_hsave + offsetof(struct vmcb, save.dr7)); in helper_vmexit()