/* Gets the timer match value for a 64-bit timer. */
unsigned long long TimerMatchGet64(unsigned long ulBase)
/* Gets the timer match value for a 64-bit timer. */
unsigned long long TimerMatchGet64(unsigned long ulBase)
{
    unsigned long ulHigh1, ulHigh2, ulLow;
    ASSERT(TimerBaseValid(ulBase));
    do
    {
        ulHigh1 = HWREG(ulBase + TIMER_O_TBMATCHR);
        ulLow = HWREG(ulBase + TIMER_O_TAMATCHR);
        ulHigh2 = HWREG(ulBase + TIMER_O_TBMATCHR);
    }
    while(ulHigh1 != ulHigh2);
    return(((unsigned long long)ulHigh1 << 32) | (unsigned long long)ulLow);
}