Symbol: hyp
sys/arm64/include/vmm.h
275
} hyp;
sys/arm64/vmm/arm64.h
273
struct hyp *hyp;
sys/arm64/vmm/io/vgic.c
101
vgic_inject_irq(struct hyp *hyp, int vcpuid, uint32_t irqid, bool level)
sys/arm64/vmm/io/vgic.c
103
return (VGIC_INJECT_IRQ(vgic_dev, hyp, vcpuid, irqid, level));
sys/arm64/vmm/io/vgic.c
107
vgic_inject_msi(struct hyp *hyp, uint64_t msg, uint64_t addr)
sys/arm64/vmm/io/vgic.c
109
return (VGIC_INJECT_MSI(vgic_dev, hyp, msg, addr));
sys/arm64/vmm/io/vgic.c
51
vgic_attach_to_vm(struct hyp *hyp, struct vm_vgic_descr *descr)
sys/arm64/vmm/io/vgic.c
53
return (VGIC_ATTACH_TO_VM(vgic_dev, hyp, descr));
sys/arm64/vmm/io/vgic.c
57
vgic_detach_from_vm(struct hyp *hyp)
sys/arm64/vmm/io/vgic.c
59
VGIC_DETACH_FROM_VM(vgic_dev, hyp);
sys/arm64/vmm/io/vgic.c
63
vgic_vminit(struct hyp *hyp)
sys/arm64/vmm/io/vgic.c
65
VGIC_VMINIT(vgic_dev, hyp);
sys/arm64/vmm/io/vgic.c
81
vgic_vmcleanup(struct hyp *hyp)
sys/arm64/vmm/io/vgic.c
83
VGIC_VMCLEANUP(vgic_dev, hyp);
sys/arm64/vmm/io/vgic.c
87
vgic_max_cpu_count(struct hyp *hyp)
sys/arm64/vmm/io/vgic.c
89
return (VGIC_MAX_CPU_COUNT(vgic_dev, hyp));
sys/arm64/vmm/io/vgic.h
31
struct hyp;
sys/arm64/vmm/io/vgic.h
39
int vgic_attach_to_vm(struct hyp *hyp, struct vm_vgic_descr *descr);
sys/arm64/vmm/io/vgic.h
40
void vgic_detach_from_vm(struct hyp *hyp);
sys/arm64/vmm/io/vgic.h
41
void vgic_vminit(struct hyp *hyp);
sys/arm64/vmm/io/vgic.h
44
void vgic_vmcleanup(struct hyp *hyp);
sys/arm64/vmm/io/vgic.h
45
int vgic_max_cpu_count(struct hyp *hyp);
sys/arm64/vmm/io/vgic.h
47
int vgic_inject_irq(struct hyp *hyp, int vcpuid, uint32_t irqid, bool level);
sys/arm64/vmm/io/vgic.h
48
int vgic_inject_msi(struct hyp *hyp, uint64_t msg, uint64_t addr);
sys/arm64/vmm/io/vgic_v3.c
1001
hyp = hypctx->hyp;
sys/arm64/vmm/io/vgic_v3.c
1002
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1020
vgic = hypctx->hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1072
INJECT_IRQ(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), irqid,
sys/arm64/vmm/io/vgic_v3.c
1375
struct hyp *hyp;
sys/arm64/vmm/io/vgic_v3.c
1381
hyp = hypctx->hyp;
sys/arm64/vmm/io/vgic_v3.c
1382
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1413
struct hyp *hyp;
sys/arm64/vmm/io/vgic_v3.c
1419
hyp = hypctx->hyp;
sys/arm64/vmm/io/vgic_v3.c
1420
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1471
if (vcpu_vcpuid(hypctx->vcpu) == (vgic_max_cpu_count(hypctx->hyp) - 1))
sys/arm64/vmm/io/vgic_v3.c
153
static int vgic_v3_max_cpu_count(device_t dev, struct hyp *hyp);
sys/arm64/vmm/io/vgic_v3.c
155
#define INJECT_IRQ(hyp, vcpuid, irqid, level) \
sys/arm64/vmm/io/vgic_v3.c
156
vgic_v3_inject_irq(NULL, (hyp), (vcpuid), (irqid), (level))
sys/arm64/vmm/io/vgic_v3.c
1618
struct hyp *hyp;
sys/arm64/vmm/io/vgic_v3.c
1626
hyp = hypctx->hyp;
sys/arm64/vmm/io/vgic_v3.c
1627
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1637
if (vcpuid >= vm_get_maxcpus(hyp->vm)) {
sys/arm64/vmm/io/vgic_v3.c
1651
target_hypctx = hyp->ctx[vcpuid];
sys/arm64/vmm/io/vgic_v3.c
1696
struct hyp *hyp;
sys/arm64/vmm/io/vgic_v3.c
1704
hyp = hypctx->hyp;
sys/arm64/vmm/io/vgic_v3.c
1705
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1715
if (vcpuid >= vm_get_maxcpus(hyp->vm)) {
sys/arm64/vmm/io/vgic_v3.c
1728
target_hypctx = hyp->ctx[vcpuid];
sys/arm64/vmm/io/vgic_v3.c
1780
struct hyp *hyp;
sys/arm64/vmm/io/vgic_v3.c
1787
hyp = vm_get_cookie(vm);
sys/arm64/vmm/io/vgic_v3.c
1807
target_vcpuid = mpidr_to_vcpu(hyp,
sys/arm64/vmm/io/vgic_v3.c
1811
INJECT_IRQ(hyp, target_vcpuid, irqid,
sys/arm64/vmm/io/vgic_v3.c
1824
INJECT_IRQ(hyp, target_vcpuid, irqid, true);
sys/arm64/vmm/io/vgic_v3.c
1833
vgic_v3_mmio_init(struct hyp *hyp)
sys/arm64/vmm/io/vgic_v3.c
1840
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1855
vgic_v3_mmio_destroy(struct hyp *hyp)
sys/arm64/vmm/io/vgic_v3.c
1861
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1872
vgic_v3_attach_to_vm(device_t dev, struct hyp *hyp, struct vm_vgic_descr *descr)
sys/arm64/vmm/io/vgic_v3.c
1895
vm = hyp->vm;
sys/arm64/vmm/io/vgic_v3.c
1906
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
1925
vgic_v3_mmio_init(hyp);
sys/arm64/vmm/io/vgic_v3.c
1927
hyp->vgic_attached = true;
sys/arm64/vmm/io/vgic_v3.c
1933
vgic_v3_detach_from_vm(device_t dev, struct hyp *hyp)
sys/arm64/vmm/io/vgic_v3.c
1935
if (hyp->vgic_attached) {
sys/arm64/vmm/io/vgic_v3.c
1936
hyp->vgic_attached = false;
sys/arm64/vmm/io/vgic_v3.c
1937
vgic_v3_mmio_destroy(hyp);
sys/arm64/vmm/io/vgic_v3.c
1942
vgic_v3_get_irq(struct hyp *hyp, int vcpuid, uint32_t irqid)
sys/arm64/vmm/io/vgic_v3.c
1949
if (vcpuid < 0 || vcpuid >= vm_get_maxcpus(hyp->vm))
sys/arm64/vmm/io/vgic_v3.c
1951
hypctx = hyp->ctx[vcpuid];
sys/arm64/vmm/io/vgic_v3.c
1960
irq = &hyp->vgic->irqs[irqid];
sys/arm64/vmm/io/vgic_v3.c
2014
vgic_v3_inject_irq(device_t dev, struct hyp *hyp, int vcpuid, uint32_t irqid,
sys/arm64/vmm/io/vgic_v3.c
2023
if (!hyp->vgic_attached)
sys/arm64/vmm/io/vgic_v3.c
2030
irq = vgic_v3_get_irq(hyp, vcpuid, irqid);
sys/arm64/vmm/io/vgic_v3.c
2040
KASSERT(target_vcpu >= 0 && target_vcpu < vm_get_maxcpus(hyp->vm),
sys/arm64/vmm/io/vgic_v3.c
2047
if (vcpuid < 0 || vcpuid >= vm_get_maxcpus(hyp->vm)) {
sys/arm64/vmm/io/vgic_v3.c
2052
hypctx = hyp->ctx[vcpuid];
sys/arm64/vmm/io/vgic_v3.c
2072
notify = vgic_v3_queue_irq(hyp, vgic_cpu, vcpuid, irq);
sys/arm64/vmm/io/vgic_v3.c
2079
vcpu_notify_event(vm_vcpu(hyp->vm, vcpuid));
sys/arm64/vmm/io/vgic_v3.c
2085
vgic_v3_inject_msi(device_t dev, struct hyp *hyp, uint64_t msg, uint64_t addr)
sys/arm64/vmm/io/vgic_v3.c
2090
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
2101
return (INJECT_IRQ(hyp, -1, msg, true));
sys/arm64/vmm/io/vgic_v3.c
2210
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
421
static struct vgic_v3_irq *vgic_v3_get_irq(struct hyp *, int, uint32_t);
sys/arm64/vmm/io/vgic_v3.c
426
mpidr_to_vcpu(struct hyp *hyp, uint64_t mpidr)
sys/arm64/vmm/io/vgic_v3.c
431
vm = hyp->vm;
sys/arm64/vmm/io/vgic_v3.c
433
hypctx = hyp->ctx[i];
sys/arm64/vmm/io/vgic_v3.c
441
vgic_v3_vminit(device_t dev, struct hyp *hyp)
sys/arm64/vmm/io/vgic_v3.c
445
hyp->vgic = malloc(sizeof(*hyp->vgic), M_VGIC_V3,
sys/arm64/vmm/io/vgic_v3.c
447
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
556
vgic_v3_vmcleanup(device_t dev, struct hyp *hyp)
sys/arm64/vmm/io/vgic_v3.c
558
mtx_destroy(&hyp->vgic->dist_mtx);
sys/arm64/vmm/io/vgic_v3.c
559
free(hyp->vgic, M_VGIC_V3);
sys/arm64/vmm/io/vgic_v3.c
563
vgic_v3_max_cpu_count(device_t dev, struct hyp *hyp)
sys/arm64/vmm/io/vgic_v3.c
569
vgic = hyp->vgic;
sys/arm64/vmm/io/vgic_v3.c
570
max_count = vm_get_maxcpus(hyp->vm);
sys/arm64/vmm/io/vgic_v3.c
600
vgic_v3_queue_irq(struct hyp *hyp, struct vgic_v3_cpu *vgic_cpu,
sys/arm64/vmm/io/vgic_v3.c
604
MPASS(vcpuid < vm_get_maxcpus(hyp->vm));
sys/arm64/vmm/io/vgic_v3.c
671
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
698
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
719
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
737
struct hyp *hyp;
sys/arm64/vmm/io/vgic_v3.c
744
hyp = hypctx->hyp;
sys/arm64/vmm/io/vgic_v3.c
752
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
761
target_hypctx = hyp->ctx[target_vcpu];
sys/arm64/vmm/io/vgic_v3.c
772
notify = vgic_v3_queue_irq(hyp, vgic_cpu, target_vcpu,
sys/arm64/vmm/io/vgic_v3.c
780
vcpu_notify_event(vm_vcpu(hyp->vm, target_vcpu));
sys/arm64/vmm/io/vgic_v3.c
797
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
815
struct hyp *hyp;
sys/arm64/vmm/io/vgic_v3.c
821
hyp = hypctx->hyp;
sys/arm64/vmm/io/vgic_v3.c
828
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
837
target_hypctx = hyp->ctx[target_vcpu];
sys/arm64/vmm/io/vgic_v3.c
849
notify = vgic_v3_queue_irq(hyp, vgic_cpu, target_vcpu,
sys/arm64/vmm/io/vgic_v3.c
857
vcpu_notify_event(vm_vcpu(hyp->vm, target_vcpu));
sys/arm64/vmm/io/vgic_v3.c
872
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
891
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
913
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
942
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vgic_v3.c
959
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), n);
sys/arm64/vmm/io/vgic_v3.c
975
irq = vgic_v3_get_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), n);
sys/arm64/vmm/io/vgic_v3.c
980
irq->target_vcpu = mpidr_to_vcpu(hypctx->hyp, irq->mpidr);
sys/arm64/vmm/io/vgic_v3.c
998
struct hyp *hyp;
sys/arm64/vmm/io/vtimer.c
102
vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vtimer.c
164
if (allow_ecv_phys && (hypctx->hyp->feats & HYP_FEAT_ECV_POFF) != 0)
sys/arm64/vmm/io/vtimer.c
225
hypctx_write_sys_reg(hypctx, HOST_CNTVOFF_EL2, hypctx->hyp->cntvoff_el2);
sys/arm64/vmm/io/vtimer.c
241
vtimer_vmcleanup(struct hyp *hyp)
sys/arm64/vmm/io/vtimer.c
265
vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vtimer.c
268
vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vtimer.c
271
vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vtimer.c
298
vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vtimer.c
308
vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vtimer.c
328
vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu),
sys/arm64/vmm/io/vtimer.c
358
vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(vcpu), timer->irqid, false);
sys/arm64/vmm/io/vtimer.h
37
struct hyp;
sys/arm64/vmm/io/vtimer.h
67
void vtimer_vmcleanup(struct hyp *);
sys/arm64/vmm/vmm.c
652
struct hyp *hyp;
sys/arm64/vmm/vmm.c
659
hyp = vm->cookie;
sys/arm64/vmm/vmm.c
660
if (!hyp->vgic_attached)
sys/arm64/vmm/vmm_arm64.c
1100
struct hyp *hyp;
sys/arm64/vmm/vmm_arm64.c
1107
hyp = hypctx->hyp;
sys/arm64/vmm/vmm_arm64.c
1194
excp_type = vmm_enter_guest(hyp, hypctx);
sys/arm64/vmm/vmm_arm64.c
1211
vme->u.hyp.exception_nr = excp_type;
sys/arm64/vmm/vmm_arm64.c
1212
vme->u.hyp.esr_el2 = hypctx_read_sys_reg(hypctx, HOST_ESR_EL2);
sys/arm64/vmm/vmm_arm64.c
1213
vme->u.hyp.far_el2 = hypctx_read_sys_reg(hypctx, HOST_FAR_EL2);
sys/arm64/vmm/vmm_arm64.c
1214
vme->u.hyp.hpfar_el2 = hypctx_read_sys_reg(hypctx, HOST_HPFAR_EL2);
sys/arm64/vmm/vmm_arm64.c
1232
struct hyp *hyp;
sys/arm64/vmm/vmm_arm64.c
1235
hyp = arg;
sys/arm64/vmm/vmm_arm64.c
1236
maxcpus = vm_get_maxcpus(hyp->vm);
sys/arm64/vmm/vmm_arm64.c
1238
if (arm64_get_active_vcpu() == hyp->ctx[i]) {
sys/arm64/vmm/vmm_arm64.c
1262
struct hyp *hyp = vmi;
sys/arm64/vmm/vmm_arm64.c
1264
vtimer_vmcleanup(hyp);
sys/arm64/vmm/vmm_arm64.c
1265
vgic_vmcleanup(hyp);
sys/arm64/vmm/vmm_arm64.c
1267
smp_rendezvous(NULL, arm_pcpu_vmcleanup, NULL, hyp);
sys/arm64/vmm/vmm_arm64.c
1270
vmmpmap_remove(hyp->el2_addr, el2_hyp_size(hyp->vm), true);
sys/arm64/vmm/vmm_arm64.c
1272
free(hyp, M_HYP);
sys/arm64/vmm/vmm_arm64.c
1320
panic("arm_getreg: %s%d is running", vm_name(hypctx->hyp->vm),
sys/arm64/vmm/vmm_arm64.c
1340
panic("arm_setreg: %s%d is running", vm_name(hypctx->hyp->vm),
sys/arm64/vmm/vmm_arm64.c
1359
panic("%s: %s%d is running", __func__, vm_name(hypctx->hyp->vm),
sys/arm64/vmm/vmm_arm64.c
486
return (round_page(sizeof(struct hyp) +
sys/arm64/vmm/vmm_arm64.c
515
struct hyp *hyp;
sys/arm64/vmm/vmm_arm64.c
520
hyp = malloc_aligned(size, PAGE_SIZE, M_HYP, M_WAITOK | M_ZERO);
sys/arm64/vmm/vmm_arm64.c
522
hyp->vm = vm;
sys/arm64/vmm/vmm_arm64.c
523
hyp->vgic_attached = false;
sys/arm64/vmm/vmm_arm64.c
527
hyp->feats |= HYP_FEAT_ECV_POFF;
sys/arm64/vmm/vmm_arm64.c
534
hyp->feats |= HYP_FEAT_FGT2;
sys/arm64/vmm/vmm_arm64.c
537
hyp->feats |= HYP_FEAT_FGT;
sys/arm64/vmm/vmm_arm64.c
543
hyp->feats |= HYP_FEAT_HCX;
sys/arm64/vmm/vmm_arm64.c
545
hyp->cntvoff_el2 = READ_SPECIALREG(cntpct_el0);
sys/arm64/vmm/vmm_arm64.c
546
vgic_vminit(hyp);
sys/arm64/vmm/vmm_arm64.c
549
hyp->el2_addr = el2_map_enter((vm_offset_t)hyp, size,
sys/arm64/vmm/vmm_arm64.c
552
return (hyp);
sys/arm64/vmm/vmm_arm64.c
558
struct hyp *hyp = vmi;
sys/arm64/vmm/vmm_arm64.c
575
KASSERT(vcpuid >= 0 && vcpuid < vm_get_maxcpus(hyp->vm),
sys/arm64/vmm/vmm_arm64.c
577
hyp->ctx[vcpuid] = hypctx;
sys/arm64/vmm/vmm_arm64.c
579
hypctx->hyp = hyp;
sys/arm64/vmm/vmm_arm64.c
623
printf("esr_el2: 0x%016lx\n", vme->u.hyp.esr_el2);
sys/arm64/vmm/vmm_arm64.c
624
printf("far_el2: 0x%016lx\n", vme->u.hyp.far_el2);
sys/arm64/vmm/vmm_arm64.c
625
printf("hpfar_el2: 0x%016lx\n", vme->u.hyp.hpfar_el2);
sys/arm64/vmm/vmm_handlers.c
52
vmm_nvhe_enter_guest(struct hyp *hyp, struct hypctx *hypctx)
sys/arm64/vmm/vmm_handlers.c
54
return (vmm_call_hyp(HYP_ENTER_GUEST, hyp->el2_addr, hypctx->el2_addr));
sys/arm64/vmm/vmm_handlers.c
58
(struct hyp *hyp, struct hypctx *hypctx))
sys/arm64/vmm/vmm_handlers.h
33
struct hyp;
sys/arm64/vmm/vmm_handlers.h
37
uint64_t vmm_enter_guest(struct hyp *, struct hypctx *);
sys/arm64/vmm/vmm_handlers.h
43
uint64_t vmm_vhe_enter_guest(struct hyp *, struct hypctx *);
sys/arm64/vmm/vmm_hyp.c
235
vmm_hyp_reg_store_timer(struct hypctx *hypctx, struct hyp *hyp, bool guest)
sys/arm64/vmm/vmm_hyp.c
273
vmm_hyp_reg_store_special(struct hypctx *hypctx, struct hyp *hyp, bool guest)
sys/arm64/vmm/vmm_hyp.c
345
if (!guest && ((hyp->feats & HYP_FEAT_HCX) != 0)) {
sys/arm64/vmm/vmm_hyp.c
353
vmm_hyp_reg_restore_special(struct hypctx *hypctx, struct hyp *hyp, bool guest)
sys/arm64/vmm/vmm_hyp.c
357
if (guest_or_nonvhe(guest) && ((hyp->feats & HYP_FEAT_HCX) != 0)) {
sys/arm64/vmm/vmm_hyp.c
367
if ((hyp->feats & HYP_FEAT_FGT) != 0) {
sys/arm64/vmm/vmm_hyp.c
378
if ((hyp->feats & HYP_FEAT_FGT2) != 0) {
sys/arm64/vmm/vmm_hyp.c
588
vmm_hyp_reg_restore_timer(struct hypctx *hypctx, struct hyp *hyp, bool guest)
sys/arm64/vmm/vmm_hyp.c
686
vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest)
sys/arm64/vmm/vmm_hyp.c
689
vmm_hyp_reg_store_timer(hypctx, hyp, guest);
sys/arm64/vmm/vmm_hyp.c
691
vmm_hyp_reg_store_special(hypctx, hyp, guest);
sys/arm64/vmm/vmm_hyp.c
695
vmm_hyp_reg_restore(struct hypctx *hypctx, struct hyp *hyp, bool guest)
sys/arm64/vmm/vmm_hyp.c
697
vmm_hyp_reg_restore_special(hypctx, hyp, guest);
sys/arm64/vmm/vmm_hyp.c
699
vmm_hyp_reg_restore_timer(hypctx, hyp, guest);
sys/arm64/vmm/vmm_hyp.c
777
vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx)
sys/arm64/vmm/vmm_hyp.c
788
vmm_hyp_reg_store(&host_hypctx, hyp, false);
sys/arm64/vmm/vmm_hyp.c
789
vmm_hyp_reg_restore(hypctx, hyp, true);
sys/arm64/vmm/vmm_hyp.c
793
vmm_hyp_reg_store(hypctx, hyp, true);
sys/arm64/vmm/vmm_hyp.c
795
vmm_hyp_reg_restore(&host_hypctx, hyp, false);
sys/arm64/vmm/vmm_hyp.c
801
VMM_HYP_FUNC(enter_guest)(struct hyp *hyp, struct hypctx *hypctx)
sys/arm64/vmm/vmm_hyp.c
806
ret = vmm_hyp_call_guest(hyp, hypctx);
sys/arm64/vmm/vmm_nvhe.c
98
return (VMM_HYP_FUNC(enter_guest)((struct hyp *)x1,
sys/arm64/vmm/vmm_reset.c
158
if ((el2ctx->hyp->feats & HYP_FEAT_FGT) != 0) {
sys/arm64/vmm/vmm_reset.c
589
if ((el2ctx->hyp->feats & HYP_FEAT_FGT2) != 0) {
sys/riscv/include/vmm.h
250
} hyp;
sys/riscv/vmm/riscv.h
132
void riscv_send_ipi(struct hyp *hyp, cpuset_t *cpus);
sys/riscv/vmm/riscv.h
92
struct hyp *hyp;
sys/riscv/vmm/vmm.c
326
struct hyp *hyp;
sys/riscv/vmm/vmm.c
333
hyp = vm->cookie;
sys/riscv/vmm/vmm.c
334
if (!hyp->aplic_attached)
sys/riscv/vmm/vmm_aplic.c
208
aplic_handle_idc_claimi(struct hyp *hyp, struct aplic *aplic, int cpu_id,
sys/riscv/vmm/vmm_aplic.c
242
aplic_handle_idc(struct hyp *hyp, struct aplic *aplic, int cpu, int reg,
sys/riscv/vmm/vmm_aplic.c
255
error = aplic_handle_idc_claimi(hyp, aplic, cpu, write, val);
sys/riscv/vmm/vmm_aplic.c
265
aplic_mmio_access(struct hyp *hyp, struct aplic *aplic, uint64_t reg,
sys/riscv/vmm/vmm_aplic.c
291
error = aplic_handle_idc(hyp, aplic, cpu, r, write, val);
sys/riscv/vmm/vmm_aplic.c
331
struct hyp *hyp;
sys/riscv/vmm/vmm_aplic.c
338
hyp = hypctx->hyp;
sys/riscv/vmm/vmm_aplic.c
339
aplic = hyp->aplic;
sys/riscv/vmm/vmm_aplic.c
348
error = aplic_mmio_access(hyp, aplic, reg, false, &val);
sys/riscv/vmm/vmm_aplic.c
360
struct hyp *hyp;
sys/riscv/vmm/vmm_aplic.c
367
hyp = hypctx->hyp;
sys/riscv/vmm/vmm_aplic.c
368
aplic = hyp->aplic;
sys/riscv/vmm/vmm_aplic.c
380
error = aplic_mmio_access(hyp, aplic, reg, true, &val);
sys/riscv/vmm/vmm_aplic.c
386
aplic_vminit(struct hyp *hyp)
sys/riscv/vmm/vmm_aplic.c
390
hyp->aplic = malloc(sizeof(*hyp->aplic), M_APLIC,
sys/riscv/vmm/vmm_aplic.c
392
aplic = hyp->aplic;
sys/riscv/vmm/vmm_aplic.c
398
aplic_vmcleanup(struct hyp *hyp)
sys/riscv/vmm/vmm_aplic.c
402
aplic = hyp->aplic;
sys/riscv/vmm/vmm_aplic.c
406
free(hyp->aplic, M_APLIC);
sys/riscv/vmm/vmm_aplic.c
410
aplic_attach_to_vm(struct hyp *hyp, struct vm_aplic_descr *descr)
sys/riscv/vmm/vmm_aplic.c
415
vm = hyp->vm;
sys/riscv/vmm/vmm_aplic.c
422
aplic = hyp->aplic;
sys/riscv/vmm/vmm_aplic.c
429
hyp->aplic_attached = true;
sys/riscv/vmm/vmm_aplic.c
435
aplic_detach_from_vm(struct hyp *hyp)
sys/riscv/vmm/vmm_aplic.c
439
aplic = hyp->aplic;
sys/riscv/vmm/vmm_aplic.c
443
if (hyp->aplic_attached) {
sys/riscv/vmm/vmm_aplic.c
444
hyp->aplic_attached = false;
sys/riscv/vmm/vmm_aplic.c
454
struct hyp *hyp;
sys/riscv/vmm/vmm_aplic.c
457
hyp = hypctx->hyp;
sys/riscv/vmm/vmm_aplic.c
458
aplic = hyp->aplic;
sys/riscv/vmm/vmm_aplic.c
483
aplic_inject_irq(struct hyp *hyp, int vcpuid, uint32_t irqid, bool level)
sys/riscv/vmm/vmm_aplic.c
491
aplic = hyp->aplic;
sys/riscv/vmm/vmm_aplic.c
545
vcpu_notify_event(vm_vcpu(hyp->vm, irq->target_hart));
sys/riscv/vmm/vmm_aplic.c
551
aplic_inject_msi(struct hyp *hyp, uint64_t msg, uint64_t addr)
sys/riscv/vmm/vmm_aplic.h
36
struct hyp;
sys/riscv/vmm/vmm_aplic.h
40
int aplic_attach_to_vm(struct hyp *hyp, struct vm_aplic_descr *descr);
sys/riscv/vmm/vmm_aplic.h
41
void aplic_detach_from_vm(struct hyp *hyp);
sys/riscv/vmm/vmm_aplic.h
42
int aplic_inject_irq(struct hyp *hyp, int vcpuid, uint32_t irqid, bool level);
sys/riscv/vmm/vmm_aplic.h
43
int aplic_inject_msi(struct hyp *hyp, uint64_t msg, uint64_t addr);
sys/riscv/vmm/vmm_aplic.h
44
void aplic_vminit(struct hyp *hyp);
sys/riscv/vmm/vmm_aplic.h
45
void aplic_vmcleanup(struct hyp *hyp);
sys/riscv/vmm/vmm_riscv.c
126
struct hyp *hyp;
sys/riscv/vmm/vmm_riscv.c
129
size = round_page(sizeof(struct hyp) +
sys/riscv/vmm/vmm_riscv.c
131
hyp = malloc_aligned(size, PAGE_SIZE, M_HYP, M_WAITOK | M_ZERO);
sys/riscv/vmm/vmm_riscv.c
132
hyp->vm = vm;
sys/riscv/vmm/vmm_riscv.c
133
hyp->aplic_attached = false;
sys/riscv/vmm/vmm_riscv.c
135
aplic_vminit(hyp);
sys/riscv/vmm/vmm_riscv.c
137
return (hyp);
sys/riscv/vmm/vmm_riscv.c
201
struct hyp *hyp;
sys/riscv/vmm/vmm_riscv.c
204
hyp = vmi;
sys/riscv/vmm/vmm_riscv.c
206
dprintf("%s: hyp %p\n", __func__, hyp);
sys/riscv/vmm/vmm_riscv.c
208
KASSERT(vcpuid >= 0 && vcpuid < vm_get_maxcpus(hyp->vm),
sys/riscv/vmm/vmm_riscv.c
214
hypctx->hyp = hyp;
sys/riscv/vmm/vmm_riscv.c
232
hyp->ctx[vcpuid] = hypctx;
sys/riscv/vmm/vmm_riscv.c
483
vme->u.hyp.scause = trap.scause;
sys/riscv/vmm/vmm_riscv.c
537
riscv_send_ipi(struct hyp *hyp, cpuset_t *cpus)
sys/riscv/vmm/vmm_riscv.c
544
vm = hyp->vm;
sys/riscv/vmm/vmm_riscv.c
546
maxcpus = vm_get_maxcpus(hyp->vm);
sys/riscv/vmm/vmm_riscv.c
550
hypctx = hyp->ctx[i];
sys/riscv/vmm/vmm_riscv.c
729
struct hyp *hyp;
sys/riscv/vmm/vmm_riscv.c
732
hyp = arg;
sys/riscv/vmm/vmm_riscv.c
733
maxcpus = vm_get_maxcpus(hyp->vm);
sys/riscv/vmm/vmm_riscv.c
735
if (riscv_get_active_vcpu() == hyp->ctx[i]) {
sys/riscv/vmm/vmm_riscv.c
761
struct hyp *hyp;
sys/riscv/vmm/vmm_riscv.c
763
hyp = vmi;
sys/riscv/vmm/vmm_riscv.c
767
aplic_vmcleanup(hyp);
sys/riscv/vmm/vmm_riscv.c
769
smp_rendezvous(NULL, riscv_pcpu_vmcleanup, NULL, hyp);
sys/riscv/vmm/vmm_riscv.c
771
free(hyp, M_HYP);
sys/riscv/vmm/vmm_riscv.c
865
panic("%s: %s%d is running", __func__, vm_name(hypctx->hyp->vm),
sys/riscv/vmm/vmm_riscv.c
893
panic("%s: %s%d is running", __func__, vm_name(hypctx->hyp->vm),
sys/riscv/vmm/vmm_riscv.c
915
panic("%s: %s%d is running", __func__, vm_name(hypctx->hyp->vm),
sys/riscv/vmm/vmm_sbi.c
108
vmm_fence_add(hyp->vm, &cpus, &fence);
sys/riscv/vmm/vmm_sbi.c
137
struct hyp *hyp;
sys/riscv/vmm/vmm_sbi.c
151
hyp = hypctx->hyp;
sys/riscv/vmm/vmm_sbi.c
153
active_cpus = vm_active_cpus(hyp->vm);
sys/riscv/vmm/vmm_sbi.c
176
riscv_send_ipi(hyp, &cpus);
sys/riscv/vmm/vmm_sbi.c
52
struct hyp *hyp;
sys/riscv/vmm/vmm_sbi.c
83
hyp = hypctx->hyp;
sys/riscv/vmm/vmm_sbi.c
84
active_cpus = vm_active_cpus(hyp->vm);
sys/riscv/vmm/vmm_sbi.c
85
maxcpus = vm_get_maxcpus(hyp->vm);
sys/riscv/vmm/vmm_sbi.c
87
vcpu = vm_vcpu(hyp->vm, i);
sys/riscv/vmm/vmm_vtimer.c
89
struct hyp *hyp;
sys/riscv/vmm/vmm_vtimer.c
92
hyp = hypctx->hyp;
sys/riscv/vmm/vmm_vtimer.c
95
vcpu_notify_event(vm_vcpu(hyp->vm, hypctx->cpu_id));
usr.sbin/bhyve/aarch64/vmexit.c
275
vmrun->vm_exit->u.hyp.far_el2) != 0)
usr.sbin/bhyve/gdb.c
1154
esr = (EXCP_BRK << ESR_ELx_EC_SHIFT) | vmexit->u.hyp.esr_el2;
usr.sbin/bhyve/riscv/vmexit.c
353
printf("unhandled exception: scause %#lx\n", vme->u.hyp.scause);