Lines Matching refs:vtimer_cpu
92 if (hypctx->vtimer_cpu.virt_timer.cntx_cval_el0 < cntpct_el0) in vtimer_virtual_timer_intr()
96 cntv_ctl = hypctx->vtimer_cpu.virt_timer.cntx_ctl_el0; in vtimer_virtual_timer_intr()
178 struct vtimer_cpu *vtimer_cpu; in vtimer_cpuinit() local
180 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_cpuinit()
187 vtimer_cpu->phys_timer.cntx_ctl_el0 = CNTP_CTL_IMASK & ~CNTP_CTL_ENABLE; in vtimer_cpuinit()
189 mtx_init(&vtimer_cpu->phys_timer.mtx, "vtimer phys callout mutex", NULL, in vtimer_cpuinit()
191 callout_init_mtx(&vtimer_cpu->phys_timer.callout, in vtimer_cpuinit()
192 &vtimer_cpu->phys_timer.mtx, 0); in vtimer_cpuinit()
193 vtimer_cpu->phys_timer.irqid = GT_PHYS_NS_IRQ; in vtimer_cpuinit()
195 mtx_init(&vtimer_cpu->virt_timer.mtx, "vtimer virt callout mutex", NULL, in vtimer_cpuinit()
197 callout_init_mtx(&vtimer_cpu->virt_timer.callout, in vtimer_cpuinit()
198 &vtimer_cpu->virt_timer.mtx, 0); in vtimer_cpuinit()
199 vtimer_cpu->virt_timer.irqid = GT_VIRT_IRQ; in vtimer_cpuinit()
205 struct vtimer_cpu *vtimer_cpu; in vtimer_cpucleanup() local
207 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_cpucleanup()
208 callout_drain(&vtimer_cpu->phys_timer.callout); in vtimer_cpucleanup()
209 callout_drain(&vtimer_cpu->virt_timer.callout); in vtimer_cpucleanup()
210 mtx_destroy(&vtimer_cpu->phys_timer.mtx); in vtimer_cpucleanup()
211 mtx_destroy(&vtimer_cpu->virt_timer.mtx); in vtimer_cpucleanup()
240 timer = &hypctx->vtimer_cpu.virt_timer; in vtimer_sync_hwstate()
263 hypctx->vtimer_cpu.phys_timer.irqid, true); in vtimer_inject_irq_callout_phys()
273 hypctx->vtimer_cpu.virt_timer.irqid, true); in vtimer_inject_irq_callout_virt()
285 timer = &hypctx->vtimer_cpu.phys_timer; in vtimer_schedule_irq()
287 timer = &hypctx->vtimer_cpu.virt_timer; in vtimer_schedule_irq()
309 struct vtimer_cpu *vtimer_cpu; in vtimer_remove_irq() local
312 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_remove_irq()
313 timer = &vtimer_cpu->phys_timer; in vtimer_remove_irq()
341 struct vtimer_cpu *vtimer_cpu; in vtimer_phys_ctl_read() local
346 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_phys_ctl_read()
349 if (vtimer_cpu->phys_timer.cntx_cval_el0 < cntpct_el0) in vtimer_phys_ctl_read()
351 *rval = vtimer_cpu->phys_timer.cntx_ctl_el0 | CNTP_CTL_ISTATUS; in vtimer_phys_ctl_read()
353 *rval = vtimer_cpu->phys_timer.cntx_ctl_el0 & ~CNTP_CTL_ISTATUS; in vtimer_phys_ctl_read()
362 struct vtimer_cpu *vtimer_cpu; in vtimer_phys_ctl_write() local
367 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_phys_ctl_write()
370 ctl_el0 = vtimer_cpu->phys_timer.cntx_ctl_el0; in vtimer_phys_ctl_write()
377 vtimer_cpu->phys_timer.cntx_ctl_el0 = wval; in vtimer_phys_ctl_write()
407 struct vtimer_cpu *vtimer_cpu; in vtimer_phys_cval_read() local
410 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_phys_cval_read()
412 *rval = vtimer_cpu->phys_timer.cntx_cval_el0; in vtimer_phys_cval_read()
421 struct vtimer_cpu *vtimer_cpu; in vtimer_phys_cval_write() local
424 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_phys_cval_write()
426 vtimer_cpu->phys_timer.cntx_cval_el0 = wval; in vtimer_phys_cval_write()
429 if (timer_enabled(vtimer_cpu->phys_timer.cntx_ctl_el0)) { in vtimer_phys_cval_write()
441 struct vtimer_cpu *vtimer_cpu; in vtimer_phys_tval_read() local
446 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_phys_tval_read()
448 if (!(vtimer_cpu->phys_timer.cntx_ctl_el0 & CNTP_CTL_ENABLE)) { in vtimer_phys_tval_read()
459 *rval = vtimer_cpu->phys_timer.cntx_cval_el0 - cntpct_el0; in vtimer_phys_tval_read()
470 struct vtimer_cpu *vtimer_cpu; in vtimer_phys_tval_write() local
475 vtimer_cpu = &hypctx->vtimer_cpu; in vtimer_phys_tval_write()
478 vtimer_cpu->phys_timer.cntx_cval_el0 = (int32_t)wval + cntpct_el0; in vtimer_phys_tval_write()
481 if (timer_enabled(vtimer_cpu->phys_timer.cntx_ctl_el0)) { in vtimer_phys_tval_write()