Lines Matching defs:dcb
105 vm_exec (struct dcb *dcb)
107 lpaddr_t lpaddr = gen_phys_to_local_phys(dcb->guest_desc.ctrl.cap.u.frame.base);
132 : "a" (dcb->guest_desc.vmcb.cap.u.frame.base)
150 : "a" (dcb->guest_desc.vmcb.cap.u.frame.base)
184 vmkit_switch_to (struct dcb *dcb)
186 assert(dcb != NULL);
187 assert(dcb->is_vm_guest);
192 vmload(gen_phys_to_local_phys(dcb->guest_desc.vmcb.cap.u.frame.base));
196 vmkit_switch_from (struct dcb *dcb)
198 assert(dcb != NULL);
199 assert(dcb->is_vm_guest);
202 vmsave(gen_phys_to_local_phys(dcb->guest_desc.vmcb.cap.u.frame.base));
213 svm_vmkit_vmenter (struct dcb *dcb)
215 lpaddr_t lpaddr = gen_phys_to_local_phys(dcb->guest_desc.ctrl.cap.u.frame.base);
218 assert(dcb != NULL);
219 assert(dcb->vspace != 0);
220 assert(dcb->is_vm_guest);
222 lpaddr = gen_phys_to_local_phys(dcb->guest_desc.vmcb.cap.u.frame.base);
231 amd_vmcb_ncr3_wr(&vmcb, dcb->vspace);
233 amd_vmcb_cr3_wr(&vmcb, dcb->vspace);
241 vmkit_switch_to(dcb);
242 vm_exec(dcb);
243 vmkit_switch_from(dcb);
262 // LH: This block doesnt make sense. dcb of (traditional) vm guests dont have a disp.
267 if(dispatcher_is_disabled_ip(dcb->disp, amd_vmcb_rip_rd(&vmcb))) {
268 area = dispatcher_get_disabled_save_area(dcb->disp);
269 dcb->disabled = true;
271 area = dispatcher_get_enabled_save_area(dcb->disp);
272 dcb->disabled = false;
322 assert(dcb->is_vm_guest);
325 scheduler_remove(dcb);
328 errval_t err = lmp_deliver_notification(&dcb->guest_desc.monitor_ep.cap);
334 dispatch(dcb->guest_desc.monitor_ep.cap.u.endpoint.listener);