Create a MAX_TIMER_TICK_DURATION for the error handling in 8254 timer module.

Signed-off-by: Li Elvin <elvin.li@intel.com>
Reviewed-by: Tian Hot <hot.tian@intel.com>
Reviewed-by: Zeng Star <star.zeng@intel.com>


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13884 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
li-elvin 2012-10-25 06:26:39 +00:00
parent cc1a5b86ff
commit 76cd9a03e5
2 changed files with 9 additions and 5 deletions

View File

@ -1,7 +1,7 @@
/** @file
Timer Architectural Protocol as defined in the DXE CIS
Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -219,9 +219,7 @@ TimerDriverSetTimerPeriod (
//
if (TimerCount >= 65536) {
TimerCount = 0;
if (TimerPeriod >= DEFAULT_TIMER_TICK_DURATION) {
TimerPeriod = DEFAULT_TIMER_TICK_DURATION;
}
TimerPeriod = MAX_TIMER_TICK_DURATION;
}
//
// Program the 8254 timer with the new count value

View File

@ -1,7 +1,7 @@
/** @file
Private data structures
Copyright (c) 2005 - 2010, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2005 - 2012, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
@ -34,6 +34,12 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
// ---------------- * 1,000,000 uS/S = 54925.4 uS = 549254 * 100 ns
// 1,193,182 Hz
//
//
// The maximum tick duration for 8254 timer
//
#define MAX_TIMER_TICK_DURATION 549254
//
// The default timer tick duration is set to 10 ms = 100000 100 ns units
//
#define DEFAULT_TIMER_TICK_DURATION 100000