Age | Commit message (Collapse) | Author | Files | Lines |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
This introduces serial protocol in IPMI driver.
Signed-off-by: John Chung <john.chung@arm.com>
|
|
This introduces ManageabilityTransportSerial in manageability help
library.
Signed-off-by: John Chung <john.chung@arm.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Add IpmiSmbiosTransferDxe to ManageabilityPkg.
Signed-off-by: Nickle Wang <nicklew@nvidia.com>
|
|
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>
|
|
Add missing PCD: PcdIpmiSsifSmbusSlaveAddr.
Signed-off-by: Nickle Wang <nicklew@nvidia.com>
|
|
Add missing "EFIAPI" to fix GCC5 build failure.
Signed-off-by: Nickle Wang <nicklew@nvidia.com>
|
|
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>
|
|
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>
|
|
__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>
|
|
Replaced the deprecated EFI_D_{INFO,WARN,ERROR,VERBOSE} usage with
DEBUG_{INFO,WARN,ERROR,VERBOSE}.
Signed-off-by: Rebecca Cran <rebecca@bsdio.com>
|
|
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>
|
|
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>
|
|
Signed-off-by: Mike Maslenkin <mike.maslenkin@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
This adds ManageabilityTransportSsifLib instance following the
manageability transport framework to support IPMI SSIF protocol.
Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
|
|
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>
|
|
The PlatformBmcReadyLib provides platform specific implementation to
check the BMC state.
Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
|
|
This extends support for SMBUS System Interface (SSIF) transport based
on the IPMI specification.
Signed-off-by: Nhi Pham <nhi@os.amperecomputing.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|