Home
last modified time | relevance | path

Searched refs:hyp (Results 1 – 25 of 80) sorted by relevance

1234

/freebsd/sys/riscv/vmm/
H A Dvmm_aplic.c208 aplic_handle_idc_claimi(struct hyp *hyp, struct aplic *aplic, int cpu_id, in aplic_handle_idc_claimi() argument
242 aplic_handle_idc(struct hyp *hyp, struct aplic *aplic, int cpu, int reg, in aplic_handle_idc() argument
255 error = aplic_handle_idc_claimi(hyp, aplic, cpu, write, val); in aplic_handle_idc()
265 aplic_mmio_access(struct hyp *hyp, struct aplic *aplic, uint64_t reg, in aplic_mmio_access() argument
291 error = aplic_handle_idc(hyp, aplic, cpu, r, write, val); in aplic_mmio_access()
331 struct hyp *hyp; in mem_read() local
338 hyp = hypctx->hyp; in mem_read()
339 aplic = hyp->aplic; in mem_read()
348 error = aplic_mmio_access(hyp, aplic, reg, false, &val); in mem_read()
360 struct hyp *hyp; in mem_write() local
[all …]
H A Dvmm_aplic.h36 struct hyp;
40 int aplic_attach_to_vm(struct hyp *hyp, struct vm_aplic_descr *descr);
41 void aplic_detach_from_vm(struct hyp *hyp);
42 int aplic_inject_irq(struct hyp *hyp, int vcpuid, uint32_t irqid, bool level);
43 int aplic_inject_msi(struct hyp *hyp, uint64_t msg, uint64_t addr);
44 void aplic_vminit(struct hyp *hyp);
45 void aplic_vmcleanup(struct hyp *hyp);
H A Dvmm_sbi.c52 struct hyp *hyp; in vmm_sbi_handle_rfnc() local
83 hyp = hypctx->hyp; in vmm_sbi_handle_rfnc()
84 active_cpus = vm_active_cpus(hyp->vm); in vmm_sbi_handle_rfnc()
85 maxcpus = vm_get_maxcpus(hyp->vm); in vmm_sbi_handle_rfnc()
87 vcpu = vm_vcpu(hyp->vm, i); in vmm_sbi_handle_rfnc()
108 vmm_fence_add(hyp->vm, &cpus, &fence); in vmm_sbi_handle_rfnc()
137 struct hyp *hyp; in vmm_sbi_handle_ipi() local
151 hyp = hypctx->hyp; in vmm_sbi_handle_ipi()
153 active_cpus = vm_active_cpus(hyp->vm); in vmm_sbi_handle_ipi()
176 riscv_send_ipi(hyp, &cpus); in vmm_sbi_handle_ipi()
H A Dvmm_riscv.c126 struct hyp *hyp; in vmmops_init() local
129 size = round_page(sizeof(struct hyp) + in vmmops_init()
131 hyp = malloc_aligned(size, PAGE_SIZE, M_HYP, M_WAITOK | M_ZERO); in vmmops_init()
132 hyp->vm = vm; in vmmops_init()
133 hyp->aplic_attached = false; in vmmops_init()
135 aplic_vminit(hyp); in vmmops_init()
137 return (hyp); in vmmops_init()
201 struct hyp *hyp; in vmmops_vcpu_init() local
204 hyp = vmi; in vmmops_vcpu_init()
206 dprintf("%s: hyp %p\n", __func__, hyp); in vmmops_vcpu_init()
[all …]
H A Dvmm_vtimer.c89 struct hyp *hyp; in vtimer_inject_irq_callout() local
92 hyp = hypctx->hyp; in vtimer_inject_irq_callout()
95 vcpu_notify_event(vm_vcpu(hyp->vm, hypctx->cpu_id)); in vtimer_inject_irq_callout()
H A Driscv.h92 struct hyp *hyp; member
109 struct hyp { struct
132 void riscv_send_ipi(struct hyp *hyp, cpuset_t *cpus); argument
H A Dvmm.c326 struct hyp *hyp; in vm_handle_inst_emul() local
333 hyp = vm->cookie; in vm_handle_inst_emul()
334 if (!hyp->aplic_attached) in vm_handle_inst_emul()
/freebsd/sys/arm64/vmm/io/
H A Dvtimer.c100 hypctx->hyp->vtimer.cntvoff_el2; in vtimer_virtual_timer_intr()
102 vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), in vtimer_virtual_timer_intr()
136 vtimer_vminit(struct hyp *hyp) in vtimer_vminit() argument
143 if (allow_ecv_phys && (hyp->feats & HYP_FEAT_ECV_POFF) != 0) in vtimer_vminit()
168 hyp->vtimer.cnthctl_el2 = in vtimer_vminit()
172 hyp->vtimer.cnthctl_el2 |= in vtimer_vminit()
178 hyp->vtimer.cnthctl_el2 |= in vtimer_vminit()
191 hyp->vtimer.cnthctl_el2 = in vtimer_vminit()
195 hyp->vtimer.cnthctl_el2 = in vtimer_vminit()
202 hyp->vtimer.cnthctl_el2 |= CNTHCTL_ECV_EN; in vtimer_vminit()
[all …]
H A Dvgic_v3.c153 static int vgic_v3_max_cpu_count(device_t dev, struct hyp *hyp);
155 #define INJECT_IRQ(hyp, vcpuid, irqid, level) \ argument
156 vgic_v3_inject_irq(NULL, (hyp), (vcpuid), (irqid), (level))
421 static struct vgic_v3_irq *vgic_v3_get_irq(struct hyp *, int, uint32_t);
426 mpidr_to_vcpu(struct hyp *hyp, uint64_t mpidr) in mpidr_to_vcpu() argument
431 vm = hyp->vm; in mpidr_to_vcpu()
433 hypctx = hyp->ctx[i]; in mpidr_to_vcpu()
441 vgic_v3_vminit(device_t dev, struct hyp *hyp) in vgic_v3_vminit() argument
445 hyp->vgic = malloc(sizeof(*hyp->vgic), M_VGIC_V3, in vgic_v3_vminit()
447 vgic = hyp->vgic; in vgic_v3_vminit()
[all …]
H A Dvtimer.h37 struct hyp;
70 void vtimer_vminit(struct hyp *);
73 void vtimer_vmcleanup(struct hyp *);
/freebsd/sys/arm64/vmm/
H A Dvmm_arm64.c487 return (round_page(sizeof(struct hyp) + in el2_hyp_size()
515 struct hyp *hyp; in vmmops_init() local
520 hyp = malloc_aligned(size, PAGE_SIZE, M_HYP, M_WAITOK | M_ZERO); in vmmops_init()
522 hyp->vm = vm; in vmmops_init()
523 hyp->vgic_attached = false; in vmmops_init()
527 hyp->feats |= HYP_FEAT_ECV_POFF; in vmmops_init()
534 hyp->feats |= HYP_FEAT_FGT2; in vmmops_init()
537 hyp->feats |= HYP_FEAT_FGT; in vmmops_init()
544 hyp->feats |= HYP_FEAT_HCX; in vmmops_init()
547 vtimer_vminit(hyp); in vmmops_init()
[all …]
H A Dvmm_handlers.c52 vmm_nvhe_enter_guest(struct hyp *hyp, struct hypctx *hypctx) in vmm_nvhe_enter_guest() argument
54 return (vmm_call_hyp(HYP_ENTER_GUEST, hyp->el2_addr, hypctx->el2_addr)); in vmm_nvhe_enter_guest()
58 (struct hyp *hyp, struct hypctx *hypctx))
H A Dvmm_hyp.c44 vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest, in vmm_hyp_reg_store() argument
282 vmm_hyp_reg_restore(struct hypctx *hypctx, struct hyp *hyp, bool guest, in vmm_hyp_reg_restore() argument
291 if ((hyp->feats & HYP_FEAT_HCX) != 0) in vmm_hyp_reg_restore()
299 if ((hyp->feats & HYP_FEAT_FGT) != 0) { in vmm_hyp_reg_restore()
306 if ((hyp->feats & HYP_FEAT_FGT2) != 0) { in vmm_hyp_reg_restore()
486 WRITE_SPECIALREG(cnthctl_el2, hyp->vtimer.cnthctl_el2); in vmm_hyp_reg_restore()
487 WRITE_SPECIALREG(cntvoff_el2, hyp->vtimer.cntvoff_el2); in vmm_hyp_reg_restore()
495 hyp->vtimer.cntvoff_el2); in vmm_hyp_reg_restore()
559 vmm_hyp_call_guest(struct hyp *hyp, struct hypctx *hypctx) in vmm_hyp_call_guest() argument
571 ecv_poff = (hyp->vtimer.cnthctl_el2 & CNTHCTL_ECV_EN) != 0; in vmm_hyp_call_guest()
[all …]
H A Dvmm_handlers.h33 struct hyp;
37 uint64_t vmm_enter_guest(struct hyp *, struct hypctx *);
43 uint64_t vmm_vhe_enter_guest(struct hyp *, struct hypctx *);
H A Darm64.h120 struct hyp *hyp; member
141 struct hyp { struct
H A Dvmm_nvhe.c95 return (VMM_HYP_FUNC(enter_guest)((struct hyp *)x1, in vmm_hyp_enter()
H A Dvmm.c653 struct hyp *hyp; in vm_handle_inst_emul() local
660 hyp = vm->cookie; in vm_handle_inst_emul()
661 if (!hyp->vgic_attached) in vm_handle_inst_emul()
H A Dvmm_reset.c192 if ((el2ctx->hyp->feats & HYP_FEAT_FGT) != 0) { in reset_vm_el2_regs()
587 if ((el2ctx->hyp->feats & HYP_FEAT_FGT2) != 0) { in reset_vm_el2_regs()
/freebsd/sys/contrib/device-tree/src/arm64/renesas/
H A Dr9a07g043u.dtsi55 interrupt-names = "sec-phys", "phys", "virt", "hyp-phys",
56 "hyp-virt";
/freebsd/sys/contrib/device-tree/src/arm64/cix/
H A Dsky1.dtsi323 interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt";
/freebsd/sys/contrib/device-tree/src/arm64/apple/
H A Dt600x-common.dtsi355 interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
/freebsd/sys/riscv/include/
H A Dvmm.h250 } hyp; member
/freebsd/sys/arm64/include/
H A Dvmm.h275 } hyp; member
/freebsd/usr.sbin/bhyve/aarch64/
H A Dvmexit.c275 vmrun->vm_exit->u.hyp.far_el2) != 0) in vmexit_hyp()
/freebsd/usr.sbin/bhyve/riscv/
H A Dvmexit.c353 printf("unhandled exception: scause %#lx\n", vme->u.hyp.scause); in vmexit_hyp()

1234