From: qhuang8 Date: Fri, 5 Dec 2008 03:17:57 +0000 (+0000) Subject: Move Ia32PcRtc.c from IA-32 sub-directory and rename to PcRtcEntry.c since IPF is... X-Git-Tag: edk2-stable201903~19393 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=714e2a12d576b3bad7e3ea6ca7156d6e1e658ca4 Move Ia32PcRtc.c from IA-32 sub-directory and rename to PcRtcEntry.c since IPF is not supported by this module now. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@6853 6f19259b-4bc3-4df7-8a09-765794883524 --- diff --git a/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/Ia32/Ia32PcRtc.c b/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/Ia32/Ia32PcRtc.c deleted file mode 100644 index ce3fa90492..0000000000 --- a/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/Ia32/Ia32PcRtc.c +++ /dev/null @@ -1,158 +0,0 @@ -/** @file - Provides Set/Get time operations. - -Copyright (c) 2006 - 2008, 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 -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include "PcRtc.h" - -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. - - @param Time A pointer to storage to receive a snapshot of the current time. - @param Capabilities An optional pointer to a buffer to receive the real time - clock device's capabilities. - - @retval EFI_SUCCESS The operation completed successfully. - @retval EFI_INVALID_PARAMETER Time is NULL. - @retval EFI_DEVICE_ERROR The time could not be retrieved due to hardware error. - -**/ -EFI_STATUS -EFIAPI -PcRtcEfiGetTime ( - OUT EFI_TIME *Time, - OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL - ) -{ - return PcRtcGetTime (Time, Capabilities, &mModuleGlobal); -} - -/** - Sets the current local time and date information. - - @param Time A pointer to the current time. - - @retval EFI_SUCCESS The operation completed successfully. - @retval EFI_INVALID_PARAMETER A time field is out of range. - @retval EFI_DEVICE_ERROR The time could not be set due due to hardware error. - -**/ -EFI_STATUS -EFIAPI -PcRtcEfiSetTime ( - IN EFI_TIME *Time - ) -{ - return PcRtcSetTime (Time, &mModuleGlobal); -} - -/** - Returns the current wakeup alarm clock setting. - - @param Enabled Indicates if the alarm is currently enabled or disabled. - @param Pending Indicates if the alarm signal is pending and requires acknowledgement. - @param Time The current alarm setting. - - @retval EFI_SUCCESS The alarm settings were returned. - @retval EFI_INVALID_PARAMETER Enabled is NULL. - @retval EFI_INVALID_PARAMETER Pending is NULL. - @retval EFI_INVALID_PARAMETER Time is NULL. - @retval EFI_DEVICE_ERROR The wakeup time could not be retrieved due to a hardware error. - @retval EFI_UNSUPPORTED A wakeup timer is not supported on this platform. - -**/ -EFI_STATUS -EFIAPI -PcRtcEfiGetWakeupTime ( - OUT BOOLEAN *Enabled, - OUT BOOLEAN *Pending, - OUT EFI_TIME *Time - ) -{ - return PcRtcGetWakeupTime (Enabled, Pending, Time, &mModuleGlobal); -} - - -/** - Sets the system wakeup alarm clock time. - - @param Enabled Enable or disable the wakeup alarm. - @param Time If Enable is TRUE, the time to set the wakeup alarm for. - If Enable is FALSE, then this parameter is optional, and may be NULL. - - @retval EFI_SUCCESS If Enable is TRUE, then the wakeup alarm was enabled. - If Enable is FALSE, then the wakeup alarm was disabled. - @retval EFI_INVALID_PARAMETER A time field is out of range. - @retval EFI_DEVICE_ERROR The wakeup time could not be set due to a hardware error. - @retval EFI_UNSUPPORTED A wakeup timer is not supported on this platform. - -**/ -EFI_STATUS -EFIAPI -PcRtcEfiSetWakeupTime ( - IN BOOLEAN Enabled, - IN EFI_TIME *Time OPTIONAL - ) -{ - return PcRtcSetWakeupTime (Enabled, Time, &mModuleGlobal); -} - -/** - The user Entry Point for PcRTC module. - - This is the entrhy point for PcRTC module. It installs the UEFI runtime service - including GetTime(),SetTime(),GetWakeupTime(),and SetWakeupTime(). - - @param ImageHandle The firmware allocated handle for the EFI image. - @param SystemTable A pointer to the EFI System Table. - - @retval EFI_SUCCESS The entry point is executed successfully. - @retval Others Some error occurs when executing this entry point. - -**/ -EFI_STATUS -EFIAPI -InitializePcRtc ( - IN EFI_HANDLE ImageHandle, - IN EFI_SYSTEM_TABLE *SystemTable - ) -{ - EFI_STATUS Status; - - EfiInitializeLock (&mModuleGlobal.RtcLock, TPL_HIGH_LEVEL); - - Status = PcRtcInit (&mModuleGlobal); - if (EFI_ERROR (Status)) { - return Status; - } - - gRT->GetTime = PcRtcEfiGetTime; - gRT->SetTime = PcRtcEfiSetTime; - gRT->GetWakeupTime = PcRtcEfiGetWakeupTime; - gRT->SetWakeupTime = PcRtcEfiSetWakeupTime; - - Status = gBS->InstallMultipleProtocolInterfaces ( - &mHandle, - &gEfiRealTimeClockArchProtocolGuid, - NULL, - NULL - ); - ASSERT_EFI_ERROR (Status); - - return Status; -} diff --git a/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c b/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c new file mode 100644 index 0000000000..ce3fa90492 --- /dev/null +++ b/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/PcRtcEntry.c @@ -0,0 +1,158 @@ +/** @file + Provides Set/Get time operations. + +Copyright (c) 2006 - 2008, 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 +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include "PcRtc.h" + +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. + + @param Time A pointer to storage to receive a snapshot of the current time. + @param Capabilities An optional pointer to a buffer to receive the real time + clock device's capabilities. + + @retval EFI_SUCCESS The operation completed successfully. + @retval EFI_INVALID_PARAMETER Time is NULL. + @retval EFI_DEVICE_ERROR The time could not be retrieved due to hardware error. + +**/ +EFI_STATUS +EFIAPI +PcRtcEfiGetTime ( + OUT EFI_TIME *Time, + OUT EFI_TIME_CAPABILITIES *Capabilities OPTIONAL + ) +{ + return PcRtcGetTime (Time, Capabilities, &mModuleGlobal); +} + +/** + Sets the current local time and date information. + + @param Time A pointer to the current time. + + @retval EFI_SUCCESS The operation completed successfully. + @retval EFI_INVALID_PARAMETER A time field is out of range. + @retval EFI_DEVICE_ERROR The time could not be set due due to hardware error. + +**/ +EFI_STATUS +EFIAPI +PcRtcEfiSetTime ( + IN EFI_TIME *Time + ) +{ + return PcRtcSetTime (Time, &mModuleGlobal); +} + +/** + Returns the current wakeup alarm clock setting. + + @param Enabled Indicates if the alarm is currently enabled or disabled. + @param Pending Indicates if the alarm signal is pending and requires acknowledgement. + @param Time The current alarm setting. + + @retval EFI_SUCCESS The alarm settings were returned. + @retval EFI_INVALID_PARAMETER Enabled is NULL. + @retval EFI_INVALID_PARAMETER Pending is NULL. + @retval EFI_INVALID_PARAMETER Time is NULL. + @retval EFI_DEVICE_ERROR The wakeup time could not be retrieved due to a hardware error. + @retval EFI_UNSUPPORTED A wakeup timer is not supported on this platform. + +**/ +EFI_STATUS +EFIAPI +PcRtcEfiGetWakeupTime ( + OUT BOOLEAN *Enabled, + OUT BOOLEAN *Pending, + OUT EFI_TIME *Time + ) +{ + return PcRtcGetWakeupTime (Enabled, Pending, Time, &mModuleGlobal); +} + + +/** + Sets the system wakeup alarm clock time. + + @param Enabled Enable or disable the wakeup alarm. + @param Time If Enable is TRUE, the time to set the wakeup alarm for. + If Enable is FALSE, then this parameter is optional, and may be NULL. + + @retval EFI_SUCCESS If Enable is TRUE, then the wakeup alarm was enabled. + If Enable is FALSE, then the wakeup alarm was disabled. + @retval EFI_INVALID_PARAMETER A time field is out of range. + @retval EFI_DEVICE_ERROR The wakeup time could not be set due to a hardware error. + @retval EFI_UNSUPPORTED A wakeup timer is not supported on this platform. + +**/ +EFI_STATUS +EFIAPI +PcRtcEfiSetWakeupTime ( + IN BOOLEAN Enabled, + IN EFI_TIME *Time OPTIONAL + ) +{ + return PcRtcSetWakeupTime (Enabled, Time, &mModuleGlobal); +} + +/** + The user Entry Point for PcRTC module. + + This is the entrhy point for PcRTC module. It installs the UEFI runtime service + including GetTime(),SetTime(),GetWakeupTime(),and SetWakeupTime(). + + @param ImageHandle The firmware allocated handle for the EFI image. + @param SystemTable A pointer to the EFI System Table. + + @retval EFI_SUCCESS The entry point is executed successfully. + @retval Others Some error occurs when executing this entry point. + +**/ +EFI_STATUS +EFIAPI +InitializePcRtc ( + IN EFI_HANDLE ImageHandle, + IN EFI_SYSTEM_TABLE *SystemTable + ) +{ + EFI_STATUS Status; + + EfiInitializeLock (&mModuleGlobal.RtcLock, TPL_HIGH_LEVEL); + + Status = PcRtcInit (&mModuleGlobal); + if (EFI_ERROR (Status)) { + return Status; + } + + gRT->GetTime = PcRtcEfiGetTime; + gRT->SetTime = PcRtcEfiSetTime; + gRT->GetWakeupTime = PcRtcEfiGetWakeupTime; + gRT->SetWakeupTime = PcRtcEfiSetWakeupTime; + + Status = gBS->InstallMultipleProtocolInterfaces ( + &mHandle, + &gEfiRealTimeClockArchProtocolGuid, + NULL, + NULL + ); + ASSERT_EFI_ERROR (Status); + + return Status; +} diff --git a/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf b/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf index 93b9247988..4f69a71916 100644 --- a/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf +++ b/MdeModulePkg/Universal/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf @@ -30,7 +30,7 @@ # [Sources.common] - Ia32/Ia32PcRtc.c + PcRtcEntry.c PcRtc.c PcRtc.h