Time.Month = RtcRead (RTC_ADDRESS_MONTH);\r
Time.Year = RtcRead (RTC_ADDRESS_YEAR);\r
\r
- if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
- Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
- } else {\r
- Century = RtcRead (RTC_ADDRESS_CENTURY);\r
- }\r
-\r
+ Century = RtcRead (RTC_ADDRESS_CENTURY);\r
+ \r
//\r
// Set RTC configuration after get original time\r
// The value of bit AIE should be reserved.\r
//\r
DataSize = sizeof (UINT32);\r
Status = EfiGetVariable (\r
- L"TimerVar",\r
- &gEfiGenericPlatformVariableGuid,\r
+ L"RTC",\r
+ &gEfiCallerIdGuid,\r
NULL,\r
&DataSize,\r
(VOID *) &TimerVar\r
Time->Month = RtcRead (RTC_ADDRESS_MONTH);\r
Time->Year = RtcRead (RTC_ADDRESS_YEAR);\r
\r
- if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
- Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
- } else {\r
- Century = RtcRead (RTC_ADDRESS_CENTURY);\r
- }\r
-\r
+ Century = RtcRead (RTC_ADDRESS_CENTURY);\r
+ \r
//\r
// Release RTC Lock.\r
//\r
RtcWrite (RTC_ADDRESS_DAY_OF_THE_MONTH, RtcTime.Day);\r
RtcWrite (RTC_ADDRESS_MONTH, RtcTime.Month);\r
RtcWrite (RTC_ADDRESS_YEAR, (UINT8) RtcTime.Year);\r
- if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
- Century = (UINT8) ((Century & 0x7f) | (RtcRead (RTC_ADDRESS_CENTURY) & 0x80));\r
- }\r
-\r
RtcWrite (RTC_ADDRESS_CENTURY, Century);\r
\r
//\r
TimerVar = Time->Daylight;\r
TimerVar = (UINT32) ((TimerVar << 16) | Time->TimeZone);\r
Status = EfiSetVariable (\r
- L"TimerVar",\r
- &gEfiGenericPlatformVariableGuid,\r
+ L"RTC",\r
+ &gEfiCallerIdGuid,\r
EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
sizeof (TimerVar),\r
&TimerVar\r
Time->Year = RtcRead (RTC_ADDRESS_YEAR);\r
}\r
\r
- if (RtcTestCenturyRegister () == EFI_SUCCESS) {\r
- Century = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
- } else {\r
- Century = RtcRead (RTC_ADDRESS_CENTURY);\r
- }\r
-\r
+ Century = RtcRead (RTC_ADDRESS_CENTURY);\r
+ \r
//\r
// Release RTC Lock.\r
//\r
return EFI_SUCCESS;\r
}\r
\r
-/**\r
- See if century register of RTC is valid.\r
-\r
- @retval EFI_SUCCESS Century register is valid.\r
- @retval EFI_DEVICE_ERROR Century register is NOT valid.\r
-**/\r
-EFI_STATUS\r
-RtcTestCenturyRegister (\r
- VOID\r
- )\r
-{\r
- UINT8 Century;\r
- UINT8 Temp;\r
-\r
- Century = RtcRead (RTC_ADDRESS_CENTURY);\r
- Temp = (UINT8) (RtcRead (RTC_ADDRESS_CENTURY) & 0x7f);\r
- RtcWrite (RTC_ADDRESS_CENTURY, Century);\r
- if (Temp == 0x19 || Temp == 0x20) {\r
- return EFI_SUCCESS;\r
- }\r
-\r
- return EFI_DEVICE_ERROR;\r
-}\r
\r
/**\r
Checks an 8-bit BCD value, and converts to an 8-bit value if valid.\r
Time->Hour = CheckAndConvertBcd8ToDecimal8 (Time->Hour);\r
Time->Minute = CheckAndConvertBcd8ToDecimal8 (Time->Minute);\r
Time->Second = CheckAndConvertBcd8ToDecimal8 (Time->Second);\r
- Century = CheckAndConvertBcd8ToDecimal8 (Century);\r
}\r
+ Century = CheckAndConvertBcd8ToDecimal8 (Century);\r
\r
if (Time->Year == 0xff || Time->Month == 0xff || Time->Day == 0xff ||\r
Time->Hour == 0xff || Time->Minute == 0xff || Time->Second == 0xff ||\r