Lines Matching refs:t
107 static void slavio_timer_get_out(CPUTimerState *t) in slavio_timer_get_out() argument
111 if (t->limit == 0) { /* free-run system or processor counter */ in slavio_timer_get_out()
114 limit = t->limit; in slavio_timer_get_out()
116 count = limit - PERIODS_TO_LIMIT(ptimer_get_count(t->timer)); in slavio_timer_get_out()
118 trace_slavio_timer_get_out(t->limit, t->counthigh, t->count); in slavio_timer_get_out()
119 t->count = count & TIMER_COUNT_MASK32; in slavio_timer_get_out()
120 t->counthigh = count >> 32; in slavio_timer_get_out()
128 CPUTimerState *t = &s->cputimer[tc->timer_index]; in slavio_timer_irq() local
130 slavio_timer_get_out(t); in slavio_timer_irq()
131 trace_slavio_timer_irq(t->counthigh, t->count); in slavio_timer_irq()
133 if (t->limit != 0) { in slavio_timer_irq()
134 t->reached = TIMER_REACHED; in slavio_timer_irq()
137 if (!slavio_timer_is_user(tc) && t->limit != 0) { in slavio_timer_irq()
138 qemu_irq_raise(t->irq); in slavio_timer_irq()
149 CPUTimerState *t = &s->cputimer[timer_index]; in slavio_timer_mem_readl() local
158 slavio_timer_get_out(t); in slavio_timer_mem_readl()
159 ret = t->counthigh | t->reached; in slavio_timer_mem_readl()
163 qemu_irq_lower(t->irq); in slavio_timer_mem_readl()
164 t->reached = 0; in slavio_timer_mem_readl()
165 ret = t->limit & TIMER_LIMIT_MASK32; in slavio_timer_mem_readl()
171 slavio_timer_get_out(t); in slavio_timer_mem_readl()
173 ret = t->count & TIMER_MAX_COUNT64; in slavio_timer_mem_readl()
175 ret = (t->count & TIMER_MAX_COUNT32) | in slavio_timer_mem_readl()
176 t->reached; in slavio_timer_mem_readl()
183 ret = t->run; in slavio_timer_mem_readl()
209 CPUTimerState *t = &s->cputimer[timer_index]; in slavio_timer_mem_writel() local
215 ptimer_transaction_begin(t->timer); in slavio_timer_mem_writel()
220 t->limit = TIMER_MAX_COUNT64; in slavio_timer_mem_writel()
221 t->counthigh = val & (TIMER_MAX_COUNT64 >> 32); in slavio_timer_mem_writel()
222 t->reached = 0; in slavio_timer_mem_writel()
223 count = ((uint64_t)t->counthigh << 32) | t->count; in slavio_timer_mem_writel()
225 ptimer_set_count(t->timer, LIMIT_TO_PERIODS(t->limit - count)); in slavio_timer_mem_writel()
228 qemu_irq_lower(t->irq); in slavio_timer_mem_writel()
229 t->limit = val & TIMER_MAX_COUNT32; in slavio_timer_mem_writel()
230 if (t->limit == 0) { /* free-run */ in slavio_timer_mem_writel()
231 ptimer_set_limit(t->timer, in slavio_timer_mem_writel()
234 ptimer_set_limit(t->timer, LIMIT_TO_PERIODS(t->limit), 1); in slavio_timer_mem_writel()
237 ptimer_transaction_commit(t->timer); in slavio_timer_mem_writel()
244 t->limit = TIMER_MAX_COUNT64; in slavio_timer_mem_writel()
245 t->count = val & TIMER_MAX_COUNT64; in slavio_timer_mem_writel()
246 t->reached = 0; in slavio_timer_mem_writel()
247 count = ((uint64_t)t->counthigh) << 32 | t->count; in slavio_timer_mem_writel()
249 ptimer_transaction_begin(t->timer); in slavio_timer_mem_writel()
250 ptimer_set_count(t->timer, LIMIT_TO_PERIODS(t->limit - count)); in slavio_timer_mem_writel()
251 ptimer_transaction_commit(t->timer); in slavio_timer_mem_writel()
258 t->limit = val & TIMER_MAX_COUNT32; in slavio_timer_mem_writel()
259 ptimer_transaction_begin(t->timer); in slavio_timer_mem_writel()
260 if (t->limit == 0) { /* free-run */ in slavio_timer_mem_writel()
261 ptimer_set_limit(t->timer, LIMIT_TO_PERIODS(TIMER_MAX_COUNT32), 0); in slavio_timer_mem_writel()
263 ptimer_set_limit(t->timer, LIMIT_TO_PERIODS(t->limit), 0); in slavio_timer_mem_writel()
265 ptimer_transaction_commit(t->timer); in slavio_timer_mem_writel()
268 ptimer_transaction_begin(t->timer); in slavio_timer_mem_writel()
273 ptimer_run(t->timer, 0); in slavio_timer_mem_writel()
276 ptimer_stop(t->timer); in slavio_timer_mem_writel()
279 t->run = val & 1; in slavio_timer_mem_writel()
280 ptimer_transaction_commit(t->timer); in slavio_timer_mem_writel()