forked from Imagelibrary/rtems
The _Watchdog_Nanoseconds_since_tick_handler() function caller does not take into account that the timer counter may wrap, underflow or overflow. Instead, the driver must take that into account. This GPTIMER DrvMgr driver patch makes use of the IRQ-Pending bit to determine if a underflow has happened. In that case a greater time than one tick is returned (even considering the function name..). The TLIB clock layer must also ACK the interrupt pending bit, otherwise we couldn't determine whether an IRQ is pending or if belongs to un old already handled tick IRQ. Note that this patch only fixes the DrvMgr GPTIMER driver and TLIB, the standard LEON3 GPTIMER driver still needs a fix.