The RealTimeClockLib class is declared under EmbeddedPkg, so that platforms can provide the internals for the EmbeddedPkg/RealTimeClockRuntimeDxe driver. In turn the driver produces the Real Time Clock Arch Protocol, without which UEFI drivers cannot be dispatched.
The PL031RealTimeClockLib instance calls gDS->SetMemorySpaceAttributes() in the LibRtcInitialize() public function. This DXE service depends on the CPU Arch Protocol. Add it to the depex. Cc: Ard Biesheuvel <ard.biesheu...@linaro.org> Cc: Leif Lindholm <leif.lindh...@linaro.org> Cc: Steve Capper <steve.cap...@linaro.org> Cc: Supreeth Venkatesh <supreeth.venkat...@arm.com> Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Laszlo Ersek <ler...@redhat.com> --- ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf b/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf index a3e4f73e7d05..3d62aeabd670 100644 --- a/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf +++ b/ArmPlatformPkg/Library/PL031RealTimeClockLib/PL031RealTimeClockLib.inf @@ -16,13 +16,13 @@ [Defines] INF_VERSION = 0x00010005 BASE_NAME = PL031RealTimeClockLib FILE_GUID = 470DFB96-E205-4515-A75E-2E60F853E79D MODULE_TYPE = BASE VERSION_STRING = 1.0 - LIBRARY_CLASS = RealTimeClockLib + LIBRARY_CLASS = RealTimeClockLib|DXE_RUNTIME_DRIVER [Sources.common] PL031RealTimeClockLib.c [Packages] MdePkg/MdePkg.dec @@ -41,6 +41,9 @@ [LibraryClasses] [Guids] gEfiEventVirtualAddressChangeGuid [Pcd] gArmPlatformTokenSpaceGuid.PcdPL031RtcBase gArmPlatformTokenSpaceGuid.PcdPL031RtcPpmAccuracy + +[Depex.common.DXE_RUNTIME_DRIVER] + gEfiCpuArchProtocolGuid -- 2.14.1.3.gb7cf6e02401b _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel