summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* ArmPkg/ArmGicLib: Fix GICR_IPRIORITYR address wrong issueMing Huang2021-03-011-1/+4
| | | | | | | | | | | | | The register address of GICR_IPRIORITYR is in SGI_base frame. Add IPRIORITY_ADDRESS macro for getting GICR_IPRIORITYR address. Otherwise GIC RAS error(Uncorrected software error) may report in ArmGicDxe. This resolves BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3236 Signed-off-by: Ming Huang <huangming@linux.alibaba.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com> Tested-by: Ard Biesheuvel <ardb@kernel.org> # QEMU/kvm guest on ThunderX2 Tested-by: Quan Nguyen <quan@os.amperecomputing.com>
* ArmPkg/ArmGicLib: Fix two macros issue for offset parameterMing Huang2021-03-011-2/+2
| | | | | | | | Modify two macros to put "offset" in parentheses and remove parentheses from "4 * offset". Signed-off-by: Ming Huang <huangming@linux.alibaba.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
* ArmPkg: Fix uninitialised variable in ArmMmuStandaloneMmLibSami Mujawar2021-02-271-144/+179
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The following patches added support for StandaloneMM using FF-A: 9da5ee116a28 ArmPkg: Allow FF-A calls to set memory region's attributes 0e43e02b9bd8 ArmPkg: Allow FF-A calls to get memory region's attributes However, in the error handling logic for the Get/Set Memory attributes, the CLANG compiler reports that a status variable could be used without initialisation. This issue is a false positive and is not seen with GCC. The Get/Set Memory attributes operation is atomic and therefore an FFA_INTERRUPT or FFA_SUCCESS response is not expected in response to FFA_MSG_SEND_DIRECT_REQ. So the remaining cases that could occur are: - the target sends FFA_MSG_SEND_DIRECT_RESP with a success or failure code. or - FFA_MSG_SEND_DIRECT_REQ transmission failure. Therefore, - reorder the error handling conditions such that it prevents the uninitialised variable issue being flagged by CLANG. - move the repetitive code to a static helper function and add documentation at the appropriate places. - fix error handling in functions that invoke GetMemoryPermissions(). Signed-off-by: Sami Mujawar <sami.mujawar@arm.com> Tested-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sughosh Ganu <sughosh.ganu@linaro.org>
* StandaloneMmPkg: Remove StandaloneMmDriverEntryPoint.hMichael Kubacki2021-02-262-145/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3235 The library for this header initially resided in StandaloneMmPkg but moved to MdePkg and now this file is a duplicate of the header file in MdePkg. This change removes the header file from StandaloneMmPkg. More details regarding the history of the library transitioning from StandaloneMmPkg to MdePkg are below. The following commit removed the library from StandaloneMmPkg: d6253d2f9a33 ("StandaloneMmPkg: remove redundant StandaloneMmDriverEntryPoint driver", 2019-03-11) The following commits added the library class & instance to MdePkg: 7df4764e6a81a ("MdePkg: introduce standalone MM entry point library class", 2019-01-14) 5866d4992396 ("MdePkg: introduce standalone MM entry point library implementation", 2019-01-14) Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Acked-by: Ard Biesheuvel <ardb@kernel.org> Acked-by: Laszlo Ersek <lersek@redhat.com>
* UefiCpuPkg/MpInitLib: Use XADD to avoid lock acquire/releaseRay Ni2021-02-262-26/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When AP firstly wakes up, MpFuncs.nasm contains below logic to assign an unique ApIndex to each AP according to who comes first: ---ASM--- TestLock: xchg [edi], eax cmp eax, NotVacantFlag jz TestLock mov ecx, esi add ecx, ApIndexLocation inc dword [ecx] mov ebx, [ecx] Releaselock: mov eax, VacantFlag xchg [edi], eax ---ASM END--- "lock inc" cannot be used to increase ApIndex because not only the global ApIndex should be increased, but also the result should be stored to a local general purpose register EBX. This patch learns from the NASM implementation of InternalSyncIncrement() to use "XADD" instruction which can increase the global ApIndex and store the original ApIndex to EBX in one instruction. With this patch, OVMF when running in a 255 threads QEMU spends about one second to wakeup all APs. Original implementation needs more than 10 seconds. Signed-off-by: Ray Ni <ray.ni@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Rahul Kumar <rahul1.kumar@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Acked-by: Laszlo Ersek <lersek@redhat.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
* BaseTools: Align include guards policyPierre Gondois2021-02-262-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | The EDK II C Coding Standards Specification states that: "Names starting with one or two underscores, such as _MACRO_GUARD_FILE_NAME_H_, must not be used. They are reserved for compiler implementation." [1] The Ecc tool currently checks that the include guard end with a trailing underscore. Thus, the check and the error message should both be modified. The new check forces having one sole trailing underscore character, as the example in the specification shows: "FILE_NAME_H_" [1] This would allow to have more consistency. [1] Section 5.3.5 "All include file contents must be protected by a #include guard": https://edk2-docs.gitbook.io/ edk-ii-c-coding-standards-specification/5_source_files/53_include_files Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Sami Mujawar <Sami.Mujawar@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
* MdeModulePkg/UefiBootManagerLib: Put BootMenu at the end of BootOrderLi, Walon2021-02-251-2/+2
| | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3135 When Boot Menu does not exist in the BootOrder, BmRegisterBootManagerMenu will create one into list. However, it should be put at the "end" of BootOrder instead of "start" of BootOrder. Replace 0 by -1 to adjust order of load options. Signed-off-by: Walon Li <walon.li@hpe.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
* RedfishPkg/RedfishContentCodingLib: EDKII Redfish En/Decode libraryAbner Chang2021-02-245-2/+199
| | | | | | | | | | | | | | | | | | | BZ#:3174 Platform library to provide the encoding/decoding algorithms for the Redfish packets. The supported value could be one of below or any which is platform-specific. - HTTP_CONTENT_ENCODING_IDENTITY "identity" - HTTP_CONTENT_ENCODING_GZIP "gzip" - HTTP_CONTENT_ENCODING_COMPRESS "compress" - HTTP_CONTENT_ENCODING_DEFLATE "deflate" - HTTP_CONTENT_ENCODING_BROTLI "br" Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Nickle Wang <nickle.wang@hpe.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Nickle Wang <nickle.wang@hpe.com>
* RedfishPkg/Include: EDKII Redfish Config Handler Protocol header fileAbner Chang2021-02-242-0/+81
| | | | | | | | | | | | | | | BZ:2911 This is the header file of EDKII Redfish config handler protocol, which is used by EDKII Redfish feature driver in order to manipulate Redfish properties based on the Redfish schema. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com> Signed-off-by: Siyuan Fu <siyuan.fu@intel.com> Signed-off-by: Fan Wang <fan.wang@intel.com> Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Nickle Wang <nickle.wang@hpe.com> Reviewed-by: Nickle Wang <nickle.wang@hpe.com>
* RedfishPkg/JsonLib: Ignore the build error of conditional expression.Abner Chang2021-02-241-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ignore the build error of assignment within conditional expression. Add build option to ignore the build error of "assignment within conditional expression". This build error is caused by the macros defined in open source project jansson header file jansson.h. - json_object_foreach - json_object_foreach_safe - json_array_foreach We use build option to avoid the build errors on Visual Studio (GCC doesn't havvve this problem) for now. Already sent an email to jansson open source community to revise these macro as Leif's suggestion as below, for (key = json_object_iter_key(json_object_iter(object)); \        key; \        key = json_object_iter_key(                            \             json_object_iter_next(object, json_object_key_to_iter(key)))) { \   value = json_object_iter_value(json_object_key_to_iter(key));        \ if (!value) \ break; \ } \ We will remove this build option once the patch is accepted and upstreamed. Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Nickle Wang <nickle.wang@hpe.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Nickle Wang <nickle.wang@hpe.com>
* RedfishPkg/JsonLib: Fix the mistake of removing code by a accidentAbner Chang2021-02-241-2/+2
| | | | | | | | | | | | | json_string_value() in JsonValueGetAsciiString () is removed by a accident when clean up the code. Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Nickle Wang <nickle.wang@hpe.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Nickle Wang <nickle.wang@hpe.com>
* RedfishPkg/JsonLib: Add JsonLoadString functionAbner Chang2021-02-242-0/+47
| | | | | | | | | | | Add JsonLoadString function to load a NULL terminated-string JSON Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Nickle Wang <nickle.wang@hpe.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Nickle Wang <nickle.wang@hpe.com>
* RedfishPkg/RedfishCrtLib: Add more CRT functionsAbner Chang2021-02-241-1/+121
| | | | | | | | | | | | | | | | | Add more functions which were missed in the first time commit, that causes the build error with EDK2 Redfish feature driver. strerror - We don't support this on edk2 environment. strpbrk - Cloned this function from edk2-LibC File operation functions - Not supported on edk2 environment. Signed-off-by: Abner Chang <abner.chang@hpe.com> Cc: Nickle Wang <nickle.wang@hpe.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Reviewed-by: Nickle Wang <nickle.wang@hpe.com> Acked-by: Leif Lindholm <leif@nuviainc.com>
* StandaloneMmPkg: Allow sending FFA Direct Request message to StandaloneMmIlias Apalodimas2021-02-231-1/+3
| | | | | | | | | | | Allow passing of a request to StandaloneMm Core through the Firmware Framework(FF-A) using FFA_MSG_SEND_DIRECT_REQ method. This method is used as a mechanism for requesting some service from StandaloneMm. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* MdeModulePkg/VariableStandaloneMm: Set PcdFlashNvStorageVariableBase to PcdIlias Apalodimas2021-02-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | Instead of running StMM in SPM, OP-TEE creates a new secure partition, which emulates SPM and isolates StMM from the rest of the Trusted Applications (TAs). We can then compile StMM as an FD image and run it in OP-TEE. With the addition of a new RPMB driver, we can leverage OP-TEE and store variables to an RPMB device. Since EDK2 upper layers expect byte addressable code, for the RPMB to work, we need to allocate memory and sync it with the hardware on read/writes. Since DynamicPCDs are not supported in that context we can only use PatchablePCDs. So let's switch them to Pcd instead of FixedPcd and accomodate the new driver. While at it, move the rest of the variables under Pcd section, instead of FixedPcd -- this is in line with how the variables are defined in the other Variable modules. Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Allow FF-A calls to set memory region's attributesAchin Gupta2021-02-231-23/+65
| | | | | | | | | | Allow setting memory region's permissions using either of the Firmware Framework(FF-A) ABI transport or through the earlier used SVC calls. Signed-off-by: Achin Gupta <achin.gupta@arm.com> Co-developed-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Allow FF-A calls to get memory region's attributesAchin Gupta2021-02-233-6/+93
| | | | | | | | | | Allow getting memory region's permissions using either of the Firmware Framework(FF-A) ABI transport or through the earlier used SVC calls. Signed-off-by: Achin Gupta <achin.gupta@arm.com> Co-developed-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Use FF-A header file in Standalone MM Arm MMU libraryAchin Gupta2021-02-231-0/+1
| | | | | | | | | | Add the FF-A header for invoking the mmu functions using FF-A calls as the transport mechanism. Support for invoking the functions through FF-A will be added in a subsequent patch. Signed-off-by: Achin Gupta <achin.gupta@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* StandaloneMmPkg: Add option to use FF-A calls for communication with SPMAchin Gupta2021-02-231-14/+74
| | | | | | | | | | | Add support for reporting completion of a MM request using either the Firmware Framework(FF-A) ABI transport or through the earlier used SVC calls. Signed-off-by: Achin Gupta <achin.gupta@arm.com> Co-developed-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* StandaloneMmPkg: Add option to use FF-A calls for getting SPM versionSughosh Ganu2021-02-232-10/+33
| | | | | | | | | | | | With the introduction of Firmware Framework(FF-A), a Secure Partition can get the SPM version either using FF-A calls or through the existing svc calls. Use a runtime check to use either of the two methods based on the Pcd feature flag value. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Co-developed-by: Achin Gupta <achin.gupta@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Add macros for SPM version with FF-A support enabledSughosh Ganu2021-02-231-0/+3
| | | | | | | | | | | Declare the values of SPM major and minor versions as macros with FF-A enabled, which can be used in the module for checking the SPM version compatibility. These SPM major and minor version numbers are mandated for having support for the Firmware Framework(FF-A) feature enabled. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* StandaloneMmPkg: Use macros for SPM version checkSughosh Ganu2021-02-231-5/+5
| | | | | | | | | | | Declare module wide variables for SPM major and minor versions to be used in checking the SPM version compatibility. Use the SPM major and minor version macros declared in the previous patch for the version check. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Add macros for SPM versionSughosh Ganu2021-02-231-0/+3
| | | | | | | | | Declare the values of SPM major and minor versions as macros which can be used in the module for checking the SPM version compatibility. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Introduce support for PcdFfaEnableSughosh Ganu2021-02-231-0/+7
| | | | | | | | | | | | The Secure Partition(SP) can request services from the Secure Partition Manager Core(SPMC) either through FF-A calls or through the existing SVC calls. Add a feature flag Pcd for enabling the FF-A method -- when this is set to FALSE, the SP uses the existing SVC calls for making the requests. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* StandaloneMmPkg: Use FF-A header file in Standalone MM Core entry pointAchin Gupta2021-02-231-0/+1
| | | | | | | | | | Add the Firmware Framework(FF-A) header in the StandaloneMm entry point driver. Support for invoking the functions through FF-A will be added in a subsequent patch. Signed-off-by: Achin Gupta <achin.gupta@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg/ArmSvcLib: Return x4-x7 in output parametersAchin Gupta2021-02-232-3/+11
| | | | | | | | | | | The Arm SMC calling convention standard v1.2 allows 8 input and output parameter registers. The FF-A specification relies on this communication. This patch extends the number of output registers returned by ArmCallSvc() to match this convention. Signed-off-by: Achin Gupta <achin.gupta@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg/IndustryStandard: Add barebones FF-A headerAchin Gupta2021-02-231-0/+23
| | | | | | | | | This patch adds a rudimentary header file with defines for FF-A ABIs that will be used as the transport between S-EL0 and the SPM Signed-off-by: Achin Gupta <achin.gupta@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
* ArmPkg: Update OemGetChassisType function to return MISC_CHASSIS_TYPERebecca Cran2021-02-233-39/+8
| | | | | | | | Update OemGetChassisType in OemMiscLib to return MISC_CHASSIS_TYPE instead of EFI_STATUS, which matches other OemMiscLib functions. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
* ArmPkg: Rename some functions and parameters in OemMiscLibRebecca Cran2021-02-233-36/+35
| | | | | | | | | | | o Rename 'mHiiHandle' parameter in OemUpdateSmbiosInfo to 'HiiHandle'. o Rename 'Offset' parameter in OemUpdateSmbiosInfo to 'Field'. o Rename OemGetProcessorMaxSockets to OemGetMaxProcessors. o Rename OemIsSocketPresent to OemIsProcessorPresent. o Update Universal/Smbios to follow the changes to OemMiscLib. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
* ArmPkg: Fix ordering of return type and EFIAPI specifier in OemMiscLibRebecca Cran2021-02-232-13/+13
| | | | | | | The return type should be on the line before any EFIAPI specifier. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
* BaseTools: Fix BrotliCompress run issue on LinuxYunhua Feng2021-02-223-31/+54
| | | | | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3210 BrotliCompress changed, but not completely on Linux Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Yuwei Chen <yuwei.chen@intel.com> Signed-off-by: Yunhua Feng <fengyunhua@byosoft.com.cn> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
* EmbeddedPkg/VirtualRealTimeClockLib: Reduce DEBUG message verbositySamer El-Haj-Mahmoud2021-02-201-1/+1
| | | | | | | | | The DEBUG message for using compilation time epoch is appearing very frequently on DEBUG firmware builds, for example during UEFI SCT runs. Reduce verbosity to avoid the annoying repetitive message. Signed-off-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com> Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
* DynamicTablesPkg/AmlLib: Remove unused variablesPierre Gondois2021-02-151-6/+1
| | | | | | | | | | | | Building the DynamicTablesPkg for a NOOPT target fails because unused variables are set. Remove these variables. Fixes: d9800046ea43 Reported-by: Leif Lindholm <leif@nuviainc.com> Signed-off-by: Pierre Gondois <Pierre.Gondois@arm.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
* UefiPayloadPkg/PlatformBootManager: Connect console after EndOfDxeGuo Dong2021-02-121-2/+2
| | | | | | | | | | | Currently the console is connected before EndOfDxe causing OptionsROMs to be loaded, but their drivers aren't used and thus no GOP is installed. To make use of 3rdparty OptionROMs connect the console after EndOfDxe. Tested on Intel CFL board using Nvidia Quadro GPU. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-by: Guo Dong <guo.dong@intel.com> Reviewed-by: Sunny Wang <sunnywang@hpe.com>
* UefiPayloadPkg: Fix PciLib dependency on BlSupportDxeGuo Dong2021-02-121-0/+5
| | | | | | | | | | | | | | | | The PciLib depends on PCDs - PcdPciExpressBaseAddress - PcdPciExpressBaseSize being updated by BlSupportDxe before MMCONF accesses are working. Add BlSupportDxe to APRIORI to start it first and get the system into an usable state where at least PCI accesses work reliable. Fixes a bug where BlSupportDxe is scheduled too late and other DXEs fail to load due to broken PCI access. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-by: Maurice Ma <maurice.ma@intel.com>
* UefiPayloadPkg: Enable NVMe supportGuo Dong2021-02-122-0/+2
| | | | | | Signed-off-by: Tim Crawford <tcrawford@system76.com> Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com> Reviewed-by: Guo Dong <guo.dong@intel.com>
* DynamicTablesPkg: Add an override for 16550 HID in SSDTJoey Gouly2021-02-113-4/+17
| | | | | | | | | | Some platforms advertise support for a 16550 UART, but are not compatible with the PNP0500 HID. Allow them to override the HID by setting PcdNonBsaCompliant16550SerialHid. Signed-off-by: Joey Gouly <joey.gouly@arm.com> Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
* DynamicTablesPkg: Don't use gEfiMdeModulePkgTokenSpaceGuidJoey Gouly2021-02-112-8/+10
| | | | | | | | | Introduce gEdkiiDynamicTablesPkgTokenSpaceGuid and use that instead. Signed-off-by: Joey Gouly <joey.gouly@arm.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Alexei Fedorov <Alexei.Fedorov@arm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
* StandaloneMmPkg/StandaloneMmCore: Fix compiler warningMichael Kubacki2021-02-111-4/+4
| | | | | | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3204 Fixes the following compiler warning in VS2019 by changing defining the MmramRangeCount variable to be UINTN and type casting prior to value assignment. \edk2\StandaloneMmPkg\Core\StandaloneMmCore.c(570): error C2220: the following warning is treated as an error \edk2\StandaloneMmPkg\Core\StandaloneMmCore.c(570): warning C4244: '=': conversion from 'UINT64' to 'UINT32', possible loss of data Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
* StandaloneMmPkg: Add X64 build supportMichael Kubacki2021-02-111-3/+10
| | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3202 Several libraries have been added to the package to support X64 but the package itself does not support X64. This modifies the DSC to enable X64 build. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Acked-by: Sami Mujawar <sami.mujawar@arm.com>
* StandaloneMmPkg/FvLib.h: Add EFIAPI to FfsFindSection()Michael Kubacki2021-02-101-0/+1
| | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3203 The EFIAPI modifier is present in the function definition in FvLib.c but missing in FvLib.h. Causes a GCC build error. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
* ArmPkg: Fix ARM ProcessorSubClassDxe buildRebecca Cran2021-02-101-4/+2
| | | | | | | | The ARM ProcessorSubClassDxe build was broken due to changes in the SmbiosProcessor API and an unused variable. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
* BaseTools: Fix the ending character for Linux script BuildEnvBob Feng2021-02-101-12/+12
| | | | | | | | | | | Signed-off-by: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Yuwei Chen <yuwei.chen@intel.com> Cc: Matthew Carlson <matthewfcarlson@gmail.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Leif Lindholm <leif@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
* ArmPkg: add DebugLib to OemMiscLibNullLeif Lindholm2021-02-092-1/+2
| | | | | | | | | | | | The just added OemMiscLibNull fails to build due to DebugLib.h not being included, missing the ASSERT definition. Add the include and the library dependency. Cc: Rebecca Cran <rebecca@nuviainc.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Signed-off-by: Leif Lindholm <leif@nuviainc.com> Reviewed-by: Rebecca Cran <rebecca@nuviainc.com> Acked-by: Ard Biesheuvel <ardb@kernel.org>
* IntelFsp2Pkg: Add YAML file generation supportLoo Tung Lun2021-02-0911-132/+2421
| | | | | | | | | | | | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3091 Add support for YAML format file generation in addition to current BSF structure. Configuration of YAML format output will be supported by an open source ConfigEditor. Reference to YAML code, test and ConfigEditor is at https://github.com/joshloo/fsp_yaml_cfg/tree/master/Tools A unit test is also added in Tests folder. This test compares the generated yaml file against the expected output to know if it is constructing the yaml data structure as expected. Cc: Maurice Ma <maurice.ma@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Chasel Chiu <chasel.chiu@intel.com> Signed-off-by: Loo Tung Lun <tung.lun.loo@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com>
* BaseTools: Use pip module if available, CI uses it by defaultMatthew Carlson2021-02-0955-17/+757
| | | | | | | | | | | | | | | Use the new edk2-basetools pip module. Includes a helpful message in setup to let users know which has been selected. Cc: Bob Feng <bob.c.feng@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Yuwei Chen <yuwei.chen@intel.com> Reviewed-by: Bob Feng <bob.c.feng@intel.com> Reviewed-by: Yuwei <Chen<yuwei.chen@intel.com> Signed-off-by: Matthew Carlson <matthewfcarlson@gmail.com>
* ArmPkg: Add Universal/Smbios/SmbiosMiscDxeRebecca Cran2021-02-086-0/+531
| | | | | | | | SmbiosMiscDxe provides SMBIOS tables 0, 1, 2, 3, 13, and 32. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com> Reviewed-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
* ArmPkg: Add SMBIOS PCDs to ArmPkg.decRebecca Cran2021-02-081-0/+17
| | | | | | | | Platforms are expected to override these PCDs to provide relevant information to SMBIOS. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>
* ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type32Rebecca Cran2021-02-082-0/+105
| | | | | | | | This code provides information for the SMBIOS Type 32 table. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com> Reviewed-by: Samer El-Haj-Mahmoud <Samer.El-Haj-Mahmoud@arm.com>
* ArmPkg: Add Universal/Smbios/SmbiosMiscDxe/Type13Rebecca Cran2021-02-083-0/+242
| | | | | | | This code provides information for the SMBIOS Type 13 table. Signed-off-by: Rebecca Cran <rebecca@nuviainc.com> Reviewed-by: Leif Lindholm <leif@nuviainc.com>