Home
last modified time | relevance | path

Searched refs:vcpuid (Results 1 – 25 of 35) sorted by relevance

12

/illumos-gate/usr/src/uts/intel/io/vmm/
H A Dvmm.c311 static bool vcpu_sleep_bailout_checks(struct vm *vm, int vcpuid);
312 static int vcpu_vector_sipi(struct vm *vm, int vcpuid, uint8_t vector);
429 vcpu_trace_exceptions(struct vm *vm, int vcpuid) in vcpu_trace_exceptions() argument
435 vcpu_trap_wbinvd(struct vm *vm, int vcpuid) in vcpu_trap_wbinvd() argument
828 vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa) in vm_mem_allocated() argument
835 state = vcpu_get_state(vm, vcpuid, &hostcpu); in vm_mem_allocated()
1182 vm_get_register(struct vm *vm, int vcpuid, int reg, uint64_t *retval) in vm_get_register() argument
1184 if (vcpuid < 0 || vcpuid >= vm->maxcpus) in vm_get_register()
1190 struct vcpu *vcpu = &vm->vcpu[vcpuid]; in vm_get_register()
1196 return (VMGETREG(vm->cookie, vcpuid, reg, retval)); in vm_get_register()
[all …]
H A Dvmm_instruction_emul.c536 vie_read_bytereg(struct vie *vie, struct vm *vm, int vcpuid, uint8_t *rval) in vie_read_bytereg() argument
543 error = vm_get_register(vm, vcpuid, reg, &val); in vie_read_bytereg()
557 vie_write_bytereg(struct vie *vie, struct vm *vm, int vcpuid, uint8_t byte) in vie_write_bytereg() argument
564 error = vm_get_register(vm, vcpuid, reg, &origval); in vie_write_bytereg()
577 error = vm_set_register(vm, vcpuid, reg, val); in vie_write_bytereg()
583 vie_update_register(struct vm *vm, int vcpuid, enum vm_reg_name reg, in vie_update_register() argument
592 error = vm_get_register(vm, vcpuid, reg, &origval); in vie_update_register()
607 error = vm_set_register(vm, vcpuid, reg, val); in vie_update_register()
782 vie_emulate_mov_cr(struct vie *vie, struct vm *vm, int vcpuid) in vie_emulate_mov_cr() argument
803 vm_inject_gp(vm, vcpuid); in vie_emulate_mov_cr()
[all …]
H A Dvmm_cpuid.c228 cpuid_apply_runtime_reg_state(struct vm *vm, int vcpuid, uint32_t func, in cpuid_apply_runtime_reg_state() argument
243 error = vm_get_register(vm, vcpuid, in cpuid_apply_runtime_reg_state()
258 if (vlapic_hw_disabled(vm_lapic(vm, vcpuid))) { in cpuid_apply_runtime_reg_state()
356 vcpu_emulate_cpuid(struct vm *vm, int vcpuid, uint64_t *rax, uint64_t *rbx, in vcpu_emulate_cpuid() argument
359 const vcpu_cpuid_config_t *cfg = vm_cpuid_config(vm, vcpuid); in vcpu_emulate_cpuid()
373 legacy_emulate_cpuid(vm, vcpuid, &regs[0], &regs[1], &regs[2], in vcpu_emulate_cpuid()
401 cpuid_apply_runtime_reg_state(vm, vcpuid, func, index, &regs[0], in vcpu_emulate_cpuid()
423 vm_get_cpuid(struct vm *vm, int vcpuid, vcpu_cpuid_config_t *res) in vm_get_cpuid() argument
425 if (vcpuid < 0 || vcpuid > VM_MAXCPU) { in vm_get_cpuid()
429 const vcpu_cpuid_config_t *src = vm_cpuid_config(vm, vcpuid); in vm_get_cpuid()
[all …]
/illumos-gate/usr/src/uts/intel/io/vmm/sys/
H A Dvmm_kernel.h182 bool vm_mem_allocated(struct vm *vm, int vcpuid, vm_paddr_t gpa);
190 int vm_get_run_state(struct vm *vm, int vcpuid, uint32_t *state,
192 int vm_set_run_state(struct vm *vm, int vcpuid, uint32_t state,
194 int vm_get_fpu(struct vm *vm, int vcpuid, void *buf, size_t len);
195 int vm_set_fpu(struct vm *vm, int vcpuid, void *buf, size_t len);
196 int vm_run(struct vm *vm, int vcpuid, const struct vm_entry *);
199 bool vm_nmi_pending(struct vm *vm, int vcpuid);
200 void vm_nmi_clear(struct vm *vm, int vcpuid);
202 bool vm_extint_pending(struct vm *vm, int vcpuid);
203 void vm_extint_clear(struct vm *vm, int vcpuid);
[all …]
H A Dvmm_instruction_emul.h68 void vie_cs_info(const struct vie *vie, struct vm *vm, int vcpuid,
74 int vie_emulate_mmio(struct vie *vie, struct vm *vm, int vcpuid);
75 int vie_emulate_inout(struct vie *vie, struct vm *vm, int vcpuid);
76 int vie_emulate_other(struct vie *vie, struct vm *vm, int vcpuid);
94 int vm_gla2gpa(struct vm *vm, int vcpuid, struct vm_guest_paging *paging,
101 int vm_gla2gpa_nofault(struct vm *vm, int vcpuid,
/illumos-gate/usr/src/uts/intel/io/vmm/intel/
H A Dvmx_msr.c163 vmx_msr_bitmap_change_access(struct vmx *vmx, int vcpuid, uint_t msr, int acc) in vmx_msr_bitmap_change_access() argument
165 uint8_t *bitmap = vmx->msr_bitmap[vcpuid]; in vmx_msr_bitmap_change_access()
324 vmx_msr_guest_init(struct vmx *vmx, int vcpuid) in vmx_msr_guest_init() argument
326 uint64_t *guest_msrs = vmx->guest_msrs[vcpuid]; in vmx_msr_guest_init()
349 guest_msr_rw(vmx, vcpuid, MSR_GSBASE); in vmx_msr_guest_init()
350 guest_msr_rw(vmx, vcpuid, MSR_FSBASE); in vmx_msr_guest_init()
351 guest_msr_rw(vmx, vcpuid, MSR_SYSENTER_CS_MSR); in vmx_msr_guest_init()
352 guest_msr_rw(vmx, vcpuid, MSR_SYSENTER_ESP_MSR); in vmx_msr_guest_init()
353 guest_msr_rw(vmx, vcpuid, MSR_SYSENTER_EIP_MSR); in vmx_msr_guest_init()
354 guest_msr_rw(vmx, vcpuid, MSR_EFER); in vmx_msr_guest_init()
[all …]
H A Dvmx_msr.h36 void vmx_msr_guest_init(struct vmx *vmx, int vcpuid);
37 void vmx_msr_guest_enter(struct vmx *vmx, int vcpuid);
38 void vmx_msr_guest_exit(struct vmx *vmx, int vcpuid);
64 #define guest_msr_rw(vmx, vcpuid, msr) \ argument
65 vmx_msr_bitmap_change_access((vmx), (vcpuid), (msr), MSR_BITMAP_ACCESS_RW)
67 #define guest_msr_ro(vmx, vcpuid, msr) \ argument
68 vmx_msr_bitmap_change_access((vmx), (vcpuid), (msr), MSR_BITMAP_ACCESS_READ)
H A Dvmx.c312 vmx_allow_x2apic_msrs(struct vmx *vmx, int vcpuid) in vmx_allow_x2apic_msrs() argument
317 guest_msr_ro(vmx, vcpuid, MSR_APIC_ID); in vmx_allow_x2apic_msrs()
318 guest_msr_ro(vmx, vcpuid, MSR_APIC_VERSION); in vmx_allow_x2apic_msrs()
319 guest_msr_ro(vmx, vcpuid, MSR_APIC_LDR); in vmx_allow_x2apic_msrs()
320 guest_msr_ro(vmx, vcpuid, MSR_APIC_SVR); in vmx_allow_x2apic_msrs()
323 guest_msr_ro(vmx, vcpuid, MSR_APIC_ISR0 + i); in vmx_allow_x2apic_msrs()
324 guest_msr_ro(vmx, vcpuid, MSR_APIC_TMR0 + i); in vmx_allow_x2apic_msrs()
325 guest_msr_ro(vmx, vcpuid, MSR_APIC_IRR0 + i); in vmx_allow_x2apic_msrs()
328 guest_msr_ro(vmx, vcpuid, MSR_APIC_ESR); in vmx_allow_x2apic_msrs()
329 guest_msr_ro(vmx, vcpuid, MSR_APIC_LVT_TIMER); in vmx_allow_x2apic_msrs()
[all …]
/illumos-gate/usr/src/cmd/bhyvectl/
H A Dbhyvectl.c371 int vcpuid = vcpu_id(vcpu); in get_all_registers() local
377 printf("efer[%d]\t\t0x%016lx\n", vcpuid, efer); in get_all_registers()
383 printf("cr0[%d]\t\t0x%016lx\n", vcpuid, cr0); in get_all_registers()
389 printf("cr2[%d]\t\t0x%016lx\n", vcpuid, cr2); in get_all_registers()
395 printf("cr3[%d]\t\t0x%016lx\n", vcpuid, cr3); in get_all_registers()
401 printf("cr4[%d]\t\t0x%016lx\n", vcpuid, cr4); in get_all_registers()
407 printf("dr0[%d]\t\t0x%016lx\n", vcpuid, dr0); in get_all_registers()
413 printf("dr1[%d]\t\t0x%016lx\n", vcpuid, dr1); in get_all_registers()
419 printf("dr2[%d]\t\t0x%016lx\n", vcpuid, dr2); in get_all_registers()
425 printf("dr3[%d]\t\t0x%016lx\n", vcpuid, dr3); in get_all_registers()
[all …]
/illumos-gate/usr/src/lib/libvmm/
H A Dlibvmm.c383 vmm_step(vmm_t *vmm, int vcpuid) in vmm_step() argument
388 if (vcpuid >= vmm->vmm_ncpu) { in vmm_step()
393 ret = vm_set_capability(vmm->vmm_vcpu[vcpuid], VM_CAP_MTRAP_EXIT, 1); in vmm_step()
397 assert(vm_resume_cpu(vmm->vmm_vcpu[vcpuid]) == 0); in vmm_step()
401 } while (!CPU_ISSET(vcpuid, &cpuset)); in vmm_step()
403 (void) vm_set_capability(vmm->vmm_vcpu[vcpuid], VM_CAP_MTRAP_EXIT, 0); in vmm_step()
539 vmm_getreg(vmm_t *vmm, int vcpuid, int reg, uint64_t *val) in vmm_getreg() argument
546 return (vm_get_register(vmm->vmm_vcpu[vcpuid], reg, val)); in vmm_getreg()
550 vmm_setreg(vmm_t *vmm, int vcpuid, int reg, uint64_t val) in vmm_setreg() argument
557 return (vm_set_register(vmm->vmm_vcpu[vcpuid], reg, val)); in vmm_setreg()
[all …]
/illumos-gate/usr/src/cmd/bhyve/common/
H A Dbhyverun.c125 int vcpuid; member
372 fbsdrun_vcpu(int vcpuid) in fbsdrun_vcpu() argument
374 return (vcpu_info[vcpuid].vcpu); in fbsdrun_vcpu()
386 snprintf(tname, sizeof(tname), "vcpu %d", vi->vcpuid); in fbsdrun_start_thread()
390 if (vcpumap[vi->vcpuid] != NULL) { in fbsdrun_start_thread()
392 sizeof(cpuset_t), vcpumap[vi->vcpuid]); in fbsdrun_start_thread()
407 fbsdrun_addcpu(int vcpuid, bool suspend) in fbsdrun_addcpu() argument
413 vi = &vcpu_info[vcpuid]; in fbsdrun_addcpu()
417 err(EX_OSERR, "could not activate CPU %d", vi->vcpuid); in fbsdrun_addcpu()
419 CPU_SET_ATOMIC(vcpuid, &cpumask); in fbsdrun_addcpu()
[all …]
H A Dgdb.c749 int vcpuid = vcpu_id(vcpu); in _gdb_cpu_suspend() local
751 debug("$vCPU %d suspending\n", vcpuid); in _gdb_cpu_suspend()
752 CPU_SET(vcpuid, &vcpus_waiting); in _gdb_cpu_suspend()
755 while (CPU_ISSET(vcpuid, &vcpus_suspended)) in _gdb_cpu_suspend()
757 CPU_CLR(vcpuid, &vcpus_waiting); in _gdb_cpu_suspend()
758 debug("$vCPU %d resuming\n", vcpuid); in _gdb_cpu_suspend()
768 int vcpuid; in gdb_cpu_add() local
772 vcpuid = vcpu_id(vcpu); in gdb_cpu_add()
773 debug("$vCPU %d starting\n", vcpuid); in gdb_cpu_add()
775 assert(vcpuid < guest_ncpus); in gdb_cpu_add()
[all …]
H A Dbhyverun.h58 struct vcpu *fbsdrun_vcpu(int vcpuid);
59 void fbsdrun_addcpu(int vcpuid, bool);
60 void fbsdrun_deletecpu(int vcpuid);
H A Dmem.c182 int err, perror, immutable, vcpuid; in access_memory() local
184 vcpuid = vcpu_id(vcpu); in access_memory()
189 if (mmio_hint[vcpuid] && in access_memory()
190 paddr >= mmio_hint[vcpuid]->mr_base && in access_memory()
191 paddr <= mmio_hint[vcpuid]->mr_end) { in access_memory()
192 entry = mmio_hint[vcpuid]; in access_memory()
199 mmio_hint[vcpuid] = entry; in access_memory()
/illumos-gate/usr/src/uts/intel/io/vmm/io/
H A Dvlapic.c136 return (vlapic->vcpuid); in vlapic_get_id()
138 return (vlapic->vcpuid << 24); in vlapic_get_id()
500 vcpu_notify_event_type(vlapic->vm, vlapic->vcpuid, notify); in vlapic_fire_lvt()
503 (void) vm_inject_nmi(vlapic->vm, vlapic->vcpuid); in vlapic_fire_lvt()
506 (void) vm_inject_extint(vlapic->vm, vlapic->vcpuid); in vlapic_fire_lvt()
612 vioapic_process_eoi(vlapic->vm, vlapic->vcpuid, in vlapic_process_eoi()
618 vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_GRATUITOUS_EOI, 1); in vlapic_process_eoi()
654 vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_INTR_ERROR, 1); in vlapic_set_error()
666 vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_INTR_TIMER, 1); in vlapic_fire_timer()
678 vmm_stat_incr(vlapic->vm, vlapic->vcpuid, VLAPIC_INTR_CMC, 1); in vlapic_fire_cmci()
[all …]
H A Dvioapic.c240 vioapic_read(struct vioapic *vioapic, int vcpuid, uint32_t addr) in vioapic_read() argument
275 vioapic_write(struct vioapic *vioapic, int vcpuid, uint32_t addr, uint32_t data) in vioapic_write() argument
330 vioapic_mmio_rw(struct vioapic *vioapic, int vcpuid, uint64_t gpa, in vioapic_mmio_rw() argument
355 *data = vioapic_read(vioapic, vcpuid, in vioapic_mmio_rw()
358 vioapic_write(vioapic, vcpuid, vioapic->ioregsel, in vioapic_mmio_rw()
368 vioapic_mmio_read(struct vm *vm, int vcpuid, uint64_t gpa, uint64_t *rval, in vioapic_mmio_read() argument
375 error = vioapic_mmio_rw(vioapic, vcpuid, gpa, rval, size, true); in vioapic_mmio_read()
380 vioapic_mmio_write(struct vm *vm, int vcpuid, uint64_t gpa, uint64_t wval, in vioapic_mmio_write() argument
387 error = vioapic_mmio_rw(vioapic, vcpuid, gpa, &wval, size, false); in vioapic_mmio_write()
392 vioapic_process_eoi(struct vm *vm, int vcpuid, int vector) in vioapic_process_eoi() argument
H A Dvioapic.h55 int vioapic_mmio_write(struct vm *vm, int vcpuid, uint64_t gpa, uint64_t wval,
57 int vioapic_mmio_read(struct vm *vm, int vcpuid, uint64_t gpa, uint64_t *rval,
61 void vioapic_process_eoi(struct vm *vm, int vcpuid, int vector);
H A Dvhpet.h43 int vhpet_mmio_write(struct vm *vm, int vcpuid, uint64_t gpa, uint64_t val,
45 int vhpet_mmio_read(struct vm *vm, int vcpuid, uint64_t gpa, uint64_t *val,
/illumos-gate/usr/src/lib/libvmmapi/common/
H A Dvmmapi.c250 vm_vcpu_open(struct vmctx *ctx, int vcpuid) in vm_vcpu_open() argument
260 vcpu->vcpuid = vcpuid; in vm_vcpu_open()
273 return (vcpu->vcpuid); in vcpu_id()
786 *(int *)arg = vcpu->vcpuid; in vcpu_ioctl()
810 vmsegdesc.cpuid = vcpu->vcpuid; in vm_set_desc()
828 vmsegdesc.cpuid = vcpu->vcpuid; in vm_get_desc()
857 vmreg.cpuid = vcpu->vcpuid; in vm_set_register()
872 vmreg.cpuid = vcpu->vcpuid; in vm_get_register()
888 vmregset.cpuid = vcpu->vcpuid; in vm_set_register_set()
905 vmregset.cpuid = vcpu->vcpuid; in vm_get_register_set()
[all …]
H A Dinternal.h14 int vcpuid; member
/illumos-gate/usr/src/uts/intel/sys/
H A Dvmm_dev.h230 int vcpuid; /* inputs */ member
239 int vcpuid; member
259 int vcpuid; member
282 int vcpuid; member
301 int vcpuid; member
306 int vcpuid; member
314 int vcpuid; member
/illumos-gate/usr/src/test/bhyve-tests/tests/vmm/
H A Dmaxcpu.c77 const int vcpuid = bad_inputs[i]; in main() local
84 struct vcpu *vcpu = vm_vcpu_open(ctx, vcpuid); in main()
93 vcpuid); in main()
/illumos-gate/usr/src/test/bhyve-tests/tests/inst_emul/
H A Dpayload_suspend_info.c20 start(uint_t vcpuid) in start() argument
22 if (vcpuid == 0) { in start()
/illumos-gate/usr/src/uts/intel/io/vmm/amd/
H A Dsvm_pmu.c365 svm_pmu_data_read(struct vm *vm, int vcpuid, const vmm_data_req_t *req) in svm_pmu_data_read() argument
372 struct svm_pmu_vcpu *pmu = svm_get_pmu(svm_sc, vcpuid); in svm_pmu_data_read()
388 svm_pmu_data_write(struct vm *vm, int vcpuid, const vmm_data_req_t *req) in svm_pmu_data_write() argument
395 struct svm_pmu_vcpu *pmu = svm_get_pmu(svm_sc, vcpuid); in svm_pmu_data_write()
H A Dsvm.c107 static void flush_asid(struct svm_softc *sc, int vcpuid);
1774 check_asid(struct svm_softc *sc, int vcpuid, uint_t thiscpu, uint64_t nptgen) in check_asid() argument
1776 struct svm_vcpu *vcpustate = svm_get_vcpu(sc, vcpuid); in check_asid()
1777 struct vmcb_ctrl *ctrl = svm_get_vmcb_ctrl(sc, vcpuid); in check_asid()
1785 svm_set_dirty(sc, vcpuid, VMCB_CACHE_ASID); in check_asid()
1792 flush_asid(struct svm_softc *sc, int vcpuid) in flush_asid() argument
1794 struct svm_vcpu *vcpustate = svm_get_vcpu(sc, vcpuid); in flush_asid()
1795 struct vmcb_ctrl *ctrl = svm_get_vmcb_ctrl(sc, vcpuid); in flush_asid()
1807 svm_set_dirty(sc, vcpuid, VMCB_CACHE_ASID); in flush_asid()
1873 svm_apply_tsc_adjust(struct svm_softc *svm_sc, int vcpuid) in svm_apply_tsc_adjust() argument
[all …]

12