summaryrefslogtreecommitdiff
path: root/Features
AgeCommit message (Collapse)AuthorFilesLines
20 hoursEtxt4Pkg/Ext4Dxe: Deprecate gEfiUnicodeCollationProtocolGuidHEADmasterGowtham 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>
2024-09-24Update to New StackCheckLibOliver Smith-Denny2-6/+0
edk2 PR https://github.com/tianocore/edk2/pull/5957 removed BaseStackCheckLib and added StackCheckLibNull (amongst others). This PR updates all dscs/dsc.incs to remove the old BaseStackCheckLib and if appropriate, add StackCheckLibNull to LibraryClasses.common.SEC or to specific SEC libs. For all other component types, MdeLibs.dsc.inc links them to StackCheckLibNull. This does all dscs at once as it is formulaic and fixes build breaks. Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
2024-09-16Update code to be more C11 compliant by using __func__Rebecca Cran1-2/+2
__FUNCTION__ is a pre-standard extension that gcc and Visual C++ among others support, while __func__ was standardized in C99. Since it's more standard, replace __FUNCTION__ with __func__ throughout edk2-platforms. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
2024-09-16Replace deprecated EFI_D_* with DEBUG_*Rebecca Cran4-5/+5
Replaced the deprecated EFI_D_{INFO,WARN,ERROR,VERBOSE} usage with DEBUG_{INFO,WARN,ERROR,VERBOSE}. Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
2024-09-16ARM/AARCH64 Platforms: Drop ArmCompilerIntrinsicsLibOliver Smith-Denny1-4/+0
edk2 PR https://github.com/tianocore/edk2/pull/6048 moves ArmCompilerIntrinsicsLib to MdePkg and into MdeLibs.dsc.inc. This patch drops all of the references to the ArmPkg location as these platforms are now getting it from MdeLibs.dsc.inc. This is done in one shot as it is a breaking change and has no functional impact. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Leif Lindholm <quic_llindhol@quicinc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Continuous-integration-options: PatchCheck.ignore-multi-package Signed-off-by: Oliver Smith-Denny <osde@linux.microsoft.com>
2024-08-28ManageabilityPkg: fix resource cleanupMike Maslenkin2-28/+32
This patch corrects the order of operations when freeing resources. Also this patch fixes possible access to NULL pointer in ReleaseTransportSession(). If NULL pointer is passed to this function, the container_of(NULL) will return some invalid pointer. The behavior of this function remains the same. If some valid pointer is passed it will be dereferenced and freed. Function returns success only if pointer to the passed token is equal to the saved mSingleSessionToken value. Cc: Abner Chang <abner.chang@amd.com> Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Cc: Nhi Pham <nhi@os.amperecomputing.com> Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2024-08-28ManageabilityPkg: uncrustify ManageabilityTransportSsifLib sources.Mike Maslenkin2-4/+4
Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
2024-07-19ManageabilityPkg: add support for the phosphor ipmi blob transfer protocolNickle Wang9-0/+2821
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4773 This change implements the blob transfer protocol used in OpenBmc documented here: https://github.com/openbmc/phosphor-ipmi-blobs Signed-off-by: Nick Ramirez <nramirez@nvidia.com> Co-authored-by: Nickle Wang <nicklew@nvidia.com> Cc: Abner Chang <abner.chang@amd.com> Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com> Cc: Tinh Nguyen <tinhnguyen@amperemail.onmicrosoft.com> Cc: Nhi Pham <nhi@os.amperecomputing.com> Cc: Thang Nguyen OS <thang@amperemail.onmicrosoft.com> Cc: Mike Maslenkin <mike.maslenkin@gmail.com>
2024-06-22IpmiFeaturePkg/GenericIpmi: add EFIAPI for driver entrypointsMike Maslenkin3-0/+3
Fix gcc build failure: IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi.c:414:1: error: conflicting types for 'InitializeSmmGenericIpmi' 414 | InitializeSmmGenericIpmi ( | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from <command-line>: IpmiFeaturePkg/GenericIpmi/Smm/SmmGenericIpmi/DEBUG/AutoGen.h:138:1: note: previous declaration of 'InitializeSmmGenericIpmi' was here 138 | InitializeSmmGenericIpmi ( | ^~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn>
2024-06-22IpmiFeaturePkg/GenericIpmi: add IpmiFeaturePkg.dec to packages listMike Maslenkin1-0/+1
GCC is unable to find a header file located into IpmiFeaturePkg: fatal error: Library/ServerMgmtRtLib.h: No such file or directory 11 | #include <Library/ServerMgmtRtLib.h> | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn>
2024-05-29ManageabilityPkg: Add TransportLib instance for IPMI SSIFNhi Pham9-0/+1524
This adds ManageabilityTransportSsifLib instance following the manageability transport framework to support IPMI SSIF protocol. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
2024-05-29ManageabilityPkg: Add NULL PlatformBmcReadyLib instanceNhi Pham4-0/+68
The NULL library is used when there is no platform specific implementation of PlatformBmcReadyLib. In that case, the state of BMC is always ready. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
2024-05-29ManageabilityPkg: Add PlatformBmcReadyLib library headerNhi Pham2-0/+30
The PlatformBmcReadyLib provides platform specific implementation to check the BMC state. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
2024-05-29ManageabilityPkg/IpmiProtocol: Extend support for SSIF transportNhi Pham5-12/+48
This extends support for SMBUS System Interface (SSIF) transport based on the IPMI specification. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
2024-05-29ManageabilityPkg: Add useful defines for IPMI LUN and NetFnNhi Pham2-1/+9
This adds useful defines for IPMI BMC Logical Unit Number (LUN) and the maximum value of Net Function (NetFn) to use across transport modules. According to the IPMI specification, unless otherwise specified, commands are listed as mandatory must be accessed through LUN 00b. Hence, this patch defaults LUN 00b for all IPMI BMC commands. Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
2024-04-30ManageabilityPkg: Remove the dependency with MinPlatformAbner Chang1-16/+56
BZ# 4695 Signed-off-by: Abner Chang <abner.chang@amd.com> Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com> Cc: Nickle Wang <nicklew@nvidia.com> Reviewed-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
2024-04-15VirtualKeyboardFeaturePkg: Update the comments of ReadKeyStroke and ↵Qingyu2-0/+4
ReadKeyStrokeEx - mantis #2131 Refer to Uefi spec 2.10 section 12.3.3, Add a new retval EFI_UNSUPPORTED to EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL.ReadKeyStrokeEx and EFI_SIMPLE_TEXT_INPUT_PROTOCOL.ReadKeyStroke(). Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Qingyu <qingyu.shang@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
2024-03-26IpmiFeaturePkg: Add missed call to FreePoolPhanindraX Babu Pabba1-0/+1
Adding missed out call to FreePool API to free the allocated memory. Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: PhanindraX Babu Pabba <phanindrax.babu.pabba@intel.com>
2024-02-23IpmiFeaturePkg/GenericIpmi:StandaloneMmGenericIpmiLixia Huang1-2/+2
StandaloneMmGenericIpmi driver is not loaded successfully due to wrong Depex. Set Depex to TRUE in StandaloneMmGenericImpi.inf. Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Lixia Huang <lisa.huang@intel.com>
2024-02-02IpmiFeaturePkg/ServerManagementLib: Fix a GCC compile errorWei6 Xu1-2/+2
The source file definition in INF file is ServerManagementELog.c, while the actual file name is ServerManagementElog.c. The case is mismatched. Correct the definition in INF file to fix this issue. Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com> Cc: Abner Chang <Abner.Chang@amd.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
2023-12-21IpmiFeaturePkg/BmcElog: Support Standalone MMLixia Huang7-17/+119
Refactor BmcElog to support Standalone MM. Remove unused code. Cc: Abner Chang <Abner.Chang@amd.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Lixia Huang <lisa.huang@intel.com>
2023-12-21IpmiFeaturePkg/GenericElog: Support Standalone MMLixia Huang7-48/+118
Refactor GenericElog to support Standalone MM. Remove unused function SmElogServiceInitialize. Cc: Abner Chang <Abner.Chang@amd.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Lixia Huang <lisa.huang@intel.com>
2023-12-21IpmiFeaturePkg/BmcAcpiSwChild: Support Standalone MMWei Xu7-22/+113
Refactor BmcAcpiSwChild to support Standalone MM. Cc: Abner Chang <Abner.Chang@amd.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Wei Xu <wei6.xu@intel.com>
2023-12-21IpmiFeaturePkg/ServerManagementLib: Support Standalone MMWei Xu5-221/+273
Split the ServerManagementLib.c into two source files: - ServerManagementELog.c to support Event Log functions. - ServerManagementTime.c to support GetTimeStamp function. - Replace gBS->Stall() with MicroSecondDelay() in TimerLib to remove dependency on gBS. Base Lib includes both of the two source files, StandaloneMm Lib only includes the ServerManagementTime.c Cc: Abner Chang <Abner.Chang@amd.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Wei Xu <wei6.xu@intel.com>
2023-12-19IpmiFeaturePkg/GenericIpmi: Fix GCC compiler errorLixia Huang1-2/+0
Fix GCC compiler error in StandaloneMmGenericIpmi. Cc: Abner Chang <Abner.Chang@amd.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Lixia Huang <lisa.huang@intel.com>
2023-12-12OutOfBandManagement/SpcrFeaturePkg: PCD based IRQ/GSIAbdul Lateef Attar4-3/+16
Create a new PCD to hold the IRQ or GSI number for SPCR, with default values of 4. Update the ACPI SPCR table's IRQ value based on PCD. Cc: Sai Chaganty <rangasai.v.chaganty@intel.com> Cc: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Abner Chang <abner.chang@amd.com> Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com> Change-Id: I7218903fa5572f8139ad45db598ab085f079713b
2023-12-12IpmiFeaturePkg/GenericIpmi: Sync change from SMMLixia Huang7-77/+326
Sync change from SMM to StandaloneMm GenericIpmi driver. Update SmmIpmbInterface and SmmSsifInterface Lib to support MM_STANDALONE. And Format code with uncrustify. Cc: Abner Chang <Abner.Chang@amd.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Signed-off-by: Lixia Huang <lisa.huang@intel.com>
2023-12-04Ext4Pkg: Fix CRC16 checksumming on block groupsPedro Falcato1-5/+1
Old filesystems (around 2008 and older) do not use CRC32c but rather CRC16-ANSI. Previously, the CalculateCrc16Ansi function was broken and gave us wrong checksums. Adapt to the new interface. And while we're at it, fix the checksum algorithm itself - the crc16 algorithm just skips over the bg_checksum, and does not checksum it. This problem was found out-of-list when older ext4 filesystems (that use crc16 checksums) failed to mount with "corruption". BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4609 Signed-off-by: Pedro Falcato <pedro.falcato@gmail.com> Cc: Savva Mitrofanov <savvamtr@gmail.com> Cc: Marvin Häuser <mhaeuser@posteo.de> Reviewed-by: Marvin Häuser <mhaeuser@posteo.de>
2023-12-01UserAuthFeaturePkg/UserAuthenticationSmm: Support Standalone MM.Wei6 Xu11-44/+363
Refactor UserAuthenticationSmm to support Standalone MM. - Factor out variable lock code logic that references boot services. - UserAuthenticationStandaloneMmDxe is added to lock the variables. It is only used for UserAuthenticationStandaloneMm. - UserAuthenticationStandaloneMm doesn't lock the variables, needs to rely on UserAuthenticationStandaloneMmDxe to do the lock. - UserAuthenticationSmm still locks the variables by itself, no need to include UserAuthenticationStandaloneMmDxe. - Register gEfiEventExitBootServicesGuid notify which is used by the StandaloneMmCore. Since gEdkiiVariableLockProtocolGuid is a deprecated interface, use gEdkiiVariablePolicyProtocolGuid to lock password variables instead. Cc: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
2023-11-30IpmiFeaturePkg: Fix BuildNate DeSimone1-0/+1
Add missing MemoryAllocationLib dependency Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2023-11-30IpmiFeaturePkg/SmmIpmiBaseLib: Support Standalone MM.Wei6 Xu2-34/+12
Add MM_STANDALONE type support for SmmIpmiBaseLib instance. Replace Smst with Mmst. Remove unused UefiBootServicesTableLib reference. Reviewed-by: Abner Chang <Abner.Chang@amd.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Wei6 Xu <wei6.xu@intel.com>
2023-11-17IpmiFeaturePkg/IpmiRedirFru: Switch to AfterConsole event for callbackZhen Gong3-9/+11
Use AfterConsole event instead of ReadyToBoot for callback so the driver can update SMBIOS table before booting to setup menu. Signed-off-by: Zhen Gong <zhen.gong@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn>