Lines Matching refs:vcpu
118 static void vm_loop(struct vmctx *ctx, struct vcpu *vcpu);
122 struct vcpu *vcpu; member
364 int vcpu, pcpu; in bhyve_pincpu_parse() local
366 if (sscanf(opt, "%d:%d", &vcpu, &pcpu) != 2) { in bhyve_pincpu_parse()
371 if (vcpu < 0) { in bhyve_pincpu_parse()
372 fprintf(stderr, "invalid vcpu '%d'\n", vcpu); in bhyve_pincpu_parse()
382 snprintf(key, sizeof(key), "vcpu.%d.cpuset", vcpu); in bhyve_pincpu_parse()
397 parse_cpuset(int vcpu, const char *list, cpuset_t *set) in parse_cpuset() argument
408 errx(4, "invalid cpuset for vcpu %d: '%s'", vcpu, list); in parse_cpuset()
430 vcpu, list); in parse_cpuset()
434 errx(4, "invalid cpuset for vcpu %d: '%s'", vcpu, list); in parse_cpuset()
447 int vcpu; in build_vcpumaps() local
450 for (vcpu = 0; vcpu < guest_ncpus; vcpu++) { in build_vcpumaps()
451 snprintf(key, sizeof(key), "vcpu.%d.cpuset", vcpu); in build_vcpumaps()
455 vcpumap[vcpu] = malloc(sizeof(cpuset_t)); in build_vcpumaps()
456 if (vcpumap[vcpu] == NULL) in build_vcpumaps()
457 err(4, "Failed to allocate cpuset for vcpu %d", vcpu); in build_vcpumaps()
458 parse_cpuset(vcpu, value, vcpumap[vcpu]); in build_vcpumaps()
534 struct vcpu *
537 return (vcpu_info[vcpuid].vcpu); in fbsdrun_vcpu()
560 gdb_cpu_add(vi->vcpu); in fbsdrun_start_thread()
563 vm_loop(vi->ctx, vi->vcpu); in fbsdrun_start_thread()
579 error = vm_activate_cpu(vi->vcpu); in fbsdrun_addcpu()
585 error = vm_suspend_cpu(vi->vcpu); in fbsdrun_addcpu()
593 fbsdrun_deletecpu(int vcpu) in fbsdrun_deletecpu() argument
599 if (!CPU_ISSET(vcpu, &cpumask)) { in fbsdrun_deletecpu()
600 EPRINTLN("Attempting to delete unknown cpu %d", vcpu); in fbsdrun_deletecpu()
604 CPU_CLR(vcpu, &cpumask); in fbsdrun_deletecpu()
606 if (vcpu != BSP) { in fbsdrun_deletecpu()
622 return (vm_suspend_cpu(vcpu_info[vcpuid].vcpu)); in fbsdrun_suspendcpu()
626 vm_loop(struct vmctx *ctx, struct vcpu *vcpu) in vm_loop() argument
635 assert(CPU_ISSET(vcpu_id(vcpu), &active_cpus)); in vm_loop()
642 error = vm_run(vcpu, &vmrun); in vm_loop()
653 rc = (*vmexit_handlers[exitcode])(ctx, vcpu, &vmrun); in vm_loop()
668 num_vcpus_allowed(struct vmctx *ctx, struct vcpu *vcpu) in num_vcpus_allowed() argument
677 error = vm_get_capability(vcpu, VM_CAP_UNRESTRICTED_GUEST, &tmp); in num_vcpus_allowed()
799 struct vcpu *bsp; in main()
880 vcpu_info[vcpuid].vcpu = bsp; in main()
882 vcpu_info[vcpuid].vcpu = vm_vcpu_open(ctx, vcpuid); in main()
944 bhyve_start_vcpu(vcpu_info[vcpuid].vcpu, vcpuid == BSP); in main()
1013 vm_resume_cpu(vcpu_info[vcpuid].vcpu); in main()