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 <jeff.fan@intel.com>
Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18329 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Jeff Fan 2015-08-27 02:08:56 +00:00 committed by vanjeff
parent 3b9468ef28
commit 8a079ef232
2 changed files with 9 additions and 9 deletions

View File

@ -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);
}

View File

@ -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.