if (count2 < count1) { /* * The timer has not reloaded between reading count1 and * count2, check whether an interrupt was actually pending.
*/ if (status & (1 << 5))
ticks += RPC_LATCH;
} elseif (count2 > count1) { /* * The timer has reloaded, so count2 indicates the new * count since the wrap. The interrupt would not have * been processed, so add the missed ticks.
*/
ticks += RPC_LATCH;
}
/* * Set up timer interrupt.
*/ void __init ioc_timer_init(void)
{
WARN_ON(clocksource_register_hz(&ioctime_clocksource, RPC_CLOCK_FREQ));
ioctime_init(); if (request_irq(IRQ_TIMER0, ioc_timer_interrupt, 0, "timer", NULL))
pr_err("Failed to request irq %d (timer)\n", IRQ_TIMER0);
}
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.12Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.