Lines Matching refs:vcpu

249 struct vcpu *
252 struct vcpu *vcpu; in vm_vcpu_open() local
254 vcpu = malloc(sizeof(*vcpu)); in vm_vcpu_open()
256 if (vcpu == NULL) in vm_vcpu_open()
257 return (vcpu); in vm_vcpu_open()
259 vcpu->ctx = ctx; in vm_vcpu_open()
260 vcpu->vcpuid = vcpuid; in vm_vcpu_open()
261 return (vcpu); in vm_vcpu_open()
265 vm_vcpu_close(struct vcpu *vcpu) in vm_vcpu_close() argument
267 free(vcpu); in vm_vcpu_close()
271 vcpu_id(struct vcpu *vcpu) in vcpu_id() argument
273 return (vcpu->vcpuid); in vcpu_id()
277 vcpu_ctx(struct vcpu *vcpu) in vcpu_ctx() argument
279 return (vcpu->ctx); in vcpu_ctx()
779 vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg) in vcpu_ioctl() argument
786 *(int *)arg = vcpu->vcpuid; in vcpu_ioctl()
787 return (ioctl(vcpu->cfx->fd, cmd, arg)); in vcpu_ioctl()
796 vcpu_ioctl(struct vcpu *vcpu, u_long cmd, void *arg) in vcpu_ioctl() argument
798 return (ioctl(vcpu->ctx->fd, cmd, arg)); in vcpu_ioctl()
803 vm_set_desc(struct vcpu *vcpu, int reg, in vm_set_desc() argument
810 vmsegdesc.cpuid = vcpu->vcpuid; in vm_set_desc()
816 error = vcpu_ioctl(vcpu, VM_SET_SEGMENT_DESCRIPTOR, &vmsegdesc); in vm_set_desc()
821 vm_get_desc(struct vcpu *vcpu, int reg, uint64_t *base, uint32_t *limit, in vm_get_desc() argument
828 vmsegdesc.cpuid = vcpu->vcpuid; in vm_get_desc()
831 error = vcpu_ioctl(vcpu, VM_GET_SEGMENT_DESCRIPTOR, &vmsegdesc); in vm_get_desc()
841 vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *seg_desc) in vm_get_seg_desc() argument
845 error = vm_get_desc(vcpu, reg, &seg_desc->base, &seg_desc->limit, in vm_get_seg_desc()
851 vm_set_register(struct vcpu *vcpu, int reg, uint64_t val) in vm_set_register() argument
857 vmreg.cpuid = vcpu->vcpuid; in vm_set_register()
861 error = vcpu_ioctl(vcpu, VM_SET_REGISTER, &vmreg); in vm_set_register()
866 vm_get_register(struct vcpu *vcpu, int reg, uint64_t *ret_val) in vm_get_register() argument
872 vmreg.cpuid = vcpu->vcpuid; in vm_get_register()
875 error = vcpu_ioctl(vcpu, VM_GET_REGISTER, &vmreg); in vm_get_register()
881 vm_set_register_set(struct vcpu *vcpu, unsigned int count, in vm_set_register_set() argument
888 vmregset.cpuid = vcpu->vcpuid; in vm_set_register_set()
893 error = vcpu_ioctl(vcpu, VM_SET_REGISTER_SET, &vmregset); in vm_set_register_set()
898 vm_get_register_set(struct vcpu *vcpu, unsigned int count, in vm_get_register_set() argument
905 vmregset.cpuid = vcpu->vcpuid; in vm_get_register_set()
910 error = vcpu_ioctl(vcpu, VM_GET_REGISTER_SET, &vmregset); in vm_get_register_set()
916 vm_run(struct vcpu *vcpu, struct vm_exit *vmexit) in vm_run() argument
923 error = vcpu_ioctl(vcpu, VM_RUN, &vmrun); in vm_run()
929 vm_run(struct vcpu *vcpu, const struct vm_entry *vm_entry, in vm_run() argument
935 entry.cpuid = vcpu->vcpuid; in vm_run()
938 return (vcpu_ioctl(vcpu, VM_RUN, &entry)); in vm_run()
979 vm_inject_exception(struct vcpu *vcpu, int vector, int errcode_valid, in vm_inject_exception() argument
984 exc.cpuid = vcpu->vcpuid; in vm_inject_exception()
990 return (vcpu_ioctl(vcpu, VM_INJECT_EXCEPTION, &exc)); in vm_inject_exception()
995 vm_inject_fault(struct vcpu *vcpu, int vector, int errcode_valid, in vm_inject_fault() argument
1001 exc.cpuid = vcpu->vcpuid; in vm_inject_fault()
1006 error = vcpu_ioctl(vcpu, VM_INJECT_EXCEPTION, &exc); in vm_inject_fault()
1023 vm_lapic_irq(struct vcpu *vcpu, int vector) in vm_lapic_irq() argument
1028 vmirq.cpuid = vcpu->vcpuid; in vm_lapic_irq()
1031 return (vcpu_ioctl(vcpu, VM_LAPIC_IRQ, &vmirq)); in vm_lapic_irq()
1035 vm_lapic_local_irq(struct vcpu *vcpu, int vector) in vm_lapic_local_irq() argument
1040 vmirq.cpuid = vcpu->vcpuid; in vm_lapic_local_irq()
1043 return (vcpu_ioctl(vcpu, VM_LAPIC_LOCAL_IRQ, &vmirq)); in vm_lapic_local_irq()
1099 vm_readwrite_kernemu_device(struct vcpu *vcpu, vm_paddr_t gpa, in vm_readwrite_kernemu_device() argument
1103 .vcpuid = vcpu->vcpuid, in vm_readwrite_kernemu_device()
1111 rc = vcpu_ioctl(vcpu, cmd, &irp); in vm_readwrite_kernemu_device()
1167 vm_inject_nmi(struct vcpu *vcpu) in vm_inject_nmi() argument
1172 vmnmi.cpuid = vcpu->vcpuid; in vm_inject_nmi()
1174 return (vcpu_ioctl(vcpu, VM_INJECT_NMI, &vmnmi)); in vm_inject_nmi()
1211 vm_get_capability(struct vcpu *vcpu, enum vm_cap_type cap, in vm_get_capability() argument
1218 vmcap.cpuid = vcpu->vcpuid; in vm_get_capability()
1221 error = vcpu_ioctl(vcpu, VM_GET_CAPABILITY, &vmcap); in vm_get_capability()
1227 vm_set_capability(struct vcpu *vcpu, enum vm_cap_type cap, int val) in vm_set_capability() argument
1232 vmcap.cpuid = vcpu->vcpuid; in vm_set_capability()
1236 return (vcpu_ioctl(vcpu, VM_SET_CAPABILITY, &vmcap)); in vm_set_capability()
1447 vm_get_stats(struct vcpu *vcpu, struct timeval *ret_tv, in vm_get_stats() argument
1458 vmstats.cpuid = vcpu->vcpuid; in vm_get_stats()
1462 if (vcpu_ioctl(vcpu, VM_STATS_IOC, &vmstats) != 0) in vm_get_stats()
1506 vm_get_x2apic_state(struct vcpu *vcpu, enum x2apic_state *state) in vm_get_x2apic_state() argument
1512 x2apic.cpuid = vcpu->vcpuid; in vm_get_x2apic_state()
1514 error = vcpu_ioctl(vcpu, VM_GET_X2APIC_STATE, &x2apic); in vm_get_x2apic_state()
1520 vm_set_x2apic_state(struct vcpu *vcpu, enum x2apic_state state) in vm_set_x2apic_state() argument
1526 x2apic.cpuid = vcpu->vcpuid; in vm_set_x2apic_state()
1529 error = vcpu_ioctl(vcpu, VM_SET_X2APIC_STATE, &x2apic); in vm_set_x2apic_state()
1536 vcpu_reset(struct vcpu *vcpu) in vcpu_reset() argument
1540 vvr.vcpuid = vcpu->vcpuid; in vcpu_reset()
1543 return (vcpu_ioctl(vcpu, VM_RESET_CPU, &vvr)); in vcpu_reset()
1551 vcpu_reset(struct vcpu *vcpu) in vcpu_reset() argument
1561 error = vm_set_register(vcpu, VM_REG_GUEST_RFLAGS, rflags); in vcpu_reset()
1566 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RIP, rip)) != 0) in vcpu_reset()
1575 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR0, cr0)) != 0) in vcpu_reset()
1578 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR2, zero)) != 0) in vcpu_reset()
1581 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR3, zero)) != 0) in vcpu_reset()
1585 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR4, cr4)) != 0) in vcpu_reset()
1594 error = vm_set_desc(vcpu, VM_REG_GUEST_CS, in vcpu_reset()
1600 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CS, sel)) != 0) in vcpu_reset()
1609 error = vm_set_desc(vcpu, VM_REG_GUEST_SS, in vcpu_reset()
1614 error = vm_set_desc(vcpu, VM_REG_GUEST_DS, in vcpu_reset()
1619 error = vm_set_desc(vcpu, VM_REG_GUEST_ES, in vcpu_reset()
1624 error = vm_set_desc(vcpu, VM_REG_GUEST_FS, in vcpu_reset()
1629 error = vm_set_desc(vcpu, VM_REG_GUEST_GS, in vcpu_reset()
1635 if ((error = vm_set_register(vcpu, VM_REG_GUEST_SS, sel)) != 0) in vcpu_reset()
1637 if ((error = vm_set_register(vcpu, VM_REG_GUEST_DS, sel)) != 0) in vcpu_reset()
1639 if ((error = vm_set_register(vcpu, VM_REG_GUEST_ES, sel)) != 0) in vcpu_reset()
1641 if ((error = vm_set_register(vcpu, VM_REG_GUEST_FS, sel)) != 0) in vcpu_reset()
1643 if ((error = vm_set_register(vcpu, VM_REG_GUEST_GS, sel)) != 0) in vcpu_reset()
1646 if ((error = vm_set_register(vcpu, VM_REG_GUEST_EFER, zero)) != 0) in vcpu_reset()
1651 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RAX, zero)) != 0) in vcpu_reset()
1653 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RBX, zero)) != 0) in vcpu_reset()
1655 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RCX, zero)) != 0) in vcpu_reset()
1657 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RDX, rdx)) != 0) in vcpu_reset()
1659 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RSI, zero)) != 0) in vcpu_reset()
1661 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RDI, zero)) != 0) in vcpu_reset()
1663 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RBP, zero)) != 0) in vcpu_reset()
1665 if ((error = vm_set_register(vcpu, VM_REG_GUEST_RSP, zero)) != 0) in vcpu_reset()
1667 if ((error = vm_set_register(vcpu, VM_REG_GUEST_R8, zero)) != 0) in vcpu_reset()
1669 if ((error = vm_set_register(vcpu, VM_REG_GUEST_R9, zero)) != 0) in vcpu_reset()
1671 if ((error = vm_set_register(vcpu, VM_REG_GUEST_R10, zero)) != 0) in vcpu_reset()
1673 if ((error = vm_set_register(vcpu, VM_REG_GUEST_R11, zero)) != 0) in vcpu_reset()
1675 if ((error = vm_set_register(vcpu, VM_REG_GUEST_R12, zero)) != 0) in vcpu_reset()
1677 if ((error = vm_set_register(vcpu, VM_REG_GUEST_R13, zero)) != 0) in vcpu_reset()
1679 if ((error = vm_set_register(vcpu, VM_REG_GUEST_R14, zero)) != 0) in vcpu_reset()
1681 if ((error = vm_set_register(vcpu, VM_REG_GUEST_R15, zero)) != 0) in vcpu_reset()
1688 error = vm_set_desc(vcpu, VM_REG_GUEST_GDTR, in vcpu_reset()
1693 error = vm_set_desc(vcpu, VM_REG_GUEST_IDTR, in vcpu_reset()
1702 error = vm_set_desc(vcpu, VM_REG_GUEST_TR, 0, 0, desc_access); in vcpu_reset()
1707 if ((error = vm_set_register(vcpu, VM_REG_GUEST_TR, sel)) != 0) in vcpu_reset()
1714 error = vm_set_desc(vcpu, VM_REG_GUEST_LDTR, desc_base, in vcpu_reset()
1720 if ((error = vm_set_register(vcpu, VM_REG_GUEST_LDTR, 0)) != 0) in vcpu_reset()
1723 if ((error = vm_set_register(vcpu, VM_REG_GUEST_DR6, in vcpu_reset()
1726 if ((error = vm_set_register(vcpu, VM_REG_GUEST_DR7, 0x400)) != in vcpu_reset()
1730 if ((error = vm_set_register(vcpu, VM_REG_GUEST_INTR_SHADOW, in vcpu_reset()
1774 vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging, in vm_gla2gpa() argument
1781 gg.vcpuid = vcpu->vcpuid; in vm_gla2gpa()
1786 error = vcpu_ioctl(vcpu, VM_GLA2GPA, &gg); in vm_gla2gpa()
1795 vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging, in vm_gla2gpa_nofault() argument
1802 gg.vcpuid = vcpu->vcpuid; in vm_gla2gpa_nofault()
1807 error = vcpu_ioctl(vcpu, VM_GLA2GPA_NOFAULT, &gg); in vm_gla2gpa_nofault()
1820 vm_copy_setup(struct vcpu *vcpu, struct vm_guest_paging *paging, in vm_copy_setup() argument
1835 error = vm_gla2gpa(vcpu, paging, gla, prot, &gpa, fault); in vm_copy_setup()
1842 va = vm_map_gpa(vcpu->ctx, gpa, n); in vm_copy_setup()
1946 vm_activate_cpu(struct vcpu *vcpu) in vm_activate_cpu() argument
1952 ac.vcpuid = vcpu->vcpuid; in vm_activate_cpu()
1953 error = vcpu_ioctl(vcpu, VM_ACTIVATE_CPU, &ac); in vm_activate_cpu()
1970 vm_suspend_cpu(struct vcpu *vcpu) in vm_suspend_cpu() argument
1976 ac.vcpuid = vcpu->vcpuid; in vm_suspend_cpu()
1977 error = vcpu_ioctl(vcpu, VM_SUSPEND_CPU, &ac); in vm_suspend_cpu()
1982 vm_resume_cpu(struct vcpu *vcpu) in vm_resume_cpu() argument
1988 ac.vcpuid = vcpu->vcpuid; in vm_resume_cpu()
1989 error = vcpu_ioctl(vcpu, VM_RESUME_CPU, &ac); in vm_resume_cpu()
2006 vm_get_intinfo(struct vcpu *vcpu, uint64_t *info1, uint64_t *info2) in vm_get_intinfo() argument
2012 vmii.vcpuid = vcpu->vcpuid; in vm_get_intinfo()
2013 error = vcpu_ioctl(vcpu, VM_GET_INTINFO, &vmii); in vm_get_intinfo()
2022 vm_set_intinfo(struct vcpu *vcpu, uint64_t info1) in vm_set_intinfo() argument
2028 vmii.vcpuid = vcpu->vcpuid; in vm_set_intinfo()
2030 error = vcpu_ioctl(vcpu, VM_SET_INTINFO, &vmii); in vm_set_intinfo()
2103 vm_restart_instruction(void *ctxp, int vcpu __unused) in vm_restart_instruction()
2213 vm_get_run_state(struct vcpu *vcpu, enum vcpu_run_state *state, in vm_get_run_state() argument
2218 data.vcpuid = vcpu->vcpuid; in vm_get_run_state()
2219 if (vcpu_ioctl(vcpu, VM_GET_RUN_STATE, &data) != 0) { in vm_get_run_state()
2229 vm_set_run_state(struct vcpu *vcpu, enum vcpu_run_state state, in vm_set_run_state() argument
2234 data.vcpuid = vcpu->vcpuid; in vm_set_run_state()
2237 if (vcpu_ioctl(vcpu, VM_SET_RUN_STATE, &data) != 0) { in vm_set_run_state()
2245 vm_vcpu_barrier(struct vcpu *vcpu) in vm_vcpu_barrier() argument
2247 if (ioctl(vcpu->ctx->fd, VM_VCPU_BARRIER, vcpu->vcpuid) != 0) { in vm_vcpu_barrier()