audk/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe
Ruiyu Ni fe32096778 PcAtChipsetPkg/PcRtc: Fix a Y2K bug
The original driver cannot handle the case when system time runs from 1999/12/31 23:59:59
to 2000/1/1 0:0:0.
A simple test to set system time to 1999/12/31 23:59:59 can expose this bug.
The patch limits the driver to only support year in 100 range and decide the century value based
on the supporting range: Century either equals to PcdMinimalYear / 100 or equals to PcdMinimalYear / 100 + 1.

The patch passed the Y2K test.
However with year range [1998, 2097], when system time is 2097/12/31 23:59:59,
the next second system time will become 1998/1/1 0:0:0. I think it's a acceptable limitation.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Feng Tian <feng.tian@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17624 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-11 07:14:18 +00:00
..
PcRtc.c PcAtChipsetPkg/PcRtc: Fix a Y2K bug 2015-06-11 07:14:18 +00:00
PcRtc.h PcAtChipsetPkg/PcRtc: Fix a Y2K bug 2015-06-11 07:14:18 +00:00
PcRtc.uni PcAtChipsetPkg: Convert non DOS format files to DOS format and rename the same module name. 2014-09-03 08:48:29 +00:00
PcRtcEntry.c PcAtChipsetPkg: install RTC ARCH protocol even if RTC h/w is functioning incorrectly. 2011-11-22 06:11:16 +00:00
PcRtcExtra.uni PcAtChipsetPkg: INF/DEC file updates to EDK II packages 2014-08-28 05:18:38 +00:00
PcatRealTimeClockRuntimeDxe.inf Added 2 new PCDs for minimal and maximal valid year in RTC. 2015-01-23 04:49:00 +00:00