summaryrefslogtreecommitdiff
path: root/Features
AgeCommit message (Collapse)AuthorFilesLines
2026-05-12When configuring the system to clear the user password,Zhu, Liangqi1-1/+1
the direct variable update in PasswordSmmInit fails with an EFI_NOT_AVAILABLE_YET error. This occurs because the initial NV variable write relies on the EFI_VARIABLE_WRITE_ARCH_PROTOCOL, which has not yet been installed during the early DXE/SMM init phase.
2026-04-30Manageability: Delete ManageabilityPkgAbner Chang102-17842/+0
Delete ManageabilityPkg as it is already migrated to edk2 repo (https://github.com/tianocore/edk2/pull/12162), at commit ID: ef745f258c03085973e5eeeba4452adedbc0ac22. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-22VirtualKeyboardFeaturePkg: convert SimpleIcon and FullIcon BMPs to palettedJames Lu2-0/+0
Follow-up to the 4-bit keyboard BMP conversion in PR #969 for the remaining two icon assets in VirtualKeyboardDxe. SimpleIcon.bmp uses only 2 unique colors (pure black/white); convert to 1-bit paletted BMP for a byte-level lossless reduction. FullIcon.bmp uses 198 unique colors; convert to 8-bit paletted BMP for a byte-level lossless reduction (198 < 256 palette entries, no quantization required). EDK2 BaseBmpSupportLib already supports 1-bit and 8-bit uncompressed BMP (TranslateBmpToGopBlt handles both BitsPerPixel values). Per-file size reduction (24-bit -> target): SimpleIcon.bmp: 2814 -> 182 (1-bit) FullIcon.bmp: 5454 -> 2878 (8-bit) Pixel dimensions and visual layout are unchanged. Signed-off-by: James Lu <james.lu@intel.com>
2026-04-17Global: Consume ArmLib from MdePkgOliver Smith-Denny1-1/+1
edk2 is moving ArmLib to MdePkg. Update DSCs accordingly. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com> [ardb: add missed instance in N1SdpPlatform.dsc] Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
2026-04-13ManageabilityPkg/IpmiProtocol: Improper reference of ResponseDataSizeAbner Chang1-3/+8
Check if the pointer ResponseDataSize is valid or not before using it. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: Restructure ManageabilityPkfg DSC fileAbner Chang2-5/+8
ManageabilityPkg.dsc is used to build the entire manageability package. Manageability.dsc.inc is included in ManageabilityPkg.dsc to build all manageability drivers. Manageability.dsc.inc can be also included in platform DSC file to enable the specific manageability driver according to the platform manageability package PCD settings. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - ECCAbner Chang34-184/+201
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the ECC errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - CodeQLAbner Chang5-8/+27
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the CodeQL errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - MSVC buildAbner Chang2-9/+10
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the MSVC build errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - ComponentsAbner Chang2-4/+18
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the component section check errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - DEBUG MacrosAbner Chang6-11/+12
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the DEBUG Macros check errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - Package pathAbner Chang1-2/+2
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the invalid package path check errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - SpellAbner Chang18-51/+54
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the Spell checks errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - UncrustifyAbner Chang4-47/+49
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the Uncrustify checks errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: edk2 migration CI fix - LibraryClass checkAbner Chang1-4/+6
This is the prerequisite of migrate Manageability package from edk2-platforms to edk2 repository. Fix the LibraryClass checks errors. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-13Features/ManageabilityPkg: Clear description on DEC fileAbner Chang1-3/+8
Update package DEC file header to give a clear descriptions of the usage of this ManageabilityPkg. Signed-off-by: Abner Chang <abner.chang@amd.com>
2026-04-04Features/Ext4Pkg: Fix integer overflow in Ext4ReadPhineas Su1-1/+1
The multiplication of Extent.ee_len (UINT16) and Partition->BlockSize (UINT32) was performed using 32-bit arithmetic, which can overflow before being assigned to the 64-bit ExtentLengthBytes variable. This overflow can lead to an incorrect ExtentMayRead value and subsequent out-of-bounds disk reads. Example: If Partition->BlockSize is 0x200000 (2MB) and Extent.ee_len is 0x800, the result of 0x200000 * 0x800 is 0x100000000. In 32-bit arithmetic, this overflows to 0x0. Consequently, ExtentLengthBytes becomes 0, causing ExtentMayRead to be calculated incorrectly (e.g., underflowing when subtracting ExtentOffset) and potentially leading to an out-of-bounds read in Ext4ReadDiskIo. Casting Extent.ee_len to UINT64 ensures the multiplication is performed using 64-bit arithmetic. Signed-off-by: Phineas Su <pohaosu@google.com>
2026-04-02VirtualKeyboardFeaturePkg: convert keyboard BMPs to 4-bit paletteJames Lu3-0/+0
Convert the three VirtualKeyboardDxe keyboard bitmap assets from 24-bit BMP to 4-bit paletted BMP. Each bitmap uses fewer than 16 unique colors after median-cut quantization, so the 16-color palette is sufficient. Pixel dimensions and visual layout are unchanged. EDK2 BaseBmpSupportLib already supports 4-bit uncompressed BMP (TranslateBmpToGopBlt handles BitsPerPixel==4). Per-file size reduction (24-bit -> 4-bit): CapitalLetterKeyboard.bmp: 330454 -> 55318 DigitKeyboard.bmp: 330454 -> 55318 SimpleKeyboard.bmp: 30054 -> 5318 Signed-off-by: James Lu <james.lu@intel.com>
2026-01-02Features/ManageabilityPkg: Fix error return of IpmiGetSystemUuidRebecca Cran1-0/+2
If the call to IpmiSubmitCommand in IpmiGetSystemUuid succeeds but a UUID wasn't able to be retrieved, make sure we return an error code instead of EFI_SUCCESS. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
2025-11-17ManageabilityPkg: IpmiCommandLib: IPMI boot initiator mailboxBrit Chesley2-3/+140
Added read and write support for the IPMI boot initiator mailbox. Signed-off-by: Brit Chesley <brit.chesley@amd.com>
2025-11-12Features/Intel:Fix for MSVC variable build errorUyyala, RavitejaX1-0/+1
Initializing the Variable to 'NULL' for resolving MSVC Build error. Signed-off-by: Uyyala, RavitejaX <ravitejax.uyyala@intel.com>
2025-11-06Features/Intel: Enhanced Password complexityUyyala, RavitejaX4-6/+109
Included additional checks for stronger password. Signed-off-by: Uyyala, RavitejaX <ravitejax.uyyala@intel.com>
2025-10-30Ext4Pkg: add LoongArch supportAriadne Conill1-1/+1
Validated on Loongson 3A6000-HV-7A2000-1w-V0.1-EVB evaluation board. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-10-28Ext4Pkg: remove unused variable in collation codeAriadne Conill1-1/+0
Iso639Language is not used anywhere in the code, so GCC flags it as an unused variable. Signed-off-by: Ariadne Conill <ariadne@ariadne.space>
2025-10-28Features/Intel: Use RngLib to get Random number.Kilumu, VenkataX Sai Mahesh2-1/+8
Use RngLib to get the Random number instead of passing seed value is NULL and seed size is zero. Signed-off-by: Kilumu, VenkataX Sai Mahesh <venkatax.sai.mahesh.kilumu@intel.com>
2025-10-28Features/Intel:Failure to Clear Password DataPatel, Azhar ImtiyazX1-0/+2
Clearing password at EXIT in both cases SMM_PASSWORD_FUNCTION_SET_PASSWORD and SMM_PASSWORD_FUNCTION_VERIFY_PASSWORD Signed-off-by: Patel, Azhar ImtiyazX <azhar.imtiyazx.patel@intel.com>
2025-10-28Features/Intel: Improper Return StatusReji, RencyX1-1/+1
SmmPasswordHandler returns EFI_SUCCESS even when the CommBufferSize is less than the expected header size. Change the return statement to return an appropriate error code EFI_INVALID_PARAMETER instead of EFI_SUCCESS. Signed-off-by: Reji, RencyX <rencyx.reji@intel.com>
2025-10-18Features/Intel: Failed to check return statusReji, RencyX2-3/+11
KeyLibGenerateSalt function fails to check the return values of RandomSeed and RandomBytes function calls. Also SavePasswordToVariable fails to check return value from KeyLibGenerateSalt. Added error handling code to check the return values of RandomSeed, RandomBytes functions and KeyLibGenerateSalt in SavePasswordToVariable. Signed-off-by: Reji, RencyX <rencyx.reji@intel.com>
2025-09-23OutOfBandManagement/IpmiFeaturePkg: Add missing EFIAPIDarren Dong4-0/+10
Add missing EFIAPI to MMBI IPMI infrastructure functions to bypass GCC build errors. Signed-off-by: Darren Dong <darren.dong@intel.com>
2025-09-18OutOfBandManagement/IpmiFeaturePkg: Add missing EFIAPIMichael D Kinney2-0/+2
Add missing EFIAPI in implementation of UEFI event notification functions. Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
2025-09-13Global: Remove ARM32 SupportOliver Smith-Denny19-21/+20
edk2 is removing support for ARM32, so drop all ARM32 code from edk2-platforms. This does not change code copied from edk2 as-is. Signed-off-by: Oliver Smith-Denny <osde@microsoft.com>
2025-09-08Etxt4Pkg/Ext4Dxe: Deprecate gEfiUnicodeCollationProtocolGuidGowtham M2-17/+3
gEfiUnicodeCollationProtocolGuid was deprecated in favor of a newer version gEfiUnicodeCollation2ProtocolGuid which provides improved language support and better extensibility. It was officially removed from UEFI specifications 2.10A and 2.11 and should no longer be used in current implementations. Cc: Sachin Ganesh <sachinganesh@ami.com> Signed-off-by: Gowtham M <gowthamm@ami.com>
2025-08-23Features: fix missing EFIAPI for PlatformPayloadFeaturePkgGuo Dong1-0/+1
When register a root SMI handler, it is expected to use windows calling convention for the SMI handler. This patch adds missing EFIAPI for the SMI handler SmmSwDispatcher to avoid potential issue from Linux build. Signed-off-by: Guo Dong <guo.dong@intel.com>
2025-08-21ManageabilityPkg/Kcs: Add support for PEI KCS transport interface useCassandra Lam7-9/+53
The files added under ManageabilityTransportKcsLib have been cloned from ManageabilityTransportKcsLib/Dxe because this library can be used in both PEI and DXE. The original source files under the /Dxe and /Common folders will be removed, and DxeManageabilityTransportKcs.inf will be kept for backwards compatibility. Signed-off-by: Cassandra Lam <Cassandra.Lam@amd.com>
2025-07-22NetworkFeaturePkg: fix build failureRay Ni1-2/+2
When NETWORK_ENABLE is TRUE and NETWORK_ALLOW_HTTP_CONNECTIONS is TRUE, NetworkPkg/NetworkFixedPcds.dsc.inc specifies gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections as TRUE. But the PCD is set under [PcdsFixedAtBuild] section. The build.py will complain the following error: Pcd (gEfiNetworkPkgTokenSpaceGuid.PcdAllowHttpConnections) defined in DSC is not declared in DEC files referenced in INF files in FDF. Arch: ['IA32'] The commit fixes the failure by only setting the PCD in the [PcdsFixedAtBuild.$(DXE_ARCH)] section. Signed-off-by: Ray Ni <ray.ni@intel.com>
2025-05-06NetworkFeaturePkg: Fix Include PathsNate DeSimone1-1/+4
The NetworkPcds.dsc.inc include file have been broken out into 2 separate files: NetworkFixedPcds.dsc.inc and NetworkDynamicPcds.dsc.inc Fix NetworkFeaturePkg so it includes the correct paths. Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2025-03-06IpmiFeaturePkg: FixUp FuctionPointer in gPeiIpmiTransportPpiGuid after ↵Ning Feng2-0/+15
MemoryDiscovered Description: Currently, a page fault (PF#) is observed when accessing the PEI_IPMI_TRANSPORT_PPI in the post-memory phase. The cause of this problem is that the PPI does not migrated from temporary RAM to permanent RAM. Solution: Register a memory shadow handler in the PeiGenericIpmi PEIM that performs pointer fixes for PEI_IPMI_TRANSPORT_PPI after MemoryDiscovered. Signed-off-by: Ning Feng <ning.feng@intel.com>
2024-12-12ManageabilityPkg/IpmiProtocol: Fix build error due to missing PCDsNhi Pham2-0/+8
This adds recent PCDs for IPMI Serial for IpmiProtocol PEI and SMM to fix the compilation error. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
2024-12-10ManageabilityPkg: Add serial protocol in IPMI driverJohn Chung3-3/+32
This introduces serial protocol in IPMI driver. Signed-off-by: John Chung <john.chung@arm.com>
2024-12-10ManageabilityPkg: Add serial protocol in manageability help libraryJohn Chung3-0/+4
This introduces ManageabilityTransportSerial in manageability help library. Signed-off-by: John Chung <john.chung@arm.com>
2024-12-10ManageabilityPkg: Add serial transport interfaceJohn Chung7-3/+1159
ManageabilityTransportSerialLib instance following the manageability transport framework to support IPMI Serial protocol. Data structure refer to Figure 14, IPMI 2.0. Signed-off-by: John Chung <john.chung@arm.com>
2024-11-28Pkg-Module: Features/VirtualKeyboardDxe PART 2Darbin Reyes1-1/+1
The Keyboard.c driver did not include ScanCodes like F1,F2,F12,etc. and UnicodeChars like Backspace, Tab in VK_NOTIFY NotifyList which is why these keys were not getting registered and not getting pushed in the KeyBuffer stack which resulted in undefined behavior of continuous backspace and not recognizing the relevant key push after the buffer overflow condition. Signed-off-by: Darbin Reyes <darbin.reyes@intel.com>
2024-11-28Pkg-Module: Features/VirtualKeyboardDxeDarbin Reyes1-11/+37
The Keyboard.c driver did not include ScanCodes like F1,F2,F12,etc. and UnicodeChars like Backspace, Tab in VK_NOTIFY NotifyList which is why these keys were not getting registered and not getting pushed in the KeyBuffer stack which resulted in undefined behavior of continuous backspace and not recognizing the relevant key push after the buffer overflow condition Signed-off-by: Contributor Name <darbin.reyes@intel.com>
2024-11-25Features/Intel|Platforms/Intel: Complete pending changes to [Components.{ARCH}]Mike Beaton11-60/+15
As noted in the code, it was intended to update various manually specified instances of [Components.IA32/X64] to [Components.$(DXE_ARCH)] or [Components.$(PEI_ARCH)] as appropriate, once macro expansion in the Components {ARCH} value was supported. This support was added some time ago[1], but the marked changes were never made. [1]: https://bugzilla.tianocore.org/show_bug.cgi?id=2308 Signed-off-by: Mike Beaton <mjsbeaton@gmail.com>
2024-10-24ManageabilityPkg/IpmiBlobTransferDxe: response data is optionalNickle Wang1-20/+27
While calling IpmiBlobTransferSendIpmi(), it is expected that there is no response data for certain command. Enhance this function to accept NULL response data parameter. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
2024-10-24ManageabilityPkg: add IpmiSmbiosTransferDxeNickle Wang3-0/+16
Add IpmiSmbiosTransferDxe to ManageabilityPkg. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
2024-10-24ManageabilityPkg/IpmiSmbiosTransferDxe: Add SMBIOS transfer supportNickle Wang3-0/+382
Adding support to transfer SMBIOS binary blob to the BMC by using the IpmiBlobTransfer protocol. Signed-off-by: Nick Ramirez <nramirez@nvidia.com> Co-authored-by: Nickle Wang <nicklew@nvidia.com>
2024-10-24ManageabilityPkg/IpmiProtocolSmm: fix build errorNickle Wang1-0/+2
Add missing PCD: PcdIpmiSsifSmbusSlaveAddr. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
2024-10-24ManageabilityPkg/PldmSmbiosTransferDxe: fix GCC5 build errorNickle Wang1-0/+2
Add missing "EFIAPI" to fix GCC5 build failure. Signed-off-by: Nickle Wang <nicklew@nvidia.com>
2024-10-01ManageabilityPkg: Add IpmiCommandLib PEI instanceNhi Pham1-0/+32
This introduces IpmiCommandLib/IpmiCommandLibPei.inf for the support of the IPMI command library in PEI. It is consistent with the IpmiLib which has supported separately an instance in PEI. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>