From 8a079ef232dc630885051091649b2dac139ce755 Mon Sep 17 00:00:00 2001 From: Jeff Fan Date: Thu, 27 Aug 2015 02:08:56 +0000 Subject: [PATCH] SourceLevelDebugPkg/DebugTimer: Timer count value 0 not calculated Actually, TimerCycle is APIC timer's initial count. Timer count value 0 is missed when calculating Delta value. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jeff Fan Reviewed-by: Ruiyu Ni git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18329 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/DebugAgent/DebugAgentCommon/DebugTimer.c | 12 ++++++------ .../Library/DebugAgent/DebugAgentCommon/DebugTimer.h | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.c b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.c index bf965cb3c9..e287c4cbbe 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.c +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.c @@ -19,7 +19,7 @@ @param[out] TimerFrequency Local APIC timer frequency returned. @param[in] DumpFlag If TRUE, dump Local APIC timer's parameter. - + @return 32-bit Local APIC timer init count. **/ UINT32 @@ -108,8 +108,8 @@ SaveAndSetDebugTimerInterrupt ( /** Check if the timer is time out. - - @param[in] TimerCycle Timer total count. + + @param[in] TimerCycle Timer initial count. @param[in] Timer The start timer from the begin. @param[in] TimeoutTicker Ticker number need time out. @@ -138,11 +138,11 @@ IsDebugTimerTimeout ( Delta = Timer - CurrentTimer; } else { // - // Handle one roll-over. + // Handle one roll-over. // - Delta = TimerCycle - (CurrentTimer - Timer); + Delta = TimerCycle - (CurrentTimer - Timer) + 1; } - + return (BOOLEAN) (Delta >= TimeoutTicker); } diff --git a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.h b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.h index 60550d42cf..e480fa3e0c 100644 --- a/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.h +++ b/SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.h @@ -20,7 +20,7 @@ @param[out] TimerFrequency Local APIC timer frequency returned. @param[in] DumpFlag If TRUE, dump Local APIC timer's parameter. - + @return 32-bit Local APIC timer init count. **/ UINT32 @@ -31,8 +31,8 @@ InitializeDebugTimer ( /** Check if the timer is time out. - - @param[in] TimerCycle Timer total count. + + @param[in] TimerCycle Timer initial count. @param[in] Timer The start timer from the begin. @param[in] TimeoutTicker Ticker number need time out.