X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=PcAtChipsetPkg%2FPcatRealTimeClockRuntimeDxe%2FPcRtcEntry.c;h=a61a35e9eeb5973b6ee634936d059ca5e1174c54;hb=c455687fd0babe03a203b38c9a884c65198d8c1d;hp=03480830e28d108711bddccf3c09e8c87fe542b2;hpb=95d48e8299e000aefae3c7682039ce2473648940;p=mirror_edk2.git diff --git a/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c b/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c index 03480830e2..a61a35e9ee 100644 --- a/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c +++ b/PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c @@ -1,7 +1,7 @@ /** @file Provides Set/Get time operations. -Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.
+Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -18,7 +18,6 @@ PC_RTC_MODULE_GLOBALS mModuleGlobal; EFI_HANDLE mHandle = NULL; - /** Returns the current time and date information, and the time-keeping capabilities of the hardware platform. @@ -133,13 +132,33 @@ InitializePcRtc ( ) { EFI_STATUS Status; + EFI_EVENT Event; - EfiInitializeLock (&mModuleGlobal.RtcLock, TPL_HIGH_LEVEL); + EfiInitializeLock (&mModuleGlobal.RtcLock, TPL_CALLBACK); + mModuleGlobal.CenturyRtcAddress = GetCenturyRtcAddress (); Status = PcRtcInit (&mModuleGlobal); - if (EFI_ERROR (Status)) { - return Status; - } + ASSERT_EFI_ERROR (Status); + + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, + TPL_CALLBACK, + PcRtcAcpiTableChangeCallback, + NULL, + &gEfiAcpi10TableGuid, + &Event + ); + ASSERT_EFI_ERROR (Status); + + Status = gBS->CreateEventEx ( + EVT_NOTIFY_SIGNAL, + TPL_CALLBACK, + PcRtcAcpiTableChangeCallback, + NULL, + &gEfiAcpiTableGuid, + &Event + ); + ASSERT_EFI_ERROR (Status); gRT->GetTime = PcRtcEfiGetTime; gRT->SetTime = PcRtcEfiSetTime;