- TimerVar = Time->Daylight;\r
- TimerVar = (UINT32) ((TimerVar << 16) | (UINT16)(Time->TimeZone));\r
- Status = EfiSetVariable (\r
- L"RTC",\r
- &gEfiCallerIdGuid,\r
- EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
- sizeof (TimerVar),\r
- &TimerVar\r
- );\r
+ if (Time->TimeZone == EFI_UNSPECIFIED_TIMEZONE) {\r
+ Status = EfiSetVariable (\r
+ mTimeZoneVariableName,\r
+ &gEfiCallerIdGuid,\r
+ 0,\r
+ 0,\r
+ NULL\r
+ );\r
+ if (Status == EFI_NOT_FOUND) {\r
+ Status = EFI_SUCCESS;\r
+ }\r
+ } else {\r
+ TimerVar = Time->Daylight;\r
+ TimerVar = (UINT32) ((TimerVar << 16) | (UINT16)(Time->TimeZone));\r
+ Status = EfiSetVariable (\r
+ mTimeZoneVariableName,\r
+ &gEfiCallerIdGuid,\r
+ EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
+ sizeof (TimerVar),\r
+ &TimerVar\r
+ );\r
+ }\r
+\r