Home
last modified time | relevance | path

Searched refs:vcpu (Results 1 – 25 of 76) sorted by relevance

1234

/freebsd-14-stable/sys/amd64/vmm/amd/
HDsvm.c288 svm_set_tsc_offset(struct svm_vcpu *vcpu, uint64_t offset) in svm_set_tsc_offset() argument
292 ctrl = svm_get_vmcb_ctrl(vcpu); in svm_set_tsc_offset()
295 svm_set_dirty(vcpu, VMCB_CACHE_I); in svm_set_tsc_offset()
296 SVM_CTR1(vcpu, "tsc offset changed to %#lx", offset); in svm_set_tsc_offset()
298 vm_set_tsc_offset(vcpu->vcpu, offset); in svm_set_tsc_offset()
384 svm_get_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask) in svm_get_intercept() argument
390 ctrl = svm_get_vmcb_ctrl(vcpu); in svm_get_intercept()
395 svm_set_intercept(struct svm_vcpu *vcpu, int idx, uint32_t bitmask, int enabled) in svm_set_intercept() argument
402 ctrl = svm_get_vmcb_ctrl(vcpu); in svm_set_intercept()
411 svm_set_dirty(vcpu, VMCB_CACHE_I); in svm_set_intercept()
[all …]
HDsvm_softc.h52 struct vcpu *vcpu; member
77 #define SVM_CTR0(vcpu, format) \ argument
78 VCPU_CTR0((vcpu)->sc->vm, (vcpu)->vcpuid, format)
80 #define SVM_CTR1(vcpu, format, p1) \ argument
81 VCPU_CTR1((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1)
83 #define SVM_CTR2(vcpu, format, p1, p2) \ argument
84 VCPU_CTR2((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2)
86 #define SVM_CTR3(vcpu, format, p1, p2, p3) \ argument
87 VCPU_CTR3((vcpu)->sc->vm, (vcpu)->vcpuid, format, p1, p2, p3)
89 #define SVM_CTR4(vcpu, format, p1, p2, p3, p4) \ argument
[all …]
HDvmcb.c118 vmcb_access(struct svm_vcpu *vcpu, int write, int ident, uint64_t *val) in vmcb_access() argument
124 vmcb = svm_get_vmcb(vcpu); in vmcb_access()
147 SVM_CTR1(vcpu, "Invalid size %d for VMCB access: %d", bytes); in vmcb_access()
153 svm_set_dirty(vcpu, 0xffffffff); in vmcb_access()
162 vmcb_read(struct svm_vcpu *vcpu, int ident, uint64_t *retval) in vmcb_read() argument
169 vmcb = svm_get_vmcb(vcpu); in vmcb_read()
174 return (vmcb_access(vcpu, 0, ident, retval)); in vmcb_read()
248 *retval = vlapic_get_cr8(vm_lapic(vcpu->vcpu)); in vmcb_read()
268 vmcb_write(struct svm_vcpu *vcpu, int ident, uint64_t val) in vmcb_write() argument
275 vmcb = svm_get_vmcb(vcpu); in vmcb_write()
[all …]
HDsvm_msr.c73 svm_msr_guest_init(struct svm_softc *sc, struct svm_vcpu *vcpu) in svm_msr_guest_init() argument
87 svm_msr_guest_enter(struct svm_vcpu *vcpu) in svm_msr_guest_enter() argument
95 svm_msr_guest_exit(struct svm_vcpu *vcpu) in svm_msr_guest_exit() argument
109 svm_rdmsr(struct svm_vcpu *vcpu, u_int num, uint64_t *result, bool *retu) in svm_rdmsr() argument
124 if (vm_rdmtrr(&vcpu->mtrr, num, result) != 0) { in svm_rdmsr()
125 vm_inject_gp(vcpu->vcpu); in svm_rdmsr()
142 svm_wrmsr(struct svm_vcpu *vcpu, u_int num, uint64_t val, bool *retu) in svm_wrmsr() argument
156 if (vm_wrmtrr(&vcpu->mtrr, num, val) != 0) { in svm_wrmsr()
157 vm_inject_gp(vcpu->vcpu); in svm_wrmsr()
174 svm_set_tsc_offset(vcpu, val - rdtsc()); in svm_wrmsr()
/freebsd-14-stable/sys/amd64/vmm/
HDvmm.c101 struct vcpu { struct
186 struct vcpu **vcpu; /* (o) guest vcpus */ member
196 #define VMM_CTR0(vcpu, format) \ argument
197 VCPU_CTR0((vcpu)->vm, (vcpu)->vcpuid, format)
199 #define VMM_CTR1(vcpu, format, p1) \ argument
200 VCPU_CTR1((vcpu)->vm, (vcpu)->vcpuid, format, p1)
202 #define VMM_CTR2(vcpu, format, p1, p2) \ argument
203 VCPU_CTR2((vcpu)->vm, (vcpu)->vcpuid, format, p1, p2)
205 #define VMM_CTR3(vcpu, format, p1, p2, p3) \ argument
206 VCPU_CTR3((vcpu)->vm, (vcpu)->vcpuid, format, p1, p2, p3)
[all …]
HDvmm_lapic.h32 struct vcpu;
36 int lapic_rdmsr(struct vcpu *vcpu, u_int msr, uint64_t *rval, bool *retu);
37 int lapic_wrmsr(struct vcpu *vcpu, u_int msr, uint64_t wval, bool *retu);
39 int lapic_mmio_read(struct vcpu *vcpu, uint64_t gpa,
41 int lapic_mmio_write(struct vcpu *vcpu, uint64_t gpa,
48 int lapic_set_intr(struct vcpu *vcpu, int vector, bool trig);
53 lapic_intr_level(struct vcpu *vcpu, int vector) in lapic_intr_level() argument
56 return (lapic_set_intr(vcpu, vector, LAPIC_TRIG_LEVEL)); in lapic_intr_level()
60 lapic_intr_edge(struct vcpu *vcpu, int vector) in lapic_intr_edge() argument
63 return (lapic_set_intr(vcpu, vector, LAPIC_TRIG_EDGE)); in lapic_intr_edge()
[all …]
HDvmm_instruction_emul.c295 vie_read_register(struct vcpu *vcpu, enum vm_reg_name reg, uint64_t *rval) in vie_read_register() argument
299 error = vm_get_register(vcpu, reg, rval); in vie_read_register()
331 vie_read_bytereg(struct vcpu *vcpu, struct vie *vie, uint8_t *rval) in vie_read_bytereg() argument
338 error = vm_get_register(vcpu, reg, &val); in vie_read_bytereg()
352 vie_write_bytereg(struct vcpu *vcpu, struct vie *vie, uint8_t byte) in vie_write_bytereg() argument
359 error = vm_get_register(vcpu, reg, &origval); in vie_write_bytereg()
372 error = vm_set_register(vcpu, reg, val); in vie_write_bytereg()
378 vie_update_register(struct vcpu *vcpu, enum vm_reg_name reg, in vie_update_register() argument
387 error = vie_read_register(vcpu, reg, &origval); in vie_update_register()
402 error = vm_set_register(vcpu, reg, val); in vie_update_register()
[all …]
HDvmm_lapic.c51 lapic_set_intr(struct vcpu *vcpu, int vector, bool level) in lapic_set_intr() argument
62 vlapic = vm_lapic(vcpu); in lapic_set_intr()
64 vcpu_notify_event(vcpu, true); in lapic_set_intr()
69 lapic_set_local_intr(struct vm *vm, struct vcpu *vcpu, int vector) in lapic_set_local_intr() argument
75 if (vcpu == NULL) { in lapic_set_local_intr()
85 vlapic = vm_lapic(vcpu); in lapic_set_local_intr()
151 lapic_rdmsr(struct vcpu *vcpu, u_int msr, uint64_t *rval, bool *retu) in lapic_rdmsr() argument
157 vlapic = vm_lapic(vcpu); in lapic_rdmsr()
171 lapic_wrmsr(struct vcpu *vcpu, u_int msr, uint64_t val, bool *retu) in lapic_wrmsr() argument
177 vlapic = vm_lapic(vcpu); in lapic_wrmsr()
[all …]
HDvmm_stat.h46 typedef void (*vmm_stat_func_t)(struct vcpu *vcpu,
88 int vmm_stat_copy(struct vcpu *vcpu, int index, int count,
93 vmm_stat_array_incr(struct vcpu *vcpu, struct vmm_stat_type *vst, int statidx, in vmm_stat_array_incr() argument
99 stats = vcpu_stats(vcpu); in vmm_stat_array_incr()
107 vmm_stat_array_set(struct vcpu *vcpu, struct vmm_stat_type *vst, int statidx, in vmm_stat_array_set() argument
113 stats = vcpu_stats(vcpu); in vmm_stat_array_set()
121 vmm_stat_incr(struct vcpu *vcpu, struct vmm_stat_type *vst, uint64_t x) in vmm_stat_incr() argument
125 vmm_stat_array_incr(vcpu, vst, 0, x); in vmm_stat_incr()
130 vmm_stat_set(struct vcpu *vcpu, struct vmm_stat_type *vst, uint64_t val) in vmm_stat_set() argument
134 vmm_stat_array_set(vcpu, vst, 0, val); in vmm_stat_set()
/freebsd-14-stable/sys/amd64/include/
HDvmm.h36 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);
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);
[all …]
HDvmm_instruction_emul.h37 typedef int (*mem_region_read_t)(struct vcpu *vcpu, uint64_t gpa,
40 typedef int (*mem_region_write_t)(struct vcpu *vcpu, uint64_t gpa,
54 int vmm_emulate_instruction(struct vcpu *vcpu, uint64_t gpa, struct vie *vie,
58 int vie_update_register(struct vcpu *vcpu, enum vm_reg_name reg,
82 int vmm_fetch_instruction(struct vcpu *vcpu,
95 int vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging,
102 int vm_gla2gpa_nofault(struct vcpu *vcpu, struct vm_guest_paging *paging,
122 int vmm_decode_instruction(struct vcpu *vcpu, uint64_t gla,
/freebsd-14-stable/lib/libvmmapi/
HDvmmapi.h47 struct vcpu;
124 struct vcpu *vm_vcpu_open(struct vmctx *ctx, int vcpuid);
125 void vm_vcpu_close(struct vcpu *vcpu);
126 int vcpu_id(struct vcpu *vcpu);
133 int vm_gla2gpa(struct vcpu *vcpu, struct vm_guest_paging *paging,
135 int vm_gla2gpa_nofault(struct vcpu *vcpu,
145 int vm_set_desc(struct vcpu *vcpu, int reg,
147 int vm_get_desc(struct vcpu *vcpu, int reg,
149 int vm_get_seg_desc(struct vcpu *vcpu, int reg, struct seg_desc *seg_desc);
150 int vm_set_register(struct vcpu *vcpu, int reg, uint64_t val);
[all …]
HDvmmapi_freebsd.c71 vm_setup_freebsd_registers_i386(struct vcpu *vcpu, uint32_t eip, in vm_setup_freebsd_registers_i386() argument
81 error = vm_get_capability(vcpu, VM_CAP_UNRESTRICTED_GUEST, &tmp); in vm_setup_freebsd_registers_i386()
84 error = vm_set_capability(vcpu, VM_CAP_UNRESTRICTED_GUEST, 1); in vm_setup_freebsd_registers_i386()
89 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR0, cr0)) != 0) in vm_setup_freebsd_registers_i386()
92 if ((error = vm_set_register(vcpu, VM_REG_GUEST_CR4, 0)) != 0) in vm_setup_freebsd_registers_i386()
99 if ((error = vm_set_register(vcpu, VM_REG_GUEST_EFER, 0))) in vm_setup_freebsd_registers_i386()
102 gdt = vm_map_gpa(vcpu->ctx, gdtbase, 0x1000); in vm_setup_freebsd_registers_i386()
108 error = vm_set_desc(vcpu, VM_REG_GUEST_GDTR, in vm_setup_freebsd_registers_i386()
118 error = vm_set_register(vcpu, VM_REG_GUEST_RFLAGS, rflags); in vm_setup_freebsd_registers_i386()
125 error = vm_set_desc(vcpu, VM_REG_GUEST_CS, in vm_setup_freebsd_registers_i386()
[all …]
HDvmmapi.c160 struct vcpu *
163 struct vcpu *vcpu; in vm_vcpu_open() local
165 vcpu = malloc(sizeof(*vcpu)); in vm_vcpu_open()
166 vcpu->ctx = ctx; in vm_vcpu_open()
167 vcpu->vcpuid = vcpuid; in vm_vcpu_open()
168 return (vcpu); in vm_vcpu_open()
172 vm_vcpu_close(struct vcpu *vcpu) in vm_vcpu_close() argument
174 free(vcpu); in vm_vcpu_close()
178 vcpu_id(struct vcpu *vcpu) in vcpu_id() argument
180 return (vcpu->vcpuid); in vcpu_id()
[all …]
/freebsd-14-stable/usr.sbin/bhyve/amd64/
HDtask_switch.c101 GETREG(struct vcpu *vcpu, int reg) in GETREG() argument
106 error = vm_get_register(vcpu, reg, &val); in GETREG()
112 SETREG(struct vcpu *vcpu, int reg, uint64_t val) in SETREG() argument
116 error = vm_set_register(vcpu, reg, val); in SETREG()
152 sel_exception(struct vcpu *vcpu, int vector, uint16_t sel, int ext) in sel_exception() argument
166 vm_inject_fault(vcpu, vector, 1, sel); in sel_exception()
174 desc_table_limit_check(struct vcpu *vcpu, uint16_t sel) in desc_table_limit_check() argument
181 error = vm_get_desc(vcpu, reg, &base, &limit, &access); in desc_table_limit_check()
204 desc_table_rw(struct vcpu *vcpu, struct vm_guest_paging *paging, in desc_table_rw() argument
214 error = vm_get_desc(vcpu, reg, &base, &limit, &access); in desc_table_rw()
[all …]
HDvmexit.c60 vm_inject_fault(struct vcpu *vcpu, int vector, int errcode_valid, in vm_inject_fault() argument
67 error = vm_inject_exception(vcpu, vector, errcode_valid, errcode, in vm_inject_fault()
73 vmexit_inout(struct vmctx *ctx, struct vcpu *vcpu, struct vm_run *vmrun) in vmexit_inout() argument
84 error = emulate_inout(ctx, vcpu, vme); in vmexit_inout()
97 vmexit_rdmsr(struct vmctx *ctx __unused, struct vcpu *vcpu, in vmexit_rdmsr() argument
108 error = emulate_rdmsr(vcpu, vme->u.msr.code, &val); in vmexit_rdmsr()
111 vme->u.msr.code, vcpu_id(vcpu)); in vmexit_rdmsr()
113 vm_inject_gp(vcpu); in vmexit_rdmsr()
119 error = vm_set_register(vcpu, VM_REG_GUEST_RAX, eax); in vmexit_rdmsr()
123 error = vm_set_register(vcpu, VM_REG_GUEST_RDX, edx); in vmexit_rdmsr()
[all …]
HDbhyverun_machdep.c67 bhyve_init_vcpu(struct vcpu *vcpu) in bhyve_init_vcpu() argument
72 err = vm_get_capability(vcpu, VM_CAP_HALT_EXIT, &tmp); in bhyve_init_vcpu()
77 vm_set_capability(vcpu, VM_CAP_HALT_EXIT, 1); in bhyve_init_vcpu()
84 err = vm_get_capability(vcpu, VM_CAP_PAUSE_EXIT, &tmp); in bhyve_init_vcpu()
89 vm_set_capability(vcpu, VM_CAP_PAUSE_EXIT, 1); in bhyve_init_vcpu()
93 err = vm_set_x2apic_state(vcpu, X2APIC_ENABLED); in bhyve_init_vcpu()
95 err = vm_set_x2apic_state(vcpu, X2APIC_DISABLED); in bhyve_init_vcpu()
102 vm_set_capability(vcpu, VM_CAP_ENABLE_INVPCID, 1); in bhyve_init_vcpu()
104 err = vm_set_capability(vcpu, VM_CAP_IPI_EXIT, 1); in bhyve_init_vcpu()
109 bhyve_start_vcpu(struct vcpu *vcpu, bool bsp) in bhyve_start_vcpu() argument
[all …]
/freebsd-14-stable/sys/amd64/vmm/intel/
HDvmx.c1121 vmx_vcpu_init(void *vmi, struct vcpu *vcpu1, int vcpuid) in vmx_vcpu_init()
1125 struct vmx_vcpu *vcpu; in vmx_vcpu_init() local
1132 vcpu = malloc(sizeof(*vcpu), M_VMX, M_WAITOK | M_ZERO); in vmx_vcpu_init()
1133 vcpu->vmx = vmx; in vmx_vcpu_init()
1134 vcpu->vcpu = vcpu1; in vmx_vcpu_init()
1135 vcpu->vcpuid = vcpuid; in vmx_vcpu_init()
1136 vcpu->vmcs = malloc_aligned(sizeof(*vmcs), PAGE_SIZE, M_VMX, in vmx_vcpu_init()
1138 vcpu->apic_page = malloc_aligned(PAGE_SIZE, PAGE_SIZE, M_VMX, in vmx_vcpu_init()
1140 vcpu->pir_desc = malloc_aligned(sizeof(*vcpu->pir_desc), 64, M_VMX, in vmx_vcpu_init()
1143 vmcs = vcpu->vmcs; in vmx_vcpu_init()
[all …]
HDvmx_msr.c313 vmx_msr_guest_init(struct vmx *vmx, struct vmx_vcpu *vcpu) in vmx_msr_guest_init() argument
319 if (vcpu->vcpuid == 0) { in vmx_msr_guest_init()
330 vcpu->guest_msrs[IDX_MSR_PAT] = PAT_VALUE(0, PAT_WRITE_BACK) | in vmx_msr_guest_init()
343 vmx_msr_guest_enter(struct vmx_vcpu *vcpu) in vmx_msr_guest_enter() argument
348 wrmsr(MSR_LSTAR, vcpu->guest_msrs[IDX_MSR_LSTAR]); in vmx_msr_guest_enter()
349 wrmsr(MSR_CSTAR, vcpu->guest_msrs[IDX_MSR_CSTAR]); in vmx_msr_guest_enter()
350 wrmsr(MSR_STAR, vcpu->guest_msrs[IDX_MSR_STAR]); in vmx_msr_guest_enter()
351 wrmsr(MSR_SF_MASK, vcpu->guest_msrs[IDX_MSR_SF_MASK]); in vmx_msr_guest_enter()
352 wrmsr(MSR_KGSBASE, vcpu->guest_msrs[IDX_MSR_KGSBASE]); in vmx_msr_guest_enter()
356 vmx_msr_guest_enter_tsc_aux(struct vmx *vmx, struct vmx_vcpu *vcpu) in vmx_msr_guest_enter_tsc_aux() argument
[all …]
HDvmx.h129 struct vcpu *vcpu; member
152 #define VMX_CTR0(vcpu, format) \ argument
153 VCPU_CTR0((vcpu)->vmx->vm, (vcpu)->vcpuid, format)
155 #define VMX_CTR1(vcpu, format, p1) \ argument
156 VCPU_CTR1((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1)
158 #define VMX_CTR2(vcpu, format, p1, p2) \ argument
159 VCPU_CTR2((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1, p2)
161 #define VMX_CTR3(vcpu, format, p1, p2, p3) \ argument
162 VCPU_CTR3((vcpu)->vmx->vm, (vcpu)->vcpuid, format, p1, p2, p3)
164 #define VMX_CTR4(vcpu, format, p1, p2, p3, p4) \ argument
[all …]
/freebsd-14-stable/usr.sbin/bhyvectl/
HDbhyvectl.c159 dump_vm_run_exitcode(struct vm_exit *vmexit, int vcpu) in dump_vm_run_exitcode() argument
161 printf("vm exit[%d]\n", vcpu); in dump_vm_run_exitcode()
243 print_msr_pm(uint64_t msr, int vcpu, int readable, int writeable) in print_msr_pm() argument
247 printf("%-20s[%d]\t\t%c%c\n", msr_name(msr), vcpu, in print_msr_pm()
256 dump_amd_msr_pm(const char *bitmap, int vcpu) in dump_amd_msr_pm() argument
268 print_msr_pm(msr, vcpu, readable, writeable); in dump_amd_msr_pm()
274 print_msr_pm(msr + MSR_AMD6TH_START, vcpu, readable, in dump_amd_msr_pm()
281 print_msr_pm(msr + MSR_AMD7TH_START, vcpu, readable, in dump_amd_msr_pm()
290 dump_intel_msr_pm(const char *bitmap, int vcpu) in dump_intel_msr_pm() argument
302 print_msr_pm(msr, vcpu, readable, writeable); in dump_intel_msr_pm()
[all …]
/freebsd-14-stable/usr.sbin/bhyve/
HDbhyverun.c109 static void vm_loop(struct vmctx *ctx, struct vcpu *vcpu);
113 struct vcpu *vcpu; member
285 int vcpu, pcpu; in pincpu_parse() local
287 if (sscanf(opt, "%d:%d", &vcpu, &pcpu) != 2) { in pincpu_parse()
292 if (vcpu < 0) { in pincpu_parse()
293 fprintf(stderr, "invalid vcpu '%d'\n", vcpu); in pincpu_parse()
303 snprintf(key, sizeof(key), "vcpu.%d.cpuset", vcpu); in pincpu_parse()
318 parse_cpuset(int vcpu, const char *list, cpuset_t *set) in parse_cpuset() argument
329 errx(4, "invalid cpuset for vcpu %d: '%s'", vcpu, list); in parse_cpuset()
351 vcpu, list); in parse_cpuset()
[all …]
HDgdb.h31 void gdb_cpu_add(struct vcpu *vcpu);
32 void gdb_cpu_breakpoint(struct vcpu *vcpu, struct vm_exit *vmexit);
33 void gdb_cpu_mtrap(struct vcpu *vcpu);
34 void gdb_cpu_suspend(struct vcpu *vcpu);
35 void gdb_cpu_debug(struct vcpu *vcpu, struct vm_exit *vmexit);
HDmem.c142 typedef int (mem_cb_t)(struct vcpu *vcpu, uint64_t gpa, struct mem_range *mr,
146 mem_read(struct vcpu *vcpu, uint64_t gpa, uint64_t *rval, int size, void *arg) in mem_read() argument
151 error = (*mr->handler)(vcpu, MEM_F_READ, gpa, size, rval, mr->arg1, in mem_read()
157 mem_write(struct vcpu *vcpu, uint64_t gpa, uint64_t wval, int size, void *arg) in mem_write() argument
162 error = (*mr->handler)(vcpu, MEM_F_WRITE, gpa, size, &wval, mr->arg1, in mem_write()
168 access_memory(struct vcpu *vcpu, uint64_t paddr, mem_cb_t *cb, void *arg) in access_memory() argument
173 vcpuid = vcpu_id(vcpu); in access_memory()
215 err = cb(vcpu, paddr, &entry->mr_param, arg); in access_memory()
231 emulate_mem_cb(struct vcpu *vcpu, uint64_t paddr, struct mem_range *mr, in emulate_mem_cb() argument
237 return (vmm_emulate_instruction(vcpu, paddr, ema->vie, ema->paging, in emulate_mem_cb()
[all …]
HDbhyverun.h40 struct vcpu;
49 struct vcpu;
50 struct vcpu *fbsdrun_vcpu(int vcpuid);
57 typedef int (*vmexit_handler_t)(struct vmctx *, struct vcpu *, struct vm_run *);
61 void bhyve_init_vcpu(struct vcpu *vcpu);
62 void bhyve_start_vcpu(struct vcpu *vcpu, bool bsp);
63 int bhyve_init_platform(struct vmctx *ctx, struct vcpu *bsp);
64 int bhyve_init_platform_late(struct vmctx *ctx, struct vcpu *bsp);

1234