vcpu_info
v = DPCPU_GET(vcpu_info);
DPCPU_DECLARE(struct vcpu_info *, vcpu_info);
xen_fetch_vcpu_time(struct vcpu_info *vcpu)
vcpu_time = xen_fetch_vcpu_time(DPCPU_GET(vcpu_info));
uptime = xen_fetch_vcpu_time(DPCPU_GET(vcpu_info));
xen_fetch_vcpu_time(DPCPU_GET(vcpu_info));
pcpu->last_processed = xen_fetch_vcpu_time(DPCPU_GET(vcpu_info));
struct vcpu_info *vcpu = DPCPU_GET(vcpu_info);
struct vcpu_info *vcpu = &HYPERVISOR_shared_info->vcpu_info[0];
DPCPU_DECLARE(struct vcpu_info *, vcpu_info);
DPCPU_ID_SET(i, vcpu_info, NULL);
if (DPCPU_GET(vcpu_info) != NULL) {
DPCPU_DECLARE(struct vcpu_info *, vcpu_info);
DPCPU_DEFINE(struct vcpu_info *, vcpu_info);
vcpu_info_t *vcpu_info = DPCPU_PTR(vcpu_local_info);
.mfn = vtophys(vcpu_info) >> PAGE_SHIFT,
.offset = vtophys(vcpu_info) & PAGE_MASK,
_Static_assert(sizeof(struct vcpu_info) <= 64,
DPCPU_SET(vcpu_info, vcpu_info);
else if (cpu < nitems(HYPERVISOR_shared_info->vcpu_info)) {
DPCPU_SET(vcpu_info, &HYPERVISOR_shared_info->vcpu_info[cpu]);
vm_resume_cpu(vcpu_info[vcpuid].vcpu);
} *vcpu_info;
return (vcpu_info[vcpuid].vcpu);
struct vcpu_info *vi = param;
struct vcpu_info *vi;
vi = &vcpu_info[vcpuid];
return (vm_suspend_cpu(vcpu_info[vcpuid].vcpu));
vcpu_info = calloc(guest_ncpus, sizeof(*vcpu_info));
vcpu_info[vcpuid].ctx = ctx;
vcpu_info[vcpuid].vcpuid = vcpuid;
vcpu_info[vcpuid].vcpu = bsp;
vcpu_info[vcpuid].vcpu = vm_vcpu_open(ctx, vcpuid);
bhyve_start_vcpu(vcpu_info[vcpuid].vcpu, vcpuid == BSP);