From 57faeb782a505935363936ab2edce282d3afc4d5 Mon Sep 17 00:00:00 2001 From: Jose Marinho Date: Fri, 18 Dec 2020 14:01:55 +0000 Subject: PrmPkg: Support AArch64 builds using GCC Add support to build PrmPkg for AArch64 using the GCC compiler. Add AARCH64 architecture to the list of supported architectures. Add BaseStackCheck library to allow for Prm module builds on AARCH64. Also update the CI to add dependency on ArmPkg. Signed-off-by: Jose Marinho Signed-off-by: Sami Mujawar Reviewed-by: Michael Kubacki Reviewed-by: Ard Biesheuvel --- PrmPkg/PrmPkg.ci.yaml | 1 + PrmPkg/PrmPkg.dsc | 24 +++++++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'PrmPkg') diff --git a/PrmPkg/PrmPkg.ci.yaml b/PrmPkg/PrmPkg.ci.yaml index babaf22..2d4d128 100644 --- a/PrmPkg/PrmPkg.ci.yaml +++ b/PrmPkg/PrmPkg.ci.yaml @@ -46,6 +46,7 @@ ## options defined .pytool/Plugin/DependencyCheck "DependencyCheck": { "AcceptableDependencies": [ + "ArmPkg/ArmPkg.dec", "MdeModulePkg/MdeModulePkg.dec", "MdePkg/MdePkg.dec", "PrmPkg/PrmPkg.dec", diff --git a/PrmPkg/PrmPkg.dsc b/PrmPkg/PrmPkg.dsc index d10aa3d..3fb7490 100644 --- a/PrmPkg/PrmPkg.dsc +++ b/PrmPkg/PrmPkg.dsc @@ -2,6 +2,7 @@ # Build description file for PrmPkg # # Copyright (C) Microsoft Corporation +# Copyright (c) 2022, Arm Limited. All rights reserved.
# SPDX-License-Identifier: BSD-2-Clause-Patent ## @@ -11,7 +12,7 @@ PLATFORM_VERSION = 0.1 DSC_SPECIFICATION = 0x00010005 OUTPUT_DIRECTORY = Build/$(PLATFORM_NAME) - SUPPORTED_ARCHITECTURES = IA32|X64 + SUPPORTED_ARCHITECTURES = IA32|X64|AARCH64 BUILD_TARGETS = DEBUG|RELEASE|NOOPT SKUID_IDENTIFIER = DEFAULT @@ -28,7 +29,6 @@ DebugPrintErrorLevelLib|MdePkg/Library/BaseDebugPrintErrorLevelLib/BaseDebugPrintErrorLevelLib.inf DxeServicesLib|MdePkg/Library/DxeServicesLib/DxeServicesLib.inf MemoryAllocationLib|MdeModulePkg/Library/BaseMemoryAllocationLibNull/BaseMemoryAllocationLibNull.inf - MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf PeCoffLib|MdePkg/Library/BasePeCoffLib/BasePeCoffLib.inf @@ -38,6 +38,13 @@ UefiBootServicesTableLib|MdePkg/Library/UefiBootServicesTableLib/UefiBootServicesTableLib.inf UefiRuntimeServicesTableLib|MdePkg/Library/UefiRuntimeServicesTableLib/UefiRuntimeServicesTableLib.inf +[LibraryClasses.IA32, LibraryClasses.X64] + MtrrLib|UefiCpuPkg/Library/MtrrLib/MtrrLib.inf + +[LibraryClasses.AARCH64] + NULL|ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf + NULL|MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf + [LibraryClasses.common.DXE_DRIVER, LibraryClasses.common.DXE_RUNTIME_DRIVER, LibraryClasses.common.UEFI_APPLICATION] # # EDK II Packages @@ -129,7 +136,6 @@ # PRM Sample Modules # $(PLATFORM_PACKAGE)/Samples/PrmSampleAcpiParameterBufferModule/PrmSampleAcpiParameterBufferModule.inf - $(PLATFORM_PACKAGE)/Samples/PrmSampleHardwareAccessModule/PrmSampleHardwareAccessModule.inf $(PLATFORM_PACKAGE)/Samples/PrmSampleContextBufferModule/PrmSampleContextBufferModule.inf # @@ -137,6 +143,18 @@ # $(PLATFORM_PACKAGE)/Application/PrmInfo/PrmInfo.inf +[Components.IA32, Components.X64] + # + # PRM Sample Modules for IA32 and X64 + # + $(PLATFORM_PACKAGE)/Samples/PrmSampleHardwareAccessModule/PrmSampleHardwareAccessModule.inf + +[Components.AARCH64] + ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf + + # Add support for GCC stack protector + MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf + [BuildOptions] # Force deprecated interfaces off *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES -- cgit v1.1