TianoCore EDK2 master
|
#include <PiDxe.h>
#include <Guid/EventGroup.h>
#include <Guid/GlobalVariable.h>
#include <Library/BaseLib.h>
#include <Library/DebugLib.h>
#include <Library/DxeServicesTableLib.h>
#include <Library/IoLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/PcdLib.h>
#include <Library/RealTimeClockLib.h>
#include <Library/TimeBaseLib.h>
#include <Library/UefiBootServicesTableLib.h>
#include <Library/UefiLib.h>
#include <Library/UefiRuntimeServicesTableLib.h>
#include <Library/UefiRuntimeLib.h>
#include "PL031RealTimeClock.h"
Go to the source code of this file.
Functions | |
EFI_STATUS | IdentifyPL031 (VOID) |
EFI_STATUS | InitializePL031 (VOID) |
EFI_STATUS EFIAPI | LibGetTime (OUT EFI_TIME *Time, OUT EFI_TIME_CAPABILITIES *Capabilities) |
EFI_STATUS EFIAPI | LibSetTime (IN EFI_TIME *Time) |
EFI_STATUS EFIAPI | LibGetWakeupTime (OUT BOOLEAN *Enabled, OUT BOOLEAN *Pending, OUT EFI_TIME *Time) |
EFI_STATUS EFIAPI | LibSetWakeupTime (IN BOOLEAN Enabled, OUT EFI_TIME *Time) |
STATIC VOID EFIAPI | VirtualNotifyEvent (IN EFI_EVENT Event, IN VOID *Context) |
EFI_STATUS EFIAPI | LibRtcInitialize (IN EFI_HANDLE ImageHandle, IN EFI_SYSTEM_TABLE *SystemTable) |
Variables | |
STATIC BOOLEAN | mPL031Initialized = FALSE |
STATIC EFI_EVENT | mRtcVirtualAddrChangeEvent |
STATIC UINTN | mPL031RtcBase |
Implement EFI RealTimeClock runtime services via RTC Lib.
Copyright (c) 2008 - 2010, Apple Inc. All rights reserved.
Copyright (c) 2011 - 2020, Arm Limited. All rights reserved.
Copyright (c) 2019, Linaro Ltd. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent
Definition in file PL031RealTimeClockLib.c.
EFI_STATUS IdentifyPL031 | ( | VOID | ) |
Definition at line 37 of file PL031RealTimeClockLib.c.
EFI_STATUS InitializePL031 | ( | VOID | ) |
Definition at line 70 of file PL031RealTimeClockLib.c.
EFI_STATUS EFIAPI LibGetTime | ( | OUT EFI_TIME * | Time, |
OUT EFI_TIME_CAPABILITIES * | Capabilities | ||
) |
Returns the current time and date information, and the time-keeping capabilities of the hardware platform.
Time | A pointer to storage to receive a snapshot of the current time. |
Capabilities | An optional pointer to a buffer to receive the real time clock device's capabilities. |
EFI_SUCCESS | The operation completed successfully. |
EFI_INVALID_PARAMETER | Time is NULL. |
EFI_DEVICE_ERROR | The time could not be retrieved due to hardware error. |
EFI_UNSUPPORTED | This call is not supported by this platform at the time the call is made. The platform should describe this runtime service as unsupported at runtime via an EFI_RT_PROPERTIES_TABLE configuration table. |
Definition at line 121 of file PL031RealTimeClockLib.c.
EFI_STATUS EFIAPI LibGetWakeupTime | ( | OUT BOOLEAN * | Enabled, |
OUT BOOLEAN * | Pending, | ||
OUT EFI_TIME * | Time | ||
) |
Returns the current wakeup alarm clock setting.
Enabled | Indicates if the alarm is currently enabled or disabled. |
Pending | Indicates if the alarm signal is pending and requires acknowledgement. |
Time | The current alarm setting. |
EFI_SUCCESS | The alarm settings were returned. |
EFI_INVALID_PARAMETER | Enabled is NULL. |
EFI_INVALID_PARAMETER | Pending is NULL. |
EFI_INVALID_PARAMETER | Time is NULL. |
EFI_DEVICE_ERROR | The wakeup time could not be retrieved due to a hardware error. |
EFI_UNSUPPORTED | This call is not supported by this platform at the time the call is made. The platform should describe this runtime service as unsupported at runtime via an EFI_RT_PROPERTIES_TABLE configuration table. |
Definition at line 243 of file PL031RealTimeClockLib.c.
EFI_STATUS EFIAPI LibRtcInitialize | ( | IN EFI_HANDLE | ImageHandle, |
IN EFI_SYSTEM_TABLE * | SystemTable | ||
) |
This is the declaration of an EFI image entry point. This can be the entry point to an application written to this specification, an EFI boot service driver, or an EFI runtime driver.
ImageHandle | Handle that identifies the loaded image. |
SystemTable | System Table for this image. |
EFI_SUCCESS | The operation completed successfully. |
Definition at line 319 of file PL031RealTimeClockLib.c.
EFI_STATUS EFIAPI LibSetTime | ( | IN EFI_TIME * | Time | ) |
Sets the current local time and date information.
Time | A pointer to the current time. |
EFI_SUCCESS | The operation completed successfully. |
EFI_INVALID_PARAMETER | A time field is out of range. |
EFI_DEVICE_ERROR | The time could not be set due to hardware error. |
EFI_UNSUPPORTED | This call is not supported by this platform at the time the call is made. The platform should describe this runtime service as unsupported at runtime via an EFI_RT_PROPERTIES_TABLE configuration table. |
Definition at line 184 of file PL031RealTimeClockLib.c.
EFI_STATUS EFIAPI LibSetWakeupTime | ( | IN BOOLEAN | Enabled, |
OUT EFI_TIME * | Time | ||
) |
Sets the system wakeup alarm clock time.
Enabled | Enable or disable the wakeup alarm. |
Time | If Enable is TRUE, the time to set the wakeup alarm for. |
EFI_SUCCESS | If Enable is TRUE, then the wakeup alarm was enabled. If Enable is FALSE, then the wakeup alarm was disabled. |
EFI_INVALID_PARAMETER | Enabled is NULL. |
EFI_INVALID_PARAMETER | Pending is NULL. |
EFI_INVALID_PARAMETER | Time is NULL. |
EFI_DEVICE_ERROR | The wakeup time could not be set due to a hardware error. |
EFI_UNSUPPORTED | This call is not supported by this platform at the time the call is made. The platform should describe this runtime service as unsupported at runtime via an EFI_RT_PROPERTIES_TABLE configuration table. |
Definition at line 272 of file PL031RealTimeClockLib.c.
Fixup internal data so that EFI can be call in virtual mode. Call the passed in Child Notify event and convert any pointers in lib to virtual mode.
[in] | Event | The Event that is being processed |
[in] | Context | Event Context |
Definition at line 292 of file PL031RealTimeClockLib.c.
Definition at line 32 of file PL031RealTimeClockLib.c.
Definition at line 34 of file PL031RealTimeClockLib.c.
Definition at line 33 of file PL031RealTimeClockLib.c.