summaryrefslogtreecommitdiff
path: root/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe
AgeCommit message (Collapse)AuthorFilesLines
2017-11-23PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe: Replace RTC macrosLeo Duran3-12/+16
Use FixedPCD's to set platform-specific values for RTC registers. Specifically, the replaced macros are: 1) RTC_INIT_REGISTER_A 2) RTC_INIT_REGISTER_B 3) RTC_INIT_REGISTER_D Cc: Ruiyu Ni <ruiyu.ni@intel.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Leo Duran <leo.duran@amd.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2017-10-10PcAtChipsetPkg: Update GUID usage in PcRtc INF to match the source codeLiming Gao1-2/+7
Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Liming Gao <liming.gao@intel.com> Cc: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com>
2016-12-06PcAtChipsetPkg/PcRtc: Fix bad EOLRuiyu Ni1-1/+1
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
2016-11-18PcAtChipsetPkg/PcRtc: Handle NULL table entry in RSDT/XSDTRuiyu Ni1-0/+5
The ACPI code may reserve the first entry for a certain table (might be FACS) to help with OS compatible issues. We need to skip the NULL table entry in RSDT/XSDT. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Sean Brogan <sean.brogan@microsoft.com> Reviewed-by: Star Zeng <star.zeng@intel.com>
2016-07-27PcAtChipsetPkg/PcRtc: Fix a NULL pointer deference issueRuiyu Ni1-14/+17
When a platform which doesn't support ACPI 1.0 (no XSDT) and FADT is not produced at the first time when ACPI table is published, GetCenturyRtcAddress() unconditionally deference Rsdp->RsdtAddress but Rsdp->RsdtAddress is 0 in this case. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
2016-07-27PcAtChipsetPkg/PcRtc: Fix a stack corruption issueRuiyu Ni1-1/+1
In 32bit environment, ScanTableInSDT() incorrectly copies 8 bytes of data to 4-byte pointer Table, which causes the stack corruption. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
2016-05-23PcAtChipsetPkg/PcRtc: get century RTC address in entry pointRuiyu Ni2-3/+13
When ACPI table is installed before PcRtc driver runs, the ACPI table installation callback isn't called which causes the century value isn't written to the CMOS. The patch calls GetCenturyRtcAddress() in entry point to fix the bug. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Anbazhagan Baraneedharan <anbazhagan@hp.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Cc: Star Zeng <star.zeng@intel.com>
2016-05-23PcAtChipsetPkg/PcRtc: move ACPI parsing code to GetCenturyRtcAddressRuiyu Ni1-18/+38
The patch moves ACPI parsing code to a separate function GetCenturyRtcAddress() and the next patch will call this function in driver entry point. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Cc: Anbazhagan Baraneedharan <anbazhagan@hp.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Cc: Star Zeng <star.zeng@intel.com>
2016-02-03MdeModulePkg/PcRtc: Still create timezone variable when Daylight != 0Ruiyu Ni1-1/+1
The patch fixes a regression bug caused by last check-in which causes Daylight setting cannot be set when timezone is unspecified. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com>
2016-02-01PcAtChipsetPkg/Rtc: Don't unnecessarily create timezone variable.Ruiyu Ni1-43/+38
When SetTime() is called with EFI_UNSPECIFIED_TIMEZONE, the code can optimally not create the private timezone variable because absence of timezone variable indicates the timezone is unspecified. 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@19783 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-24PcAtChipsetPkg/PcRtc: Modify INF file content to follow INF specRuiyu Ni1-2/+2
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Shumin Qiu <Shumin.Qiu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19515 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-24PcAtChipsetPkg/PcRtc: Add assertion to pass static code checkerRuiyu Ni1-0/+2
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Shumin Qiu <Shumin.Qiu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19514 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-23PcAtChipsetPkg/PcRtc: Fix GCC build failure.Ruiyu Ni1-1/+2
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com> Reviewed-by: Hao A Wu <hao.a.wu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19477 6f19259b-4bc3-4df7-8a09-765794883524
2015-12-22PcAtChipsetPkg/Rtc: Fix a UEFI Win7 boot hang issueRuiyu Ni4-4/+158
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
2015-12-15PcAtChipsetPkg: Convert all .uni files to utf-8Jordan Justen2-0/+0
To convert these files I ran: $ python3 BaseTools/Scripts/ConvertUni.py PcAtChipsetPkg Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Michael Kinney <michael.d.kinney@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19260 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-07PcRtc: Fix PcRtcInit() to not clear RegisterB Hour Format bit (BIT1) sometimesRuiyu Ni1-1/+2
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@17848 6f19259b-4bc3-4df7-8a09-765794883524
2015-06-11PcAtChipsetPkg/PcRtc: Fix a Y2K bugRuiyu Ni2-42/+24
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-01-23Added 2 new PCDs for minimal and maximal valid year in RTC.Elvin Li2-3/+7
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16642 6f19259b-4bc3-4df7-8a09-765794883524
2015-01-20PcAtChipsetPkg: Refine the format of meta data files.Shumin Qiu1-11/+10
Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Shumin Qiu <shumin.qiu@intel.com> Reviewed-by: Ruiyu Ni <ruiyu.ni@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16626 6f19259b-4bc3-4df7-8a09-765794883524
2014-11-25Initialize alarm register in PcRtc module entrypoint to make UEFI SCT ↵Elvin Li1-2/+89
GetWakeupTime pass. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Feng Tian <feng.tian@intel.com> Reviewed-by: Eric Jin <eric.jin@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16425 6f19259b-4bc3-4df7-8a09-765794883524
2014-09-03PcAtChipsetPkg: Convert non DOS format files to DOS format and rename the ↵Gao, Liming1-0/+0
same module name. 1. Module UNI and Package UNI files are not DOS format. Convert them to DOS format. 2. BaseAcpiTimerLib and DxeAcpiTimerLib has the same module name. Update them to the different name, and add the module uni file with the updated module name. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Gao, Liming <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16046 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28PcAtChipsetPkg: INF/DEC file updates to EDK II packagesQiu, Shumin2-0/+0
2. Add MODULE_UNI_FILE file that contains the localized Abstract and Description of a module. a. Addresses an information gap between INF files and the UEFI Distribution Packaging Specification XML schema b. There will be an associated update to UPT in BaseTools to consume MODULE_UNI_FILE and associated UNI file during UDP creation that performs the INF -> XML conversion. c. There will be an associated update to UPT in BaseTools to produce MODULE_UNI_FILE and associated UNI file during UDP installation that performs the XML -> INF conversion. 3. Add Module Extra UNI file that provides the localized Name of a module. a. [UserExtensions.TianoCore."ExtraFiles"] provides an easy method for a module to specify extra files not listed in [Sources] or [Binaries] sections to be added to a UDP without having to list the files in the UPT package information data file. b. There will be an associated update to UPT in BaseTools to package up files listed in [UserExtensions.TianoCore."ExtraFiles"] during UDP creation. c. UNI file contains localized name of a module to go along with the localized Abstract and Description from the MODULE_UNI_FILE. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu, Shumin <shumin.qiu@intel.com> Reviewed-by: Gao, Liming <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15943 6f19259b-4bc3-4df7-8a09-765794883524
2014-08-28PcAtChipsetPkg: INF/DEC file updates to EDK II packagesQiu, Shumin1-2/+5
1. Usage information in INF file comment blocks are either incomplete or incorrect. This includes usage information for Protocols/PPIs/GUIDs/PCDs/HOBs/Events/BootModes. The syntax for usage information in comment blocks is defined in the EDK II Module Information (INF) Specification Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu, Shumin <shumin.qiu@intel.com> Reviewed-by: Gao, Liming <liming.gao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15942 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-19Did proper error handling when SetVariable failed, and put RTC write ↵Elvin Li1-33/+51
operation at the behind of SetVariable, if SetVariable failed, RTC content could not be changed. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Elvin Li <elvin.li@intel.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15338 6f19259b-4bc3-4df7-8a09-765794883524
2012-10-30Add missing status code in several modules.li-elvin3-0/+9
Signed-off-by: Li Elvin <elvin.li@intel.com> Reviewed-by: Yao Jiewen <jiewen.yao@intel.com> Reviewed-by: Ni Ruiyu <ruiyu.ni@intel.com> Reviewed-by: Gao Liming <liming.gao@intel.com> Reviewed-by: Tian Feng <feng.tian@intel.com> Reviewed-by: Fan Jeff <jeff.fan@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13891 6f19259b-4bc3-4df7-8a09-765794883524
2012-08-15PcAtChipsetPkg/RTC: Fix a bug in RtcGetWakeUpTime() which may cause its ↵erictian1-0/+1
return value wrong Signed-off-by: Tian Feng <feng.tian@intel.com> Reviewed-by: Jin Eric <Eric.Jin@intel.com> git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@13637 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-22PcAtChipsetPkg: install RTC ARCH protocol even if RTC h/w is functioning ↵erictian2-3/+6
incorrectly. signed-off-by: erictian reviewed-by: mdkinney git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12756 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-17PcAtChipsetPkg: install RTC ARCH protocol even if the "RTC" variable is ↵erictian1-0/+2
corrupted. signed-off-by: erictian reviewed-by: hhtian git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12734 6f19259b-4bc3-4df7-8a09-765794883524
2011-11-17PcAtChipsetPkg: Do right sign extension to avoid a wrong daylight value ↵erictian1-2/+2
saving into "RTC" variable signed-off-by: erictian reviewed-by: niruiyu git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@12732 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-12fix GCC build failure. make function definition same with declaration.erictian1-3/+0
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11044 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-10fix build errorerictian1-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11024 6f19259b-4bc3-4df7-8a09-765794883524
2010-11-10store Year/Month/Day to variable in SetWakeupTime() because PCAT RTC Alarm ↵erictian2-26/+64
registers has not corresponding Y/M/D alarm register. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11021 6f19259b-4bc3-4df7-8a09-765794883524
2010-09-17RefRefine soma code to make code run safely.ydong102-32/+32
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10885 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-24Update the copyright notice formathhtian4-7/+7
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10426 6f19259b-4bc3-4df7-8a09-765794883524
2010-04-12Refine the file/function comments to follow doxygen formatklu21-2/+2
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10359 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-28Correct copyright to 2010.lgao41-1/+1
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10120 6f19259b-4bc3-4df7-8a09-765794883524
2010-02-231. Correct File header to ## @filelgao41-3/+3
2. Remove unnecessary .common] postfix on section. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10051 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-27For pass all compilers.gikidy1-3/+28
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9015 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-27Add Nanosecond initialize when CMOS clear for ConvertRtcTimeToEfiTime can ↵gikidy1-31/+10
not initialize it. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9014 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-15Fixed 2 bugs in the RTC driver of PcAtChipsetPkg.rsun31-40/+32
1. RtcTimeFieldsValid() has bug checking the validity of TIME fields, which causes SetTime() will not return EFI_INVALID_PARAMETER when it is fed with invliad time fields. 2. Logical error in handling Time Zone and Day Light Saving.GetTime() won't return Time Zone and Day Light Saving set by last SetTime() call. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8948 6f19259b-4bc3-4df7-8a09-765794883524
2009-07-07Move PcatRealTimeClockRuntimeDxe driver to PcAtChipsetPkgklu24-0/+1643
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8766 6f19259b-4bc3-4df7-8a09-765794883524