• Home
  • Raw
  • Download

Lines Matching refs:vm_vmcb

124     env->vm_vmcb = addr;  in helper_vmrun()
159 env->intercept = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, control.intercept)); in helper_vmrun()
160 …env->intercept_cr_read = lduw_phys(env->vm_vmcb + offsetof(struct vmcb, control.intercept_cr_re… in helper_vmrun()
161 …env->intercept_cr_write = lduw_phys(env->vm_vmcb + offsetof(struct vmcb, control.intercept_cr_wr… in helper_vmrun()
162 …env->intercept_dr_read = lduw_phys(env->vm_vmcb + offsetof(struct vmcb, control.intercept_dr_re… in helper_vmrun()
163 …env->intercept_dr_write = lduw_phys(env->vm_vmcb + offsetof(struct vmcb, control.intercept_dr_wr… in helper_vmrun()
164 …env->intercept_exceptions = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.intercept_except… in helper_vmrun()
169 env->tsc_offset = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, control.tsc_offset)); in helper_vmrun()
171 env->gdt.base = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.gdtr.base)); in helper_vmrun()
172 env->gdt.limit = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, save.gdtr.limit)); in helper_vmrun()
174 env->idt.base = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.idtr.base)); in helper_vmrun()
175 env->idt.limit = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, save.idtr.limit)); in helper_vmrun()
178 stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_2), 0); in helper_vmrun()
180 cpu_x86_update_cr0(env, ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr0))); in helper_vmrun()
181 cpu_x86_update_cr4(env, ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr4))); in helper_vmrun()
182 cpu_x86_update_cr3(env, ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr3))); in helper_vmrun()
183 env->cr[2] = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr2)); in helper_vmrun()
184 int_ctl = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_ctl)); in helper_vmrun()
194 ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.efer))); in helper_vmrun()
196 cpu_load_eflags(env, ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rflags)), in helper_vmrun()
200 svm_load_seg_cache(env->vm_vmcb + offsetof(struct vmcb, save.es), in helper_vmrun()
202 svm_load_seg_cache(env->vm_vmcb + offsetof(struct vmcb, save.cs), in helper_vmrun()
204 svm_load_seg_cache(env->vm_vmcb + offsetof(struct vmcb, save.ss), in helper_vmrun()
206 svm_load_seg_cache(env->vm_vmcb + offsetof(struct vmcb, save.ds), in helper_vmrun()
209 EIP = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rip)); in helper_vmrun()
211 ESP = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rsp)); in helper_vmrun()
212 EAX = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rax)); in helper_vmrun()
213 env->dr[7] = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.dr7)); in helper_vmrun()
214 env->dr[6] = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, save.dr6)); in helper_vmrun()
215 cpu_x86_set_cpl(env, ldub_phys(env->vm_vmcb + offsetof(struct vmcb, save.cpl))); in helper_vmrun()
219 switch(ldub_phys(env->vm_vmcb + offsetof(struct vmcb, control.tlb_ctl))) { in helper_vmrun()
235 event_inj = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj)); in helper_vmrun()
239 … uint32_t event_inj_err = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj_err)); in helper_vmrun()
426 uint64_t addr = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, control.msrpm_base_pa)); in helper_svm_check_intercept_param()
472 uint64_t addr = ldq_phys(env->vm_vmcb + offsetof(struct vmcb, control.iopm_base_pa)); in helper_svm_check_io()
476 stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_2), in helper_svm_check_io()
491 ldq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_2)), in helper_vmexit()
495 … stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_state), SVM_INTERRUPT_SHADOW_MASK); in helper_vmexit()
498 stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_state), 0); in helper_vmexit()
502 svm_save_seg(env->vm_vmcb + offsetof(struct vmcb, save.es), in helper_vmexit()
504 svm_save_seg(env->vm_vmcb + offsetof(struct vmcb, save.cs), in helper_vmexit()
506 svm_save_seg(env->vm_vmcb + offsetof(struct vmcb, save.ss), in helper_vmexit()
508 svm_save_seg(env->vm_vmcb + offsetof(struct vmcb, save.ds), in helper_vmexit()
511 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.gdtr.base), env->gdt.base); in helper_vmexit()
512 stl_phys(env->vm_vmcb + offsetof(struct vmcb, save.gdtr.limit), env->gdt.limit); in helper_vmexit()
514 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.idtr.base), env->idt.base); in helper_vmexit()
515 stl_phys(env->vm_vmcb + offsetof(struct vmcb, save.idtr.limit), env->idt.limit); in helper_vmexit()
517 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.efer), env->efer); in helper_vmexit()
518 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr0), env->cr[0]); in helper_vmexit()
519 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr2), env->cr[2]); in helper_vmexit()
520 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr3), env->cr[3]); in helper_vmexit()
521 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.cr4), env->cr[4]); in helper_vmexit()
523 int_ctl = ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_ctl)); in helper_vmexit()
528 stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.int_ctl), int_ctl); in helper_vmexit()
530 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rflags), cpu_compute_eflags(env)); in helper_vmexit()
531 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rip), env->eip); in helper_vmexit()
532 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rsp), ESP); in helper_vmexit()
533 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.rax), EAX); in helper_vmexit()
534 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.dr7), env->dr[7]); in helper_vmexit()
535 stq_phys(env->vm_vmcb + offsetof(struct vmcb, save.dr6), env->dr[6]); in helper_vmexit()
536 stb_phys(env->vm_vmcb + offsetof(struct vmcb, save.cpl), env->hflags & HF_CPL_MASK); in helper_vmexit()
582 stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_code), exit_code); in helper_vmexit()
583 stq_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_info_1), exit_info_1); in helper_vmexit()
585 stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_int_info), in helper_vmexit()
586 ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj))); in helper_vmexit()
587 stl_phys(env->vm_vmcb + offsetof(struct vmcb, control.exit_int_info_err), in helper_vmexit()
588 ldl_phys(env->vm_vmcb + offsetof(struct vmcb, control.event_inj_err))); in helper_vmexit()