]> git.proxmox.com Git - mirror_edk2.git/commit - PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c
PcAtChipsetPkg/Rtc: Fix a UEFI Win7 boot hang issue
authorRuiyu Ni <ruiyu.ni@intel.com>
Tue, 22 Dec 2015 13:52:47 +0000 (13:52 +0000)
committerniruiyu <niruiyu@Edk2>
Tue, 22 Dec 2015 13:52:47 +0000 (13:52 +0000)
commit41628cbc7cb267f35db4ba2efca833aa39198cba
tree3a8c0c5deecf46be8ac1d53bc856677f8db16e69
parent1b43162d70e8b09297b9cbba2fa7d041e3bc7113
PcAtChipsetPkg/Rtc: Fix a UEFI Win7 boot hang issue

The patch updates the Century value in CMOS location specified
by FADT.Century to avoid UEFI Win7 hang during booting.
Per the ACPI spec if the FADT.Century is zero, it's not needed
to store the century value in CMOS. But UEFI Win7 treats the
Century storage is optional only when FADT.Century is 0x80.
While Linux strictly follows the ACPI spec and treats Century
storage is optional when FADT.Century is 0.
So if a platform wants to support both UEFI Win7 and Linux,
it needs to report FADT.Century to a traditional value which
doesn't equal to 0 or 0x80 (0x32 mostly). And RTC driver is
enhanced to save the century value to the location specified
by FADT.Century.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19442 6f19259b-4bc3-4df7-8a09-765794883524
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.c
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtc.h
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf