genode/repos/base-hw
Martin Stein 665a551fcd base-hw & cortex_a9: consider timer IRQ unreliable
On some Cortex A9 platforms (Qemu 4.2.1 PBXA9), the IRQ status register is not
reliable. Sometimes, it indicates an IRQ too early, i.e., shortly before the
counter wraps. Therefore we have to accomplish wrap detection via counter
comparison only. We check whether the current counter value is higher than the
start counter value of the current timeout.

However, this implies that we have to take care to always read out the counter
before it hits the max timout value again. And, therefore, the max timeout
value has to be far away from the first value the counter has after wrapping.
Consequently, we propagate a max timeout value of half the max counter value.

Fixes #4209
2022-10-12 12:09:34 +02:00
..
board board: Rename virt_qemu to virt_qemu_<arch> 2022-08-17 12:03:26 +02:00
etc base: remove SPEC variables of boards (fix #3971) 2021-01-25 13:58:09 +01:00
include hw: unify architectural kernel interface header 2022-02-28 11:45:18 +01:00
lib/mk base-hw: problems with timeout lib in src recipe 2022-10-12 11:59:08 +02:00
recipes base-hw: problems with timeout lib in src recipe 2022-10-12 11:59:08 +02:00
run base-hw: fix run scripts 2020-02-20 12:11:21 +01:00
src base-hw & cortex_a9: consider timer IRQ unreliable 2022-10-12 12:09:34 +02:00