summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* pip: update edk2-pytool-library requirement from ~=0.21.9 to ~=0.21.12dependabot/pip/edk2-pytool-library-approx-eq-0.21.12dependabot[bot]2024-10-141-1/+1
| | | | | | | | | | | | | Updates the requirements on [edk2-pytool-library](https://github.com/tianocore/edk2-pytool-library) to permit the latest version. - [Release notes](https://github.com/tianocore/edk2-pytool-library/releases) - [Commits](https://github.com/tianocore/edk2-pytool-library/compare/v0.21.9...v0.21.12) --- updated-dependencies: - dependency-name: edk2-pytool-library dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
* UefiCpuPkg/PiSmmCpuDxeSmm: Consume SmmCpuPlatformHookBeforeMmiHandler funcJiaxin Wu2024-10-121-8/+23
| | | | | | | | | | | | | This patch is for PiSmmCpuDxeSmm driver to add one round wait/release sync for BSP and AP to perform the SMM CPU Platform Hook before executing MMI Handler: SmmCpuPlatformHookBeforeMmiHandler (). With the function, SMM CPU driver can perform the platform specific items after one round BSP and AP sync (to make sure all APs in SMI) and before the MMI handlers. After the change, steps #1 and #2 are additional requirements if the MmCpuSyncModeTradition mode is selected. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
* OvmfPkg/Library: Impl SmmCpuPlatformHookBeforeMmiHandler funcJiaxin Wu2024-10-121-1/+19
| | | | | | | This patch is to add SmmCpuPlatformHookBeforeMmiHandler func for OVMF. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
* UefiCpuPkg: Add SmmCpuPlatformHookBeforeMmiHandlerJiaxin Wu2024-10-122-2/+35
| | | | | | | | | | | | | This patch is to add SmmCpuPlatformHookBeforeMmiHandler interface in SmmCpuPlatformHookLib. The new API can be used to perform the platform specific items before executing MMI Handler. For example, Intel can leverage this API to clear the pending SMI bit after all CPUs finish the sync and before the MMI handlers. If so, the the redundant SMI can be avoided after CPU exit from current SMI. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
* UefiCpuPkg/PiSmmCpuDxeSmm: Clarification for BSP & APs Sync FlowJiaxin Wu2024-10-121-22/+22
| | | | | | | | | | | | | | | | | | | | This patch does not impact functionality. It aims to clarify the synchronization flow between the BSP and APs to enhance code readability and understanding: Steps #6 and #11 are the basic synchronization requirements for all cases. Steps #1 is additional requirements if the MmCpuSyncModeTradition mode is selected. Steps #1, #2, #3, #4, #5, #7, #8, #9, and #10 are additional requirements if the system needs to configure the MTRR. Steps #9 and #10 are additional requirements if the system needs to support the mSmmDebugAgentSupport. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
* Maintainers.txt: Update GitHub username for myselfRebecca Cran2024-10-111-3/+3
| | | | Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
* UefiCpuPkg/MpLib: Remove NotifyOnS3SmmInitDonePpiZhiguang Liu2024-10-102-65/+0
| | | | | | | | | | | | | Previously, the SMM S3 resume code required taking control of APs to perform SMM rebase, which would overwrite the context set by MpLib. As a result, MpLib needed to wake up APs using InitSipiSipi to restore the context after SMM S3 resume. With the recent change where SMM rebase occurs in the early PEI phase, the SMM S3 resume code no longer modifies AP context. Therefore, the forced use of InitSipiSipi after SMM S3 resume is no longer necessary. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiCpuPkg/S3: Skip CR3 modification in S3Resume for 64-bit PEIZhiguang Liu2024-10-101-3/+5
| | | | | | | | | | | | | | | | Previously, when PEI was 32-bit and DXE was 64-bit, S3 resume code had to set or change the CR3 register before executing 64-bit code. However, with both PEI and DXE now may being 64-bit, this modification is unnecessary as PEI already utilizes sufficiently large page tables. Additionally, there is a bug in the current implementation where the changed CR3 during S3 resume could map only below 4G MMIO, which could lead to issues if end of PEI notify attempts to access above 4G. Overall, skipping the CR3 modification in S3Resume when PEI is 64-bit can fix the bug and also avoid unnecessary logic. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com>
* UefiPayloadPkg: Add Secure Boot supportSean Rhodes2024-10-094-3/+77
| | | | | | | | | | | | | | | | | | | | Introduce Secure Boot functionality within UefiPayloadPkg by adding necessary modules and configurations. A new build flag, `SECURE_BOOT_ENABLE`, is introduced to control the activation of Secure Boot. This patch also overrides values in SecurityPkg to enforce image verification from all sources. A new FV (`SECURITY_FV`) for security modules is added for components and the firmware volume sizes to accommodate additional Secure Boot components. Cc: Guo Dong <guo.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: James Lu <james.lu@intel.com> Cc: Gua Guo <gua.guo@intel.com> Signed-off-by: Sean Rhodes <sean@starlabs.systems>
* BaseTools/SetupGit.py: Fix invalid choice 'edk2-test'Nhi Pham2024-10-091-1/+1
| | | | | | This fixes missing 'edk2-test' in the choices of the repo name option. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
* BaseTools/CodeQl: Give preference to Plugin settingsAbdul Lateef Attar2024-10-091-5/+6
| | | | | | | | | | | | | | | For the CodeQl `AuditOnly` flag, prioritize Plugin settings over global settings. This patch adjusts the logic for the global `AuditOnly` setting, placing it before the Plugin setting code. This ensures that Plugin settings take precedence over global settings. Cc: Sean Brogan <sean.brogan@microsoft.com> Cc: Joey Vagedes <joey.vagedes@gmail.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
* FmpDevicePkg/FmpDependencyLib: Fix potential overflow in loopMichael Kubacki2024-10-091-1/+1
| | | | | | | | | FmpVersionsCount is a UINTN while the loop index variable compared against it is a UINT8. This can lead to an overflow of the loop index for FmpVersionsCount values larger than UINT8_MAX. This change makes Index a UINTN to match in width. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* UefiPayloadPkg : Roll back the sequence of gEfiEndOfPeiSignalPpiGuid.Linus Liu2024-10-081-1/+42
| | | | | | | | Adjust the sequence of gEfiEndOfPeiSignalPpiGuid notify function when FDT is disabled , or some of notify functions won't work cause the debug message print twice. Signed-off-by: Linus Liu <linus.liu@intel.com>
* UnitTestFrameworkPkg: UnitTestLib: Support Failure Strings of 512 CharsOliver Smith-Denny2024-10-084-19/+12
| | | | | | | | | | | | | | | Currently, there is a mismatch of allowed string sizes in UnitTestLib. The UT_LOG_* macros allow a string size of 512, but failure messages are constrained to 120 characters and some other string lengths are similarly constrained. 120 characters is too few for some longer error messages, particularly the ones that print out the path to the failing line. This can result in the actual error not getting printed in the log. This patch updates all UnitTestLib allowed string lengths to be 512 characters. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* MdePkg: DebugLib: Check Signature in CR in Release BuildsOliver Smith-Denny2024-10-081-2/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CR macro is used to access an enclosing structure from a pointer within the structure. In DEBUG builds (i.e. when MDEPKG_NDEBUG is not set and debug asserts are enabled), this macro does signature validation checking to ensure that the structure that has been found is the correct structure, based on a signature passed in by the caller. However, if MDEPKG_NDEBUG is set or debug asserts are disabled, no signature validation is performed, meaning that CR may return an invalid structure that the caller believes is valid and has had signature validation on, causing undefined behavior (memory corruption). We should where at all possible have defined behavior, particularly in RELEASE builds, which are what typical platforms will ship to consumers. This patch updates CR to do the signature validation in all scenarios to provide defined behavior from the macro. In the event of a signature failure, CR will either 1) assert if !MDEPKG_NDEBUG and debug asserts are enabled (existing behavior) or 2) return NULL to indicate to the caller that signature validation failed. There exist consumers today who already, erroneously, rely on this behavior. Another macro, BASE_CR, exists for callers who do not wish to perform signature validation. Any code that wishes to avoid the signature validation should move to this macro. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* EmulatorPkg: Add Signature to Graphics StructureOliver Smith-Denny2024-10-082-0/+5
| | | | | | | | | | | | | When updating MdePkg's CR macro to enforce signature checking in all usages, it was discovered that EmulatorPkg was initializing a structure without setting the signature for it, causing an error to be returned when CR now checked the signature. This commit updates the graphics stack in EmulatorPkg to set the signature of the data structure and check the return value of the wrapper for the CR macro. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* DynamicTablesPkg: AmlLib: Fix CodeQL IssueOliver Smith-Denny2024-10-071-1/+1
| | | | | | | | Without the addition of this cast, the compiler promotes 1 to a UINT32, which leads CodeQL to complain that different size types are being compared. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* Maintainers.txt: Add myself as UefiPayloadPkg maintainerBenjamin Doron2024-10-041-0/+1
| | | | | | | Per discussion in an email thread, I'm adding myself as a maintainer of the UefiPayloadPkg. Signed-off-by: Benjamin Doron <benjamin.doron@9elements.com>
* DynamicTablesPkg: Correct _PSD package formatJeff Brasen2024-10-041-13/+43
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The _PSD structure should have nested packages. The current implementation generates Name (_PSD, Package() { NumEntries // Integer Revision // Integer (BYTE) Domain // Integer (DWORD) CoordType // Integer (DWORD) NumProcessors // Integer (DWORD) }) when this should be Name (_PSD, Package() { Package() { NumEntries // Integer Revision // Integer (BYTE) Domain // Integer (DWORD) CoordType // Integer (DWORD) NumProcessors // Integer (DWORD) } }) REF: https://uefi.org/specs/ACPI/6.5/08_Processor_Configuration_and_Control.html#psd-p-state-dependency Signed-off-by: Jeff Brasen <jbrasen@nvidia.com>
* ShellPkg: Fix Optional Data rewriting with bcfgTormod Volden2024-10-041-5/+9
| | | | | | | | | | | | | When modifying the Optional Data of a boot option with bcfg boot -opt the result was corrupted data, for instance a concatenation of old data, heap contents, and new data. This was due to a erronous calculation of the original optional data length. In addition to fixing the calculation, add explaining comments and introduce a helper variable, to not abuse other variables and confuse readers (including the author). Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
* ShellPkg: ShellLevel2StripQuotes: Strip consecutive quotesTormod Volden2024-10-041-1/+3
| | | | | | | | | When a quotation mark was found, the remaining line would be shifted in-place to get rid of it. However, the "walker" index would still be increased and therefore the first character of the shifted part would be skipped. This means a second quotation mark would not be deleted. Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
* ShellPkg/AcpiView: RASF ParserCarsten Haitzler2024-10-044-0/+86
| | | | | | Add a new parser for the RASF Table as specified in ACPI6.5 Signed-off-by: Carsten Haitzler <carsten.haitzler@foss.arm.com>
* ShellPkg/AcpiView: RAS2 Parser - Remove unused defineCarsten Haitzler2024-10-041-3/+0
| | | | | | Remove unused define from RAS2 parser Signed-off-by: Carsten Haitzler <carsten.haitzler@foss.arm.com>
* OvmfPkg: RiscV64: build BaseRiscVFpuLibHeinrich Schuchardt2024-10-041-0/+1
| | | | | | | | | Enable building the BaseRiscVFpuLib library for OvmfPkg to * Enable the FPU and set it to state 'dirty'. * Clear the fcsr CSR. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* UefiCpuPkg: RiscV64: initialize FPUHeinrich Schuchardt2024-10-048-0/+80
| | | | | | | | | | | | The OpenSSL library uses floating point registers. The is no guarantee that a prior firmware stage has enabled the FPU. Provide a library BaseRiscVFpuLib to * Enable the FPU and set it to state 'dirty'. * Clear the fcsr CSR. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* MdePkg/BaseLib: RISC-V: Add FPU CSR constantsHeinrich Schuchardt2024-10-041-0/+4
| | | | | | | * Define CSR fcsr * Define bitmasks for vs and fs bit fields in the mstatus register Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
* MdePkg: MdeLibs.dsc.inc: Introduce CUSTOM_STACK_CHECK_LIB MacroOliver Smith-Denny2024-10-042-8/+83
| | | | | | | | | | | | | In order to support a platform overriding StackCheckLibNull provided by MdeLibs.dsc.inc, the CUSTOM_STACK_CHECK_LIB macro is introduced. If this macro is defined, MdeLibs.dsc.inc will not link StackCheckLibNull and it is expected that the platform will link the version(s) of StackCheckLib that it requires. The StackCheckLib README is also updated in this patch to document the new macro and provide additional information. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* MdeModulePkg/UefiBootManagerLib: Build proper SD/MMC boot descriptionsMario Bălănică2024-10-032-2/+239
| | | | | | | | | | | | This generates boot descriptions for SD/MMC devices in the form of: - "UEFI SanDisk SC128 2A2B1E4F SD Device" - "UEFI Samsung BJTD4R 7AB3A8DE eMMC User Data" The manufacturer ID tables are a best-effort, collected from various places and personal testing. They're not complete and may be inaccurate for rebranded cards. Signed-off-by: Mario Bălănică <mariobalanica02@gmail.com>
* DynamicTablesPkg: Adds SPMI table generatorAbdul Lateef Attar2024-10-038-0/+488
| | | | | | | | | | | | | | Adds ACPI SPMI table generator library. Updates acpi standard table enum with spmi. Updates arch common namespace object and parser. Updates the Readme. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Sami Mujawar <Sami.Mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
* MdePkg/IndustryStandard: Adds SPMI macrosAbdul Lateef Attar2024-10-031-0/+15
| | | | | | | | | | | | Adds macro which defines SPMI table revision and interface type as per the specification. Cc: Michael D Kinney <michael.d.kinney@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Sami Mujawar <Sami.Mujawar@arm.com> Cc: Pierre Gondois <pierre.gondois@arm.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
* StandaloneMmPkg: CodeQL Fixes.Michael Kubacki2024-10-032-2/+5
| | | | | | | | | | | Makes changes to comply with alerts raised by CodeQL. Most of the issues here fall into the following two categories: 1. Potential use of uninitialized pointer 2. Inconsistent integer width used in loop comparison Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* MdePkg: Improving readability of CVE patch for PeCoffLoaderRelocateImageDoug Flick2024-10-021-1/+1
| | | | | | | | | | This change adds parantheses to the if condition detecting overflow in the PeCoffLoaderRelocateImage function to improve readability. Follow on change for: REF!: https://github.com/tianocore/edk2/pull/6249 Signed-off-by: Doug Flick <dougflick@microsoft.com>
* ArmVirtPkg/ArmVirtQemu: avoid unnecessary use of $(ARCH) conditionalLeif Lindholm2024-10-021-4/+2
| | | | | | | | ARCH as set by "build" command is not really useful for conditionals, so move AArch64-specific Pcd to [PcdsFixedAtBuild.AARCH64]. Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* Maintainers.txt: add Leif Lindholm as additional BaseFdtLib maintainerLeif Lindholm2024-10-021-0/+1
| | | | | | | Since I have just added a bunch of changes and additions to this library, add myself as an additional maintainer. Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* Maintainers.txt: add all files in BaseFdtLib to componentLeif Lindholm2024-10-021-1/+1
| | | | | | | | | There are many source files in MdePkg/Library/BaseFdtLib, but only one of them was highlighted as maintained by the library maintainers. This feels like an oversight, so change this to be BaseFdtLib/*, applying to all files in directory. Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg: add various additional functions to BaseFdtLibLeif Lindholm2024-10-022-0/+272
| | | | | | | | | | | | - FdtOffsetPointer - FdtParentOffset - FdtNodeOffsetByPhandle - FdtStringListContains - FdtGetAliasNameLen - FdtPathOffsetNameLen - FdtPathOffset Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg: export additional Property functions from BaseFdtLibLeif Lindholm2024-10-022-0/+137
| | | | | | | | - FdtSetPropU64 - FdtAppendProp - FdtDelProp Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg: export FdtAddressCells/FdtSizeCells from BaseFdtLibLeif Lindholm2024-10-022-0/+66
| | | | Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg: export FdtOpenInto/FdtPack from BaseFdtLibLeif Lindholm2024-10-022-0/+68
| | | | Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg: export some additional macros from BaseFdtLibLeif Lindholm2024-10-021-0/+16
| | | | | | | | - FDT_TAGSIZE and FDT_MAX_NCELLS - FdtGetHeader/FdtTotalSize - FdtForEachSubnode Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg: align BaseFdtLib function prototypesLeif Lindholm2024-10-021-4/+5
| | | | | | | | | | | FdtLib.h uses CONST FDT_PROPERTY * return values for some wrapper functions, but the implementation in FdtLib.c used to original CONST struct fdt_property * instead of the exported typedef. Import LibFdt.h in the implementation file and make the implementation consistent with the declaration. Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg: add FdtStrerror wrapper to BaseFdtLibLeif Lindholm2024-10-022-0/+128
| | | | | | | Add a wrapper for fdt_strerror () and add the currently supported error code defines from submodule. Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg: consistently use "Property" in BaseFdtLibLeif Lindholm2024-10-026-62/+62
| | | | | | | | | | | There is currently a mix on functions named as Prop or Property. The latter is in majority, and the better fit for tianocore coding style, so rename FdtNodeOffsetByPropValue () and FdtSetProp () for consistency. To avoid breaking bisect, change existing users in UefiPayloadPkg. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* MdePkg,UefiPayloadPkg: improve BaseFdtLib memreserve helper styleLeif Lindholm2024-10-023-21/+21
| | | | | | | | | | | | | | | | | | FdtNumRsv and FdtGetMemRsv were added for the benefit of UefiPayloadPkg, but their naming matches neither upstream libfdt nor tianocore coding style rules. And there was scope for improvement of the doxygen descriptions as well. These functions currently have only one in-tree user, UefiPayloadPkg FdtParserLib. So rename them more conformant FdtGetNumberOfReserveMapEntries and FdtGetReserveMapEntry and update the description comment blocks, at the same time as updating the existing user. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Leif Lindholm <quic_llindhol@quicinc.com>
* .github/GitHub.py: Update bot in redundant comment checkMichael Kubacki2024-10-011-1/+1
| | | | | | | | | | | | The project moved from using the `github-actions[bot]` bot account to the `tianocore-assign-reviewers[bot]` account. A check is in place to prevent the "`WARNING: Cannot add some reviewers`" from appearing more than once if nothing has changed in the content it would post. This change updates the bot account to the current one so the check can work again. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* MdePkg: Fix overflow issue in BasePeCoffLibDoug Flick2024-09-301-1/+1
| | | | | | | | | | The RelocDir->Size is a UINT32 value, and RelocDir->VirtualAddress is also a UINT32 value. The current code does not check for overflow when adding RelocDir->Size to RelocDir->VirtualAddress. This patch adds a check to ensure that the addition does not overflow. Signed-off-by: Doug Flick <dougflick@microsoft.com> Authored-by: sriraamx gobichettipalayam <sri..@intel.com>
* .gitignore: Ignore Python venv filesMike Beaton2024-09-301-0/+1
| | | | | | | | | | | Since presumably quite a few people will use stuart to build EDK 2, and since the recommended approach in that case is to use a python venv, it is much more convenient if these files are ignored by default in EDK 2, rather than requiring a manual update to .git/info/exclude each time the repo is cloned, as effectively suggested in the current How to Build With Stuart instructions on the tianocore wiki. Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
* IntelFsp2Pkg : Refactor BaseFspCommonLib to reduce binary sizeAshraf Ali2024-09-303-30/+43
| | | | | | | | | | | | Moved FspApiReturnStatusReset API to a separate file to eliminate unnecessary inclusion of FspApiReturnStatusReset APIs in driver binary. When the compiler linking the Object files it may not remove all the unused from NASM OBJs. This change is to reorganize the C files to minimize the impact of the NASM behavior resulting is code size reduction. Signed-off-by: Ashraf Ali <ashraf.ali.s@intel.com>
* BaseTools: LinuxGcc5ToolChain: Run for GCC ToolchainOliver Smith-Denny2024-09-303-55/+66
| | | | | | | | | | | | | | | | | | The GCC5 TOOL_CHAIN_TAG is being deprecated in favor of GCC. LinuxGcc5ToolChain.py needs to be updated to find the correct ARM/AARCH64/RISCV/LOONGARCH64 compilers for the GCC TOOL_CHAIN_TAG, as well, otherwise it defaults to the system GCC, which is typically X64 based. In order to keep this backward and forward compatible, the plugin now checks for the substring "GCC" in the TOOL_CHAIN_TAG and will set either the "GCC5" or "GCC" env variables used by tools_def.template to find the GCC compiler for the requested architecture. This plugin is also renamed to drop the old GCC5. Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* .pytool/UncrustifyCheck: Show errors in outputMichael Kubacki2024-09-281-10/+13
| | | | | | | | | | | | | | | | | | | | | Shows code formatting errors directly in build output. Previously only the filenames were in build output and the user had to look at the test result file either locally or in CI to find details. It is still recommended that users configure their local environment to run Uncrustify so it can automatically fix problems as opposed to manually correcting code based on the output shown in the terminal. In any case, it is easier to see what is expected now. Uncrustify reference material: https://github.com/tianocore/tianocore.github.io/wiki/EDK-II-Code-Formatting https://github.com/tianocore/edk2/tree/master/.pytool/Plugin/UncrustifyCheck#readme Some logging levels are also updated to refocus log output by current message importance and relevance. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>