Lines Matching refs:vcpu

36 struct vcpu;
178 typedef void * (*vmi_vcpu_init_func_t)(void *vmi, struct vcpu *vcpu,
226 struct vcpu *vm_alloc_vcpu(struct vm *vm, int vcpuid);
256 * APIs that inspect the guest memory map require only a *single* vcpu to
265 void *vm_gpa_hold(struct vcpu *vcpu, vm_paddr_t gpa, size_t len,
270 bool vm_mem_allocated(struct vcpu *vcpu, vm_paddr_t gpa);
272 int vm_get_register(struct vcpu *vcpu, int reg, uint64_t *retval);
273 int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val);
274 int vm_get_seg_desc(struct vcpu *vcpu, int reg,
276 int vm_set_seg_desc(struct vcpu *vcpu, int reg,
278 int vm_run(struct vcpu *vcpu);
280 int vm_inject_nmi(struct vcpu *vcpu);
281 int vm_nmi_pending(struct vcpu *vcpu);
282 void vm_nmi_clear(struct vcpu *vcpu);
283 int vm_inject_extint(struct vcpu *vcpu);
284 int vm_extint_pending(struct vcpu *vcpu);
285 void vm_extint_clear(struct vcpu *vcpu);
286 int vcpu_vcpuid(struct vcpu *vcpu);
287 struct vm *vcpu_vm(struct vcpu *vcpu);
288 struct vcpu *vm_vcpu(struct vm *vm, int cpu);
289 struct vlapic *vm_lapic(struct vcpu *vcpu);
292 int vm_get_capability(struct vcpu *vcpu, int type, int *val);
293 int vm_set_capability(struct vcpu *vcpu, int type, int val);
294 int vm_get_x2apic_state(struct vcpu *vcpu, enum x2apic_state *state);
295 int vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state state);
297 int vm_activate_cpu(struct vcpu *vcpu);
298 int vm_suspend_cpu(struct vm *vm, struct vcpu *vcpu);
299 int vm_resume_cpu(struct vm *vm, struct vcpu *vcpu);
300 int vm_restart_instruction(struct vcpu *vcpu);
301 struct vm_exit *vm_exitinfo(struct vcpu *vcpu);
302 cpuset_t *vm_exitinfo_cpuset(struct vcpu *vcpu);
303 void vm_exit_suspended(struct vcpu *vcpu, uint64_t rip);
304 void vm_exit_debug(struct vcpu *vcpu, uint64_t rip);
305 void vm_exit_rendezvous(struct vcpu *vcpu, uint64_t rip);
306 void vm_exit_astpending(struct vcpu *vcpu, uint64_t rip);
307 void vm_exit_reqidle(struct vcpu *vcpu, uint64_t rip);
323 typedef void (*vm_rendezvous_func_t)(struct vcpu *vcpu, void *arg);
324 int vm_smp_rendezvous(struct vcpu *vcpu, cpuset_t dest,
335 vcpu_rendezvous_pending(struct vcpu *vcpu, struct vm_eventinfo *info)
339 * there's no need to. If the vcpuid bit is set, the vcpu is part of a
340 * rendezvous and the bit won't be cleared until the vcpu enters the
341 * rendezvous. On rendezvous exit, the cpuset is cleared and the vcpu
344 return (CPU_ISSET(vcpu_vcpuid(vcpu), info->rptr));
361 int vcpu_debugged(struct vcpu *vcpu);
380 int vcpu_set_state(struct vcpu *vcpu, enum vcpu_state state, bool from_idle);
381 enum vcpu_state vcpu_get_state(struct vcpu *vcpu, int *hostcpu);
384 vcpu_is_running(struct vcpu *vcpu, int *hostcpu)
386 return (vcpu_get_state(vcpu, hostcpu) == VCPU_RUNNING);
391 vcpu_should_yield(struct vcpu *vcpu)
400 void *vcpu_stats(struct vcpu *vcpu);
401 void vcpu_notify_event(struct vcpu *vcpu, bool lapic_intr);
409 * Inject exception 'vector' into the guest vcpu. This function returns 0 on
417 * executing this vcpu.
419 int vm_inject_exception(struct vcpu *vcpu, int vector, int err_valid,
435 int vm_exit_intinfo(struct vcpu *vcpu, uint64_t intinfo);
445 int vm_entry_intinfo(struct vcpu *vcpu, uint64_t *info);
447 int vm_get_intinfo(struct vcpu *vcpu, uint64_t *info1, uint64_t *info2);
454 void vm_set_tsc_offset(struct vcpu *vcpu, uint64_t offset);
479 int vm_copy_setup(struct vcpu *vcpu, struct vm_guest_paging *paging,
486 int vcpu_trace_exceptions(struct vcpu *vcpu);
487 int vcpu_trap_wbinvd(struct vcpu *vcpu);
754 int vcpu;
769 * The destination vCPU mask is saved in vcpu->cpuset
781 void vm_inject_fault(struct vcpu *vcpu, int vector, int errcode_valid,
785 vm_inject_ud(struct vcpu *vcpu)
787 vm_inject_fault(vcpu, IDT_UD, 0, 0);
791 vm_inject_gp(struct vcpu *vcpu)
793 vm_inject_fault(vcpu, IDT_GP, 1, 0);
797 vm_inject_ac(struct vcpu *vcpu, int errcode)
799 vm_inject_fault(vcpu, IDT_AC, 1, errcode);
803 vm_inject_ss(struct vcpu *vcpu, int errcode)
805 vm_inject_fault(vcpu, IDT_SS, 1, errcode);
808 void vm_inject_pf(struct vcpu *vcpu, int error_code, uint64_t cr2);