summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ArmVirtPkg/MemoryInitPei: Remove Non-RT Types from Mem Type Info HOBMichael Kubacki11 days2-16/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the following types from the memory type information HOBs produced in the MemoryInitPei PEIM: - `EfiBootServicesCode` - `EfiBootServicesData` - `EfiLoaderCode` - `EfiLoaderData` Our platform has a memory type information validation routine that currently expects those types to be excluded as they would not impact the UEFI memory map since they are not runtime memory types. This follows the guidance in the whitepaper "A Tour Beyond BIOS Memory Map and Practices in UEFI BIOS". https://github.com/tianocore-docs/Docs/raw/master/White_Papers/A_Tour_Beyond_BIOS_Memory_Map_And_Practices_in_UEFI_BIOS_V2.pdf "NOTE: We recommend a platform only define the ReservedMemory, ACPINvs, ACPIReclaim, RuntimeCode, RuntimeData in Memory Type Information table, because OSes only request these regions to be consistent. There is no need to add BootServicesCode, BootServicesData, LoaderCode, LoaderData in memory type information table, because these regions will not be reserved during S4 resume." Since these memory types are not tracked in memory type information any longer it also reduces the number of resets that may need to occur to update memory type buckets that are not needed. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* ArmPlatformPkg/MemoryInitPei: Remove Non-RT Types from Mem Type Info HOBMichael Kubacki11 days3-20/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Removes the following types from the memory type information HOBs produced in the MemoryInitPei code: - `EfiBootServicesCode` - `EfiBootServicesData` - `EfiLoaderCode` - `EfiLoaderData` Our platform has a memory type information validation routine that currently expects those types to be excluded as they would not impact the UEFI memory map since they are not runtime memory types. This follows the guidance in the whitepaper "A Tour Beyond BIOS Memory Map and Practices in UEFI BIOS". https://github.com/tianocore-docs/Docs/raw/master/White_Papers/A_Tour_Beyond_BIOS_Memory_Map_And_Practices_in_UEFI_BIOS_V2.pdf "NOTE: We recommend a platform only define the ReservedMemory, ACPINvs, ACPIReclaim, RuntimeCode, RuntimeData in Memory Type Information table, because OSes only request these regions to be consistent. There is no need to add BootServicesCode, BootServicesData, LoaderCode, LoaderData in memory type information table, because these regions will not be reserved during S4 resume." Since these memory types are not tracked in memory type information any longer it also reduces the number of resets that may need to occur to update memory type buckets that are not needed. Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
* ArmVirtPkg: mark fixed network PCDsAleksandr Goncharov11 days2-2/+2
| | | | | | | | | | Rename `NetworkPcds` to `NetworkFixedPcds` to avoid confusion with dynamic PCDs. Cc: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Aleksandr Goncharov <chat@joursoir.net>
* OvmfPkg: mark fixed network PCDsAleksandr Goncharov11 days8-8/+8
| | | | | | | | | | | | | | | | Rename `NetworkPcds` to `NetworkFixedPcds` to avoid confusion with dynamic PCDs Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Jianyong Wu <jianyong.wu@arm.com> Cc: Anatol Belski <anbelski@linux.microsoft.com> Cc: Sunil V L <sunilvl@ventanamicro.com> Cc: Andrei Warkentin <andrei.warkentin@intel.com> Cc: Chao Li <lichao@loongson.cn> Cc: Bibo Mao <maobibo@loongson.cn> Cc: Xianglai Li <lixianglai@loongson.cn> Signed-off-by: Aleksandr Goncharov <chat@joursoir.net>
* NetworkPkg: mark fixed network PCDsAleksandr Goncharov11 days2-4/+4
| | | | | | | | | | Rename `NetworkPcds` to `NetworkFixedPcds` to avoid confusion with dynamic PCDs. The next patches in the chain will update all references across the codebase to use the new name. Cc: Saloni Kasbekar <saloni.kasbekar@intel.com> Cc: Zachary Clark-williams <zachary.clark-williams@intel.com> Signed-off-by: Aleksandr Goncharov <chat@joursoir.net>
* ArmVirtPkg: use NetworkDynamicPcds include fileAleksandr Goncharov11 days2-14/+2
| | | | | | | | | | | | | | Start using the include file in the ArmVirtPkg package to manage dynamic network-related PCDs. This change removes the manual addition of `PcdIPv4PXESupport` and `PcdIPv6PXESupport` from the DSC file, relying instead on the centralized include file introduced in NetworkPkg. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Aleksandr Goncharov <chat@joursoir.net>
* OvmfPkg: use NetworkDynamicPcds include fileAleksandr Goncharov11 days7-39/+7
| | | | | | | | | | | | | | | | | | | | Start using the include file in the OvmfPkg package to manage dynamic network-related PCDs. This change removes the manual addition of `PcdIPv4PXESupport` and `PcdIPv6PXESupport` from the DSC file, relying instead on the centralized include file introduced in NetworkPkg. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Jianyong Wu <jianyong.wu@arm.com> Cc: Anatol Belski <anbelski@linux.microsoft.com> Cc: Sunil V L <sunilvl@ventanamicro.com> Cc: Andrei Warkentin <andrei.warkentin@intel.com> Cc: Chao Li <lichao@loongson.cn> Cc: Bibo Mao <maobibo@loongson.cn> Cc: Xianglai Li <lixianglai@loongson.cn> Signed-off-by: Aleksandr Goncharov <chat@joursoir.net>
* NetworkPkg: introduce include file for dynamic PCDsAleksandr Goncharov11 days2-0/+23
| | | | | | | | | | | | | | Introduce an include file with dynamic PCDs to simplify the usage of the network stage. This allows us to stop manually adding `PcdIPv4PXESupport` and `PcdIPv6PXESupport` to the DSC file. `NETWORK_IP4_ENABLE` and `NETWORK_IP6_ENABLE` are not used because PXEv4 and PXEv6 boot support can be controlled from the QEMU command line. Cc: Saloni Kasbekar <saloni.kasbekar@intel.com> Cc: Zachary Clark-williams <zachary.clark-williams@intel.com> Signed-off-by: Aleksandr Goncharov <chat@joursoir.net>
* NetworkPkg/Dhcp6Dxe: Fix sanitizer issuesMichael D Kinney11 days1-3/+3
| | | | | | | | | | | | | | * EFI_DHCP6_DUID structure declares Duid[1], so the size of that structure is not large enough to hold an entire Duid. Instead, compute the correct size to allocate an EFI_DHCP6_DUID structure. * Dhcp6AppendOption() takes a length parameter that in network order. Update test cases to make sure a network order length is passed in. A value of 0x0004 was being passed in and was then converted to 0x0400 length and buffer overflow was detected. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
* UefiCpuPkg/MtrrLib: Fix unit test read overflowMichael D Kinney11 days1-1/+1
| | | | | | | Change conditional check to check the array index before reading the array member to prevent read past end of buffer. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
* MdePkg/Test/DevicePathLib: Remove FreePool(NULL)Michael D Kinney14 days1-2/+0
| | | | | | | | Unit test checks if AppendDevicePathInstance() returns NULL. In those cases, AppendDevicePathInstance() does not allocate a device path, so the call to FreePool() must not be performed. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
* CryptoPkg/BaseCryptLib: Fix serial number read overrunMichael D Kinney14 days1-1/+1
| | | | Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
* UefiCpuPkg/SecCore: Consume PcdMaxMappingAddressBeforeTempRamExitJiaxin Wu2024-11-073-81/+126
| | | | | | | | | | | Consume PcdMaxMappingAddressBeforeTempRamExit for page table creation in permanent memory before Temp Ram Exit. This patch will create the full page table in two steps: Step 1: Create the max address in page table before the Temporary RAM exit. Step 2: Create the full range page table after the Temporary RAM exit. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
* UefiCpuPkg/UefiCpuPkg.dec: Add PcdMaxMappingAddressBeforeTempRamExitJiaxin Wu2024-11-071-0/+8
| | | | | | | | | | | | | | | This change is made for boot performance considerations. Before the Temporary RAM is disabled, the permanent memory is in UC state, causing the creation of the page table in permanent memory to take more time with larger page table sizes. Therefore, this patch adds the PcdMaxMappingAddressBeforeTempRamExit to provide the platform with the capability to control the max mapping address in page table before Temp Ram Exit. The value of 0xFFFFFFFFFFFFFFFF, then firmware will map entire physical address space. Signed-off-by: Jiaxin Wu <jiaxin.wu@intel.com>
* StandaloneMmPkg/MemLib: remove unnecessary checkDun Tan2024-11-055-162/+1
| | | | | | | | | | | | | | | Remove unnecessary check in API MmIsBufferOutsideMmValid of StandaloneMmMemLib. The API is used to check if a input buffer is outside MMRAM and inside a valid non-MMRAM range. Previously, the API only checks if the input buffer is overlapped with MMRAM range. In the last commit, we add logic to check if the input buffer is inside valid non-MMRAM ranges reported by the resource HOB. Since the resource HOB only covers valid non-MMRAM ranges, we doesn't need to check if the input buffer is inside the MMRAM anymore. Signed-off-by: Dun Tan <dun.tan@intel.com>
* StandaloneMmPkg/Core: Check Resource HOB and Mmram rangesDun Tan2024-11-051-4/+36
| | | | | | | | | Check if the all the resource HOB in the input HOB list of MmCore entry only covers non-Mmram ranges. The Resource HOB is to describe the accessible non-Mmram range. All Resource HOB should not overlap with any Mmram range. Signed-off-by: Dun Tan <dun.tan@intel.com>
* StandaloneMmPkg/Core: add a new InitializeMmHobList()Dun Tan2024-11-051-20/+27
| | | | | | | | Separate a function called InitializeMmHobList() to gather all the operations related to initializing HOB. It doesn't change any code logic. Signed-off-by: Dun Tan <dun.tan@intel.com>
* StandaloneMmPkg/MemLib: Check if the non-MMRAM buffer is validDun Tan2024-11-054-1/+284
| | | | | | | | | | | | | | | Check if the non-MMRAM buffer is inside valid non-mmram range in API MmIsBufferOutsideMmValid of StandaloneMmMemLib. Previously, the API only checks if the input buffer is overlapped with MMRAM range. Currently, in the new standalone MM infrastructure, we limit the non-MMRAM access to the ranges reported by the resource HOB. To meet the new design, in this API, we cache all the memory ranges reported by the resource HOB and check if the input buffer is inside valid non-MMRAM ranges reported by the resource HOB. Signed-off-by: Dun Tan <dun.tan@intel.com>
* StandaloneMmPkg/MemLib: Add an internal header fileDun Tan2024-11-055-48/+59
| | | | | | | | Add a internal header file for StandaloneMmMemLib. Move some common reference and declaration into StandaloneMmMemLibInternal.h. Signed-off-by: Dun Tan <dun.tan@intel.com>
* StandaloneMmPkg/Core: Remove unneeded checkDun Tan2024-11-051-7/+1
| | | | | | | | | | | | | | | | | | | | Remove unneeded check MmIsBufferOutsideMmValid() when StandaloneMmCore checks if the BS data memory described by a memory allocation HOB needs to be migrated to Mmram. Currently, the API MmIsBufferOutsideMmValid() return TRUE when input memory range belongs to non-Mmram memory. Now the API will be changed in following 5 commits to return TRUE when a memory range belongs to non-Mmram memroy and the memory is inside a range described by resource HOB. This may cause PF when some SMI handler access the memory from a memory allocation HOB that is not migrated. To solve this issue, we can directly remove the check MmIsBufferOutsideMmValid() and always migrate the BS data memory described by a memory allocation HOB to Mmram. Signed-off-by: Dun Tan <dun.tan@intel.com>
* StandaloneMmPkg/MmIpl: Optimize hob pointer check flowHongbin1 Zhang2024-11-051-7/+6
| | | | | | | | | | | | | | | | Clang compile will optimize undefined behavior (UB) like a pointer with NULL + size, so it is better to check the pointer before using it. Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Wei6 Xu <wei6.xu@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
* CryptoPkg: Added MM_STANDALONE support in CryptoPkg.INDIA\kanagavels2024-11-055-0/+283
| | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4867 Added MM_STANDALONE support in Driver and BaseCryptLibOnProtocolPpi. Signed-off-by: Kanagavel S <kanagavels@ami.com>
* CryptoPkg: Increase ScratchMemory buffer for openssl 3.0.15Jorge Ramirez-Ortiz2024-11-041-1/+1
| | | | | | | | | | | | | | | | Openssl 3.0.15 has a larger memory footprint. Updating from EDK 2022.2 (openssl 1.1.j) to 2024.2 (openssl 3.0.15) causes our EFI provisioning application[1] to fail due to an out of memory condition. On inspection, at the time of that fault, 2022.2 had an additional 900 pages. This is why this patch proposes the increase of the ScratchMemory buffer by that same ammount. [1] https://git.kernel.org/pub/scm/linux/kernel/git/jejb/efitools.git Signed-off-by: Jorge Ramirez-Ortiz <jorge@foundries.io>
* UnitTestFrameworkPkg: Use TianoCore mirror of subhook submoduleMichael D Kinney2024-11-043-11/+11
| | | | | | | | | | Change subhook url from https://github.com/Zeex/subhook to https://github.com/tianocore/edk2-subhook because old url is no longer available. Also align .gitmodules file to use consistent LF line endings. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
* CryptoPkg: Updated the missed architectures.INDIA\kanagavels2024-11-011-1/+1
| | | | | | | | REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4838 Updated the missed architectures in PeiCryptLib.inf file. Signed-off-by: Kanagavel S <kanagavels@ami.com>
* UefiCpuPkg: Remove AMD 32-bit SMRAM save state mapPhil Noh2024-11-013-157/+101
| | | | | | | | | | Per AMD64 Architecture Programmer's Manual Volume 2: System Programming - 10.2.3 SMRAM State-Save Area (Rev 24593), the AMD64 architecture does not use the legacy SMM state-save area format (Table 10-2) for 32-bit SMRAM save state map. Clean up codes for the invalid save state map. Signed-off-by: Phil Noh <Phil.Noh@amd.com>
* MdePkg: CodeQL Fixes.Michael Kubacki2024-11-0111-196/+460
| | | | | | | | | | | | | Includes changes across the repo for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <tabeebe@microsoft.com> Co-authored-by: kenlautner <85201046+kenlautner@users.noreply.github.com> Signed-off-by: Aaron Pop <aaronpop@microsoft.com>
* MdeModulePkg: SataControllerSupported checks DevicePath ProtocolPaul Chang2024-11-013-3/+31
| | | | | | | | | | | | REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4858 Ph52a PCIE to SATA card inserted on Intel MTL/ARL causes system hanged. Root cause of this issue is because Ph52a's driver only uses DevicePath protocol alone and EDK2 driver only uses PciIo protocol alone. Both drivers start and try to manage SATA controller. Signed-off-by: Paul Chang <paulchang@ami.com>
* UefiPayloadPkg :ACPI memory nodeLinus Liu2024-10-311-1/+22
| | | | | | | | | There are couples of gUniversalPayloadAcpiTableGuid in payload , only build one gUniversalPayloadAcpiTableGuid hob and acpi memory hob. when the reserved memory address matched the rsdp. Signed-off-by: Linus Liu <linus.liu@intel.com>
* UefiPayloadPkg:Add SMBIOS node.Linus Liu2024-10-314-25/+54
| | | | | | | Per other platform request , need to add SMBIOS device node into FDT. In the current phase(1) , only supporting SM3EntryPoint structure. Signed-off-by: Linus Liu <linus.liu@intel.com>
* UefiPayloadPkg: Modify PCI root reg .Linus Liu2024-10-311-4/+14
| | | | | | | Per Spec updated , update DMA Reg property filed with each root bridge bus base and its bus limit. Signed-off-by: Linus Liu <linus.liu@intel.com>
* StandaloneMmPkg/MmIpl: Max physical address bits if disable 5 page levelHongbin1 Zhang2024-10-311-0/+55
| | | | | | | | | | | | | | | | | | | 4-level paging supports translating 48-bit linear addresses to 52-bit physical addresses. Since linear addresses are sign-extended, the linear-address space of 4-level paging is: [0, 2^47-1] and [0xffff8000_00000000, 0xffffffff_ffffffff]. So only [0, 2^47-1] linear-address range maps to the identical physical-address range when 5-Level paging is disabled. Signed-off-by: Hongbin1 Zhang <hongbin1.zhang@intel.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Star Zeng <star.zeng@intel.com> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Cc: Wei6 Xu <wei6.xu@intel.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Supreeth Venkatesh <supreeth.venkatesh@arm.com>
* ArmPlatformPkg: CodeQL Fixes.kuqin122024-10-305-27/+27
| | | | | | | | | | Makes changes to comply with alerts raised by CodeQL. The issues here fall into the following category: 1. comparison-with-wider-type Signed-off-by: Eeshan Londhe <eeshanlondhe@microsoft.com>
* ArmVirtPkg: KvmTool: Fix clang linker errorSudeep Holla2024-10-301-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang build for ArmVirtPkg/ArmVirtKvmTool.dsc fails with the below warning: | ld.lld: error: duplicate symbol: PciExpressRegisterForRuntimeAccess | ld.lld: error: duplicate symbol: GetPciExpressBaseAddress | ld.lld: error: duplicate symbol: PciExpressRead8 | ld.lld: error: duplicate symbol: PciExpressWrite8 | ld.lld: error: duplicate symbol: PciExpressOr8 | ld.lld: error: duplicate symbol: PciExpressAnd8 | ld.lld: error: duplicate symbol: PciExpressAndThenOr8 | ld.lld: error: duplicate symbol: PciExpressBitFieldRead8 | ld.lld: error: duplicate symbol: PciExpressBitFieldWrite8 | ld.lld: error: duplicate symbol: PciExpressBitFieldOr8 | ld.lld: error: duplicate symbol: PciExpressBitFieldAnd8 | ld.lld: error: duplicate symbol: PciExpressBitFieldAndThenOr8 | ld.lld: error: duplicate symbol: PciExpressRead16 | ld.lld: error: duplicate symbol: PciExpressWrite16 | ld.lld: error: duplicate symbol: PciExpressOr16 | ld.lld: error: duplicate symbol: PciExpressAnd16 | ld.lld: error: duplicate symbol: PciExpressAndThenOr16 | ld.lld: error: duplicate symbol: PciExpressBitFieldRead16 | ld.lld: error: duplicate symbol: PciExpressBitFieldWrite16 | ld.lld: error: duplicate symbol: PciExpressBitFieldOr16 | >>> defined in MdePkg/Library/BasePciExpressLib/BasePciExpressLib/OUTPUT/BasePciExpressLib.lib(PciExpressLib.obj) | >>> defined in OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib/OUTPUT/BaseCachingPciExpressLib.lib(PciExpressLib.obj) | | ld.lld: error: too many errors emitted, stopping now (use --error-limit=0 to see all errors) | clang: error: linker command failed with exit code 1 (use -v to see invocation) OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf is getting linked as NULL library in these pacakges: 1. UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.inf 2. MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf 3. MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf which results in duplicate symbols shown in the warning above as MdePkg/Library/BasePciExpressLib/BasePciExpressLib.inf is not properly replaced by OvmfPkg/Library/BaseCachingPciExpressLib/BaseCachingPciExpressLib.inf as PciExpressLib library. Signed-off-by: Sudeep Holla <sudeep.holla@arm.com>
* MdePkg: Add Google Mock Library for PostCodeLibTsunFeng2024-10-304-0/+104
| | | | Signed-off-by: TsunFeng <v-tshuang@microsoft.com>
* Maintainers: Revert "Remove Ard Biesheuvel from all packages"Ard Biesheuvel2024-10-301-0/+8
| | | | | | | As discussed with the stewards, I have decided to resume my role as a maintainer in the Tianocore project (if they will have me, of course) Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
* UefiCpuPkg/MmUnblockMemoryLib: Check if buffer range is validDun Tan2024-10-301-0/+90
| | | | | | | | | | | Check if input buffer range unblockable: 1.The input buffer range to block should be totally covered by one or multi memory allocation HOB 2.All the memory allocation HOB that overlap with the input buffer range should be EfiRuntimeServicesData, EfiACPIMemoryNVS or EfiReservedMemoryType. Signed-off-by: Dun Tan <dun.tan@intel.com>
* MdeModulePkg: Adding support for authenticated variablenikhil p sheshagiri2024-10-302-49/+132
| | | | | | | | | | | | | | | | storage data format REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4857 NVS needs to support both authenticated and non-authenticated header for NV region. PcdNvStoreDefaultValueBuffer can have variables with data format of the type Authenticated variable storage and this change provides the support to differentiate between the normal variable storage and authenticated variable storage for the hii database to consume and update the setup variables accordingly Signed-off-by: nikhil p sheshagiri <nikhil.p.sheshagiri@intel.com>
* StandaloneMmPkg/Core: Shadow Standalone BFV into MMRAMWei6 Xu2024-10-304-17/+28
| | | | | | | | | | | | | | | | BFV is outside the MMRAM. Currently, StandaloneMmIplPei uses the API MmUnblockMemoryRequest() to unblock the access for the BFV. However, the BFV's memory might be gone after ExitBootService event. If any access to the memory, unexpected error would happen. To fix the above issue, StandaloneMmCore should shadow standalone BFV into MMRAM before processing it, then free the shadowed BFV after MM driver dispatch is done. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
* UefiCpuPkg/PiSmmCpuDxeSmm: Fix extraneous parenthesesMike Beaton2024-10-291-1/+1
| | | | | | | | | | | Without this change, when building OvmfPkg with -D SMM_REQUIRE using the XCODE5 toolchain we get: error: equality comparison with extraneous parentheses which stops the build. Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
* StandaloneMmPkg/Core: Reset IsCommBufferValid to FALSE before MMI exitsWei6 Xu2024-10-291-4/+5
| | | | | | | | | | | | | | | | | | | In current implementation of MmCommunication, caller (StandaloneMmIplPei or MmCommunicationDxe) sets the IsCommBufferValid to TRUE and triggers synchronous MMI, then caller resets IsCommBufferValid to FLASE after MMI exits. If asynchronous MMI happens before caller resets the IsCommBufferValid to FALSE, StandaloneMmCore will mistakenly thought there is still a synchronous MMI and then update incorrect values into ReturnStatus and ReturnBufferSize. To fix the above issue, StandaloneMmCore should reset IsCommBufferValid to FALSE before MMI exits. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Jiaxin Wu <jiaxin.wu@intel.com> Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
* ShellPkg: CodeQL FixesOliver Smith-Denny2024-10-2921-60/+225
| | | | | | | | | | | | Includes changes across the module for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <taylor.d.beebe@gmail.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ShellPkg: UefiShellCommandLib: CodeQL FixesOliver Smith-Denny2024-10-293-21/+52
| | | | | | | | | | | | Includes changes across the module for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <taylor.d.beebe@gmail.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ShellPkg: DynamicCommand: CodeQL FixesOliver Smith-Denny2024-10-292-1/+9
| | | | | | | | | | | | Includes changes across the module for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <taylor.d.beebe@gmail.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ShellPkg: Shell: CodeQL FixesOliver Smith-Denny2024-10-295-39/+151
| | | | | | | | | | | | Includes changes across the module for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <taylor.d.beebe@gmail.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ShellPkg: UefiShellDriver1CommandsLib: CodeQL FixesOliver Smith-Denny2024-10-2910-87/+259
| | | | | | | | | | | | Includes changes across the module for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <taylor.d.beebe@gmail.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ShellPkg: UefiShellLevel1CommandsLib: CodeQL FixesOliver Smith-Denny2024-10-294-3/+33
| | | | | | | | | | | | Includes changes across the module for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <taylor.d.beebe@gmail.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ShellPkg: UefiShellLevel2CommandsLib: CodeQL FixesOliver Smith-Denny2024-10-297-37/+85
| | | | | | | | | | | | Includes changes across the module for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <taylor.d.beebe@gmail.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* ShellPkg: UefiShellDebug1CommandsLib: CodeQL FixesOliver Smith-Denny2024-10-2924-30/+161
| | | | | | | | | | | | Includes changes across the module for the following CodeQL rules: - cpp/comparison-with-wider-type - cpp/overflow-buffer - cpp/redundant-null-check-param - cpp/uselesstest Co-authored-by: Taylor Beebe <taylor.d.beebe@gmail.com> Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
* EmulatorPkg/Win/Host: Source level debugging on already loaded DLLAshraf Ali2024-10-281-8/+2
| | | | Signed-off-by: Ashraf Ali <ashraf.ali.s@intel.com>