| /freebsd-13.1/usr.sbin/bhyvectl/ |
| H A D | bhyvectl.c | 1054 vcpu, target_addr); in get_misc_vmcs() 1061 vcpu, target_addr); in get_misc_vmcs() 1118 vcpu, u64); in get_misc_vmcs() 1136 vcpu, insterr); in get_misc_vmcs() 1198 vcpu, u64); in get_misc_vmcs() 1207 vcpu, u64); in get_misc_vmcs() 1216 vcpu, u64); in get_misc_vmcs() 1233 vcpu, u64); in get_misc_vmcs() 1320 vcpu, addr); in get_misc_vmcb() 1325 vcpu, addr); in get_misc_vmcb() [all …]
|
| /freebsd-13.1/sys/amd64/vmm/amd/ |
| H A D | svm.c | 558 struct svm_vcpu *vcpu; in svm_init() local 618 vcpu->nextrip = ~0; in svm_init() 619 vcpu->lastcpu = NOCPU; in svm_init() 620 vcpu->vmcb_pa = vtophys(&vcpu->vmcb); in svm_init() 977 vlapic = vm_lapic(vm, vcpu); in svm_update_virqinfo() 1207 vm_inject_gp(sc->vm, vcpu); in svm_write_efer() 1639 svm_inj_intinfo(sc, vcpu); in svm_inj_interrupts() 2013 vmcb_pa = svm_sc->vcpu[vcpu].vmcb_pa; in svm_run() 2406 struct svm_vcpu *vcpu; in svm_snapshot() local 2419 vcpu = &sc->vcpu[i]; in svm_snapshot() [all …]
|
| H A D | svm_softc.h | 64 struct svm_vcpu vcpu[VM_MAXCPU]; member 75 svm_get_vcpu(struct svm_softc *sc, int vcpu) in svm_get_vcpu() argument 78 return (&(sc->vcpu[vcpu])); in svm_get_vcpu() 82 svm_get_vmcb(struct svm_softc *sc, int vcpu) in svm_get_vmcb() argument 85 return (&(sc->vcpu[vcpu].vmcb)); in svm_get_vmcb() 89 svm_get_vmcb_state(struct svm_softc *sc, int vcpu) in svm_get_vmcb_state() argument 92 return (&(sc->vcpu[vcpu].vmcb.state)); in svm_get_vmcb_state() 96 svm_get_vmcb_ctrl(struct svm_softc *sc, int vcpu) in svm_get_vmcb_ctrl() argument 99 return (&(sc->vcpu[vcpu].vmcb.ctrl)); in svm_get_vmcb_ctrl() 106 return (&(sc->vcpu[vcpu].swctx)); in svm_get_guest_regctx() [all …]
|
| H A D | vmcb.c | 126 vmcb = svm_get_vmcb(softc, vcpu); in vmcb_access() 148 VCPU_CTR1(softc->vm, vcpu, in vmcb_access() 155 svm_set_dirty(softc, vcpu, 0xffffffff); in vmcb_access() 171 vmcb = svm_get_vmcb(sc, vcpu); in vmcb_read() 261 vmcb = svm_get_vmcb(sc, vcpu); in vmcb_write() 272 svm_set_dirty(sc, vcpu, VMCB_CACHE_CR); in vmcb_write() 282 svm_set_dirty(sc, vcpu, VMCB_CACHE_CR); in vmcb_write() 375 vmcb = svm_get_vmcb(sc, vcpu); in vmcb_setdesc() 426 vmcb = svm_get_vmcb(sc, vcpu); in vmcb_getdesc() 465 if (vcpu < 0 || vcpu >= VM_MAXCPU) { in vmcb_getany() [all …]
|
| H A D | svm_msr.c | 75 svm_msr_guest_init(struct svm_softc *sc, int vcpu) in svm_msr_guest_init() argument 89 svm_msr_guest_enter(struct svm_softc *sc, int vcpu) in svm_msr_guest_enter() argument 97 svm_msr_guest_exit(struct svm_softc *sc, int vcpu) in svm_msr_guest_exit() argument 111 svm_rdmsr(struct svm_softc *sc, int vcpu, u_int num, uint64_t *result, in svm_rdmsr() argument 127 if (vm_rdmtrr(&sc->mtrr[vcpu], num, result) != 0) { in svm_rdmsr() 128 vm_inject_gp(sc->vm, vcpu); in svm_rdmsr() 145 svm_wrmsr(struct svm_softc *sc, int vcpu, u_int num, uint64_t val, bool *retu) in svm_wrmsr() argument 159 if (vm_wrmtrr(&sc->mtrr[vcpu], num, val) != 0) { in svm_wrmsr() 160 vm_inject_gp(sc->vm, vcpu); in svm_wrmsr() 177 error = svm_set_tsc_offset(sc, vcpu, val - rdtsc()); in svm_wrmsr()
|
| H A D | svm_msr.h | 37 void svm_msr_guest_init(struct svm_softc *sc, int vcpu); 38 void svm_msr_guest_enter(struct svm_softc *sc, int vcpu); 39 void svm_msr_guest_exit(struct svm_softc *sc, int vcpu); 41 int svm_wrmsr(struct svm_softc *sc, int vcpu, u_int num, uint64_t val, 43 int svm_rdmsr(struct svm_softc *sc, int vcpu, u_int num, uint64_t *result,
|
| /freebsd-13.1/usr.sbin/bhyve/ |
| H A D | task_switch.c | 104 GETREG(struct vmctx *ctx, int vcpu, int reg) in GETREG() argument 119 error = vm_set_register(ctx, vcpu, reg, val); in SETREG() 169 vm_inject_fault(ctx, vcpu, vector, 1, sel); in sel_exception() 344 sel = GETREG(ctx, vcpu, segment); in validate_seg_desc() 399 cs = GETREG(ctx, vcpu, VM_REG_GUEST_CS); in validate_seg_desc() 523 vm_inject_gp(ctx, vcpu); in tss32_restore() 639 cr0 = GETREG(ctx, vcpu, VM_REG_GUEST_CR0); in push_errcode() 678 vm_inject_ac(ctx, vcpu, 1); in push_errcode() 689 SETREG(ctx, vcpu, VM_REG_GUEST_RSP, esp); in push_errcode() 726 vcpu = *pvcpu; in vmexit_task_switch() [all …]
|
| H A D | bhyverun.c | 395 if (vcpu < 0 || vcpu >= VM_MAXCPU) { in pincpu_parse() 472 int vcpu; in build_vcpumaps() local 474 for (vcpu = 0; vcpu < guest_ncpus; vcpu++) { in build_vcpumaps() 482 parse_cpuset(vcpu, value, vcpumap[vcpu]); in build_vcpumaps() 528 int vcpu; in fbsdrun_start_thread() local 541 vm_loop(mtp->mt_ctx, vcpu, vmexit[vcpu].rip); in fbsdrun_start_thread() 612 int vcpu; in vmexit_inout() local 975 error = vm_run(ctx, vcpu, &vmexit[vcpu]); in vm_loop() 986 rc = (*handler[exitcode])(ctx, &vmexit[vcpu], &vcpu); in vm_loop() 1218 int vcpu; in main() local [all …]
|
| H A D | mem.c | 142 typedef int (mem_cb_t)(struct vmctx *ctx, int vcpu, uint64_t gpa, 151 error = (*mr->handler)(ctx, vcpu, MEM_F_READ, gpa, size, in mem_read() 162 error = (*mr->handler)(ctx, vcpu, MEM_F_WRITE, gpa, size, in mem_write() 178 if (mmio_hint[vcpu] && in access_memory() 179 paddr >= mmio_hint[vcpu]->mr_base && in access_memory() 180 paddr <= mmio_hint[vcpu]->mr_end) { in access_memory() 181 entry = mmio_hint[vcpu]; in access_memory() 188 mmio_hint[vcpu] = entry; in access_memory() 215 err = cb(ctx, vcpu, paddr, &entry->mr_param, arg); in access_memory() 279 return (access_memory(ctx, vcpu, gpa, rw_mem_cb, &rma)); in read_mem() [all …]
|
| H A D | gdb.c | 749 gdb_cpu_add(int vcpu) in gdb_cpu_add() argument 780 gdb_cpu_resume(int vcpu) in gdb_cpu_resume() argument 785 vs = &vcpu_state[vcpu]; in gdb_cpu_resume() 812 gdb_cpu_resume(vcpu); in gdb_cpu_suspend() 833 gdb_cpu_mtrap(int vcpu) in gdb_cpu_mtrap() argument 854 gdb_cpu_resume(vcpu); in gdb_cpu_mtrap() 913 gdb_cpu_resume(vcpu); in gdb_cpu_breakpoint() 927 gdb_step_vcpu(int vcpu) in gdb_step_vcpu() argument 1197 int vcpu; in set_breakpoint_caps() local 1202 CPU_CLR(vcpu, &mask); in set_breakpoint_caps() [all …]
|
| H A D | inout.c | 107 emulate_inout(struct vmctx *ctx, int vcpu, struct vm_exit *vmexit) in emulate_inout() argument 165 vm_inject_gp(ctx, vcpu); in emulate_inout() 169 error = vm_copy_setup(ctx, vcpu, &vis->paging, gla, in emulate_inout() 181 vm_inject_ac(ctx, vcpu, 0); in emulate_inout() 187 vm_copyin(ctx, vcpu, iov, &val, bytes); in emulate_inout() 189 retval = handler(ctx, vcpu, in, port, bytes, &val, arg); in emulate_inout() 194 vm_copyout(ctx, vcpu, &val, iov, bytes); in emulate_inout() 215 error = vie_update_register(ctx, vcpu, VM_REG_GUEST_RCX, in emulate_inout() 222 error = vm_restart_instruction(ctx, vcpu); in emulate_inout() 228 retval = handler(ctx, vcpu, in, port, bytes, &val, arg); in emulate_inout() [all …]
|
| H A D | gdb.h | 33 void gdb_cpu_add(int vcpu); 34 void gdb_cpu_breakpoint(int vcpu, struct vm_exit *vmexit); 35 void gdb_cpu_mtrap(int vcpu); 36 void gdb_cpu_suspend(int vcpu);
|
| H A D | pctestdev.c | 75 static int pctestdev_debugexit_io(struct vmctx *ctx, int vcpu, int in, 77 static int pctestdev_iomem_io(struct vmctx *ctx, int vcpu, int dir, 80 static int pctestdev_ioport_io(struct vmctx *ctx, int vcpu, int in, 82 static int pctestdev_irq_io(struct vmctx *ctx, int vcpu, int in, 181 pctestdev_debugexit_io(struct vmctx *ctx, int vcpu, int in, int port, in pctestdev_debugexit_io() argument 193 pctestdev_iomem_io(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, in pctestdev_iomem_io() argument 213 pctestdev_ioport_io(struct vmctx *ctx, int vcpu, int in, int port, in pctestdev_ioport_io() argument 236 pctestdev_irq_io(struct vmctx *ctx, int vcpu, int in, int port, int bytes, in pctestdev_irq_io() argument
|
| H A D | mem.h | 38 typedef int (*mem_func_t)(struct vmctx *ctx, int vcpu, int dir, uint64_t addr, 56 int emulate_mem(struct vmctx *, int vcpu, uint64_t paddr, struct vie *vie, 59 int read_mem(struct vmctx *ctx, int vcpu, uint64_t gpa, uint64_t *rval, 64 int write_mem(struct vmctx *ctx, int vcpu, uint64_t gpa, uint64_t wval,
|
| /freebsd-13.1/sys/amd64/vmm/ |
| H A D | vmm.c | 295 struct vcpu *vcpu = &vm->vcpu[i]; in vcpu_cleanup() local 307 struct vcpu *vcpu; in vcpu_init() local 347 struct vcpu *vcpu; in vm_exitinfo() local 1069 struct vcpu *vcpu; in vm_set_register() local 1195 struct vcpu *vcpu; in vcpu_set_state_locked() local 1342 struct vcpu *vcpu; in vm_handle_hlt() local 1439 struct vcpu *vcpu; in vm_handle_paging() local 1480 struct vcpu *vcpu; in vm_handle_inst_emul() local 1558 struct vcpu *vcpu; in vm_handle_suspend() local 1616 struct vcpu *vcpu = &vm->vcpu[vcpuid]; in vm_handle_reqidle() local [all …]
|
| H A D | vmm_stat.h | 48 typedef void (*vmm_stat_func_t)(struct vm *vm, int vcpu, 93 int vmm_stat_copy(struct vm *vm, int vcpu, int *num_stats, uint64_t *buf); 97 vmm_stat_array_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, in vmm_stat_array_incr() argument 103 stats = vcpu_stats(vm, vcpu); in vmm_stat_array_incr() 111 vmm_stat_array_set(struct vm *vm, int vcpu, struct vmm_stat_type *vst, in vmm_stat_array_set() argument 117 stats = vcpu_stats(vm, vcpu); in vmm_stat_array_set() 125 vmm_stat_incr(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t x) in vmm_stat_incr() argument 129 vmm_stat_array_incr(vm, vcpu, vst, 0, x); in vmm_stat_incr() 134 vmm_stat_set(struct vm *vm, int vcpu, struct vmm_stat_type *vst, uint64_t val) in vmm_stat_set() argument 138 vmm_stat_array_set(vm, vcpu, vst, 0, val); in vmm_stat_set()
|
| H A D | vmm_dev.c | 119 if (vcpu < 0 || vcpu >= vm_get_maxcpus(sc->vm)) in vcpu_lock_one() 134 vcpu, state); in vcpu_unlock_one() 143 int error, vcpu; in vcpu_lock_all() local 147 for (vcpu = 0; vcpu < maxcpus; vcpu++) { in vcpu_lock_all() 154 while (--vcpu >= 0) in vcpu_lock_all() 155 vcpu_unlock_one(sc, vcpu); in vcpu_lock_all() 164 int vcpu; in vcpu_unlock_all() local 168 for (vcpu = 0; vcpu < maxcpus; vcpu++) in vcpu_unlock_all() 169 vcpu_unlock_one(sc, vcpu); in vcpu_unlock_all() 408 vcpu = -1; in vmmdev_ioctl() [all …]
|
| H A D | vmm_stat.c | 85 vmm_stat_copy(struct vm *vm, int vcpu, int *num_stats, uint64_t *buf) in vmm_stat_copy() argument 91 if (vcpu < 0 || vcpu >= vm_get_maxcpus(vm)) in vmm_stat_copy() 98 (*vst->func)(vm, vcpu, vst); in vmm_stat_copy() 102 stats = vcpu_stats(vm, vcpu); in vmm_stat_copy()
|
| /freebsd-13.1/lib/libvmmapi/ |
| H A D | vmmapi_freebsd.c | 128 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_CS, in vm_setup_freebsd_registers_i386() 132 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_DS, in vm_setup_freebsd_registers_i386() 137 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_ES, in vm_setup_freebsd_registers_i386() 142 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_FS, in vm_setup_freebsd_registers_i386() 147 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_GS, in vm_setup_freebsd_registers_i386() 152 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_SS, in vm_setup_freebsd_registers_i386() 160 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_TR, in vm_setup_freebsd_registers_i386() 253 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_CS, in vm_setup_freebsd_registers() 259 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_DS, in vm_setup_freebsd_registers() 264 error = vm_set_desc(vmctx, vcpu, VM_REG_GUEST_ES, in vm_setup_freebsd_registers() [all …]
|
| H A D | vmmapi.h | 138 int vm_set_desc(struct vmctx *ctx, int vcpu, int reg, 140 int vm_get_desc(struct vmctx *ctx, int vcpu, int reg, 142 int vm_get_seg_desc(struct vmctx *ctx, int vcpu, int reg, 156 int vm_lapic_irq(struct vmctx *ctx, int vcpu, int vector); 163 int vm_readwrite_kernemu_device(struct vmctx *ctx, int vcpu, 170 int vm_inject_nmi(struct vmctx *ctx, int vcpu); 233 int vcpu_reset(struct vmctx *ctx, int vcpu); 238 int vm_activate_cpu(struct vmctx *ctx, int vcpu); 239 int vm_suspend_cpu(struct vmctx *ctx, int vcpu); 240 int vm_resume_cpu(struct vmctx *ctx, int vcpu); [all …]
|
| H A D | vmmapi.c | 628 vmreg.cpuid = vcpu; in vm_set_register() 643 vmreg.cpuid = vcpu; in vm_get_register() 722 exc.cpuid = vcpu; in vm_inject_exception() 822 .vcpuid = vcpu, in vm_readwrite_kernemu_device() 1022 pptmsi.vcpu = vcpu; in vm_setup_pptdev_msi() 1040 pptmsix.vcpu = vcpu; in vm_setup_pptdev_msix() 1325 gg.vcpuid = vcpu; in vm_gla2gpa() 1346 gg.vcpuid = vcpu; in vm_gla2gpa_nofault() 1492 ac.vcpuid = vcpu; in vm_activate_cpu() 1504 ac.vcpuid = vcpu; in vm_suspend_cpu() [all …]
|
| /freebsd-13.1/sys/amd64/vmm/intel/ |
| H A D | vmx.c | 1651 vmxctx = &vmx->ctx[vcpu]; in vmx_emulate_xsetbv() 1725 vmxctx = &vmx->ctx[vcpu]; in vmx_get_guest_reg() 1770 vmxctx = &vmx->ctx[vcpu]; in vmx_set_guest_reg() 2344 vmxctx = &vmx->ctx[vcpu]; in vmx_exit_process() 2987 vmcs = &vmx->vmcs[vcpu]; in vmx_run() 2988 vmxctx = &vmx->ctx[vcpu]; in vmx_run() 3126 vmx_run_trace(vmx, vcpu); in vmx_run() 3304 vmcs = &vmx->vmcs[vcpu]; in vmx_modify_intr_shadow() 3459 vcap = vmx->cap[vcpu].set; in vmx_getcap() 4103 vmcs = &vmx->vmcs[vcpu]; in vmx_vmcx_snapshot() [all …]
|
| /freebsd-13.1/sys/amd64/include/ |
| H A D | vmm.h | 188 int vcpu); 259 int vm_get_seg_desc(struct vm *vm, int vcpu, int reg, 261 int vm_set_seg_desc(struct vm *vm, int vcpu, int reg, 265 int vm_inject_nmi(struct vm *vm, int vcpu); 268 int vm_inject_extint(struct vm *vm, int vcpu); 279 int vm_activate_cpu(struct vm *vm, int vcpu); 280 int vm_suspend_cpu(struct vm *vm, int vcpu); 281 int vm_resume_cpu(struct vm *vm, int vcpu); 366 vcpu_should_yield(struct vm *vm, int vcpu) in vcpu_should_yield() argument 378 void *vcpu_stats(struct vm *vm, int vcpu); [all …]
|
| /freebsd-13.1/sys/dev/xen/timer/ |
| H A D | timer.c | 162 xen_fetch_vcpu_time(struct vcpu_info *vcpu) in xen_fetch_vcpu_time() argument 166 time = (struct pvclock_vcpu_time_info *) &vcpu->time; in xen_fetch_vcpu_time() 289 xentimer_vcpu_start_timer(int vcpu, uint64_t next_time) in xentimer_vcpu_start_timer() argument 296 return (HYPERVISOR_vcpu_op(VCPUOP_set_singleshot_timer, vcpu, &single)); in xentimer_vcpu_start_timer() 300 xentimer_vcpu_stop_timer(int vcpu) in xentimer_vcpu_stop_timer() argument 303 return (HYPERVISOR_vcpu_op(VCPUOP_stop_singleshot_timer, vcpu, NULL)); in xentimer_vcpu_stop_timer() 326 struct vcpu_info *vcpu = DPCPU_GET(vcpu_info); in xentimer_et_start() local 339 next_time = xen_fetch_vcpu_time(vcpu) + first_in_ns; in xentimer_et_start() 525 struct vcpu_info *vcpu = &HYPERVISOR_shared_info->vcpu_info[0]; in xen_delay() local 529 end_ns = xen_fetch_vcpu_time(vcpu); in xen_delay() [all …]
|
| /freebsd-13.1/sys/xen/interface/ |
| H A D | event_channel.h | 145 uint32_t vcpu; member 174 uint32_t vcpu; member 221 uint32_t vcpu; /* VCPU to which this channel is bound. */ member 251 uint32_t vcpu; member 292 uint32_t vcpu; member
|