ArmVirtPkg: Add Kvmtool RTC Fdt Client Library

Add library that parses the Kvmtool device tree and updates
the dynamic PCDs describing the RTC Memory map.

It also maps the MMIO region used by the RTC as runtime memory
so that the RTC registers are accessible post ExitBootServices.

Since UEFI takes ownership of the RTC hardware disable the RTC
node in the DT to prevent the OS from attaching its device
driver as well.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Acked-by: Laszlo Ersek <lersek@redhat.com>
This commit is contained in:
Sami Mujawar
2020-10-02 22:13:56 +01:00
committed by mergify[bot]
parent 015be4075f
commit cd09c38465
2 changed files with 272 additions and 0 deletions

View File

@@ -0,0 +1,42 @@
## @file
# FDT client library for motorola,mc146818 RTC driver
#
# Copyright (c) 2020, ARM Limited. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
##
[Defines]
INF_VERSION = 0x0001001B
BASE_NAME = KvmtoolRtcFdtClientLib
FILE_GUID = 3254B4F7-30B5-48C6-B06A-D8FF97F3EF95
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = KvmtoolRtcFdtClientLib|DXE_DRIVER DXE_RUNTIME_DRIVER
CONSTRUCTOR = KvmtoolRtcFdtClientLibConstructor
[Sources]
KvmtoolRtcFdtClientLib.c
[Packages]
ArmVirtPkg/ArmVirtPkg.dec
MdePkg/MdePkg.dec
PcAtChipsetPkg/PcAtChipsetPkg.dec
[LibraryClasses]
BaseLib
DebugLib
PcdLib
UefiBootServicesTableLib
DxeServicesTableLib
[Protocols]
gFdtClientProtocolGuid ## CONSUMES
[Pcd]
gPcAtChipsetPkgTokenSpaceGuid.PcdRtcIndexRegister64
gPcAtChipsetPkgTokenSpaceGuid.PcdRtcTargetRegister64
[Depex]
gFdtClientProtocolGuid