Allow to use Xen hypercalls earlier, during the PEIM stage, but XenHypercallLibInit() must be called once the XenInfo HOB is created with the HyperPage setup. Change the return value of XenHypercallLibInit so failure can be detected when the call shouldn't fail, but still have the constructor always succeed. Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1689 Signed-off-by: Anthony PERARD <anthony.perard@citrix.com> Reviewed-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <20190813113119.14804-17-anthony.perard@citrix.com>
64 lines
1.4 KiB
INI
64 lines
1.4 KiB
INI
## @file
|
|
# Xen Hypercall abstraction lib for Intel and ARM architectures
|
|
#
|
|
# Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = XenHypercallLib
|
|
FILE_GUID = B5EE9A32-CA5A-49A8-82E3-ADA4CCB77C7C
|
|
MODULE_TYPE = BASE
|
|
VERSION_STRING = 1.0
|
|
CONSTRUCTOR = XenHypercallLibConstruct
|
|
|
|
[Defines.IA32, Defines.X64]
|
|
LIBRARY_CLASS = XenHypercallLib|PEIM DXE_DRIVER UEFI_DRIVER
|
|
|
|
[Defines.ARM, Defines.AARCH64]
|
|
LIBRARY_CLASS = XenHypercallLib
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 ARM AARCH64
|
|
#
|
|
|
|
[Sources.IA32, Sources.X64]
|
|
X86XenHypercall.c
|
|
|
|
[Sources.IA32]
|
|
Ia32/hypercall.nasm
|
|
|
|
[Sources.X64]
|
|
X64/hypercall.nasm
|
|
|
|
[Sources.ARM, Sources.AARCH64]
|
|
ArmXenHypercall.c
|
|
|
|
[Sources.ARM]
|
|
Arm/Hypercall.S
|
|
|
|
[Sources.AARCH64]
|
|
Aarch64/Hypercall.S
|
|
|
|
[Sources]
|
|
XenHypercall.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
OvmfPkg/OvmfPkg.dec
|
|
|
|
[LibraryClasses.IA32, LibraryClasses.X64]
|
|
BaseLib
|
|
HobLib
|
|
DebugLib
|
|
|
|
[Guids.IA32, Guids.X64]
|
|
gEfiXenInfoGuid
|
|
|
|
[BuildOptions.ARM]
|
|
RVCT:*_*_ARM_PLATFORM_FLAGS == --cpu Cortex-A15
|