Home
last modified time | relevance | path

Searched refs:hyp (Results 1 – 25 of 92) 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 Dvgic.c128 vgic_attach_to_vm(struct hyp *hyp, struct vm_vgic_descr *descr) in vgic_attach_to_vm() argument
130 return (VGIC_ATTACH_TO_VM(vgic_dev, hyp, descr)); in vgic_attach_to_vm()
134 vgic_detach_from_vm(struct hyp *hyp) in vgic_detach_from_vm() argument
136 VGIC_DETACH_FROM_VM(vgic_dev, hyp); in vgic_detach_from_vm()
140 vgic_vminit(struct hyp *hyp) in vgic_vminit() argument
142 VGIC_VMINIT(vgic_dev, hyp); in vgic_vminit()
158 vgic_vmcleanup(struct hyp *hyp) in vgic_vmcleanup() argument
160 VGIC_VMCLEANUP(vgic_dev, hyp); in vgic_vmcleanup()
164 vgic_max_cpu_count(struct hyp *hyp) in vgic_max_cpu_count() argument
166 return (VGIC_MAX_CPU_COUNT(vgic_dev, hyp)); in vgic_max_cpu_count()
[all …]
H A Dvgic_v3.c105 static int vgic_v3_max_cpu_count(device_t dev, struct hyp *hyp);
107 #define INJECT_IRQ(hyp, vcpuid, irqid, level) \ argument
108 vgic_v3_inject_irq(NULL, (hyp), (vcpuid), (irqid), (level))
330 static struct vgic_v3_irq *vgic_v3_get_irq(struct hyp *, int, uint32_t);
335 mpidr_to_vcpu(struct hyp *hyp, uint64_t mpidr) in mpidr_to_vcpu() argument
340 vm = hyp->vm; in mpidr_to_vcpu()
342 hypctx = hyp->ctx[i]; in mpidr_to_vcpu()
350 vgic_v3_vminit(device_t dev, struct hyp *hyp) in vgic_v3_vminit() argument
354 hyp->vgic = malloc(sizeof(*hyp->vgic), M_VGIC_V3, in vgic_v3_vminit()
356 vgic = hyp->vgic; in vgic_v3_vminit()
[all …]
H A Dvtimer.c102 vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), in vtimer_virtual_timer_intr()
164 if (allow_ecv_phys && (hypctx->hyp->feats & HYP_FEAT_ECV_POFF) != 0) in vtimer_cpuinit()
225 hypctx_write_sys_reg(hypctx, HOST_CNTVOFF_EL2, hypctx->hyp->cntvoff_el2); in vtimer_cpuinit()
241 vtimer_vmcleanup(struct hyp *hyp) in vtimer_vmcleanup() argument
265 vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), in vtime_sync_timer()
268 vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), in vtime_sync_timer()
271 vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), in vtime_sync_timer()
298 vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), in vtimer_inject_irq_callout_phys()
308 vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), in vtimer_inject_irq_callout_virt()
328 vgic_inject_irq(hypctx->hyp, vcpu_vcpuid(hypctx->vcpu), in vtimer_schedule_irq()
[all …]
H A Dvtimer.h37 struct hyp;
67 void vtimer_vmcleanup(struct hyp *);
/freebsd/sys/arm64/vmm/
H A Dvmm_arm64.c486 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()
543 hyp->feats |= HYP_FEAT_HCX; in vmmops_init()
545 hyp->cntvoff_el2 = READ_SPECIALREG(cntpct_el0); in vmmops_init()
[all …]
H A Dvmm_hyp.c235 vmm_hyp_reg_store_timer(struct hypctx *hypctx, struct hyp *hyp, bool guest) in vmm_hyp_reg_store_timer() argument
273 vmm_hyp_reg_store_special(struct hypctx *hypctx, struct hyp *hyp, bool guest) in vmm_hyp_reg_store_special() argument
345 if (!guest && ((hyp->feats & HYP_FEAT_HCX) != 0)) { in vmm_hyp_reg_store_special()
353 vmm_hyp_reg_restore_special(struct hypctx *hypctx, struct hyp *hyp, bool guest) in vmm_hyp_reg_restore_special() argument
357 if (guest_or_nonvhe(guest) && ((hyp->feats & HYP_FEAT_HCX) != 0)) { in vmm_hyp_reg_restore_special()
367 if ((hyp->feats & HYP_FEAT_FGT) != 0) { in vmm_hyp_reg_restore_special()
378 if ((hyp->feats & HYP_FEAT_FGT2) != 0) { in vmm_hyp_reg_restore_special()
588 vmm_hyp_reg_restore_timer(struct hypctx *hypctx, struct hyp *hyp, bool guest) in vmm_hyp_reg_restore_timer() argument
686 vmm_hyp_reg_store(struct hypctx *hypctx, struct hyp *hyp, bool guest) in vmm_hyp_reg_store() argument
689 vmm_hyp_reg_store_timer(hypctx, hyp, guest); in vmm_hyp_reg_store()
[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_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.h273 struct hyp *hyp; member
343 struct hyp { struct
H A Dvmm_nvhe.c98 return (VMM_HYP_FUNC(enter_guest)((struct hyp *)x1, in vmm_hyp_enter()
H A Dvmm.c652 struct hyp *hyp; in vm_handle_inst_emul() local
659 hyp = vm->cookie; in vm_handle_inst_emul()
660 if (!hyp->vgic_attached) in vm_handle_inst_emul()
/freebsd/sys/contrib/device-tree/src/arm64/renesas/
H A Dr9a08g046.dtsi210 interrupt-names = "sec-phys", "phys", "virt", "hyp-phys", "hyp-virt";
H A Dr9a07g043u.dtsi57 interrupt-names = "sec-phys", "phys", "virt", "hyp-phys",
58 "hyp-virt";
/freebsd/sys/contrib/device-tree/src/arm64/apple/
H A Dt600x-common.dtsi355 interrupt-names = "phys", "virt", "hyp-phys", "hyp-virt";
H A Dt602x-common.dtsi405 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()

1234