Implement a ArmVirtPkg specific version of the PSCI ResetSystemLib that is usable in the PEI phase, as the existing one relies on the FDT client protocol, making it unsuitable. Note that accessing the device tree passed by QEMU via its initial base address is guaranteed to be safe at any time during the PEI phase, so we can defer discovery of the PSCI method until the time the reset library is actually invoked (which is rarely) Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2560 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Laszlo Ersek <lersek@redhat.com>
40 lines
950 B
INI
40 lines
950 B
INI
#/** @file
|
|
# Reset System lib using PSCI hypervisor or secure monitor calls
|
|
#
|
|
# Copyright (c) 2008, Apple Inc. All rights reserved.<BR>
|
|
# Copyright (c) 2014-2020, Linaro Ltd. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
#
|
|
#**/
|
|
|
|
[Defines]
|
|
INF_VERSION = 1.27
|
|
BASE_NAME = ArmVirtPsciResetSystemPeiLib
|
|
FILE_GUID = 551cfb98-c185-41a3-86bf-8cdb7e2a530c
|
|
MODULE_TYPE = BASE
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = ResetSystemLib|PEIM
|
|
|
|
[Sources]
|
|
ArmVirtPsciResetSystemPeiLib.c
|
|
|
|
[Packages]
|
|
ArmPkg/ArmPkg.dec
|
|
ArmVirtPkg/ArmVirtPkg.dec
|
|
EmbeddedPkg/EmbeddedPkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
MdePkg/MdePkg.dec
|
|
|
|
[LibraryClasses]
|
|
ArmSmcLib
|
|
ArmHvcLib
|
|
BaseLib
|
|
DebugLib
|
|
FdtLib
|
|
HobLib
|
|
|
|
[Pcd]
|
|
gArmVirtTokenSpaceGuid.PcdDeviceTreeInitialBaseAddress
|