| Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
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>
|
|
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>
|
|
Initializing the Variable to 'NULL'
for resolving MSVC Build error.
Signed-off-by: Uyyala, RavitejaX <ravitejax.uyyala@intel.com>
|
|
Included additional checks for stronger password.
Signed-off-by: Uyyala, RavitejaX <ravitejax.uyyala@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Add missing EFIAPI to MMBI IPMI infrastructure functions to bypass GCC build errors.
Signed-off-by: Darren Dong <darren.dong@intel.com>
|
|
Add missing EFIAPI in implementation of UEFI event
notification functions.
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
__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>
|
|
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>
|
|
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>
|
|
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>
|
|
Remove IpmiCommandLib from IpmiFeaturePkg as it was
migrated to ManageabilityPkg and has more IPMI
commands support.
Remove this IpmiFeaturePkg to avoid the confusion.
Signed-off-by: Abner Chang <abner.chang@amd.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
Cc: Nickle Wang <nicklew@nvidia.com>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
|
|
Add Standalone Mm Generic Impi driver. And add type 'PcdsFixedAtBuild'
for PcdIpmiSmmIoBaseAddress to access in StandaloneMm driver
Reviewed-by: Abner Chang <Abner.Chang@amd.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Signed-off-by: Lixia Huang <lisa.huang@intel.com>
|
|
Add GenericFruDriver and generate data based on SMBIOS data.
Signed-off-by: Zhen Gong <zhen.gong@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
|
|
Add DXE and SMM drivers that send "Set ACPI Power State" command to BMC.
Signed-off-by: Zhen Gong <zhen.gong@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
|
|
Lightweight lib to support Server Management drivers.
Signed-off-by: Zhen Gong <zhen.gong@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
|
|
Add generic Elog driver and support BMC Elog operations.
Signed-off-by: Zhen Gong <zhen.gong@intel.com>
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
|
|
Remove duplicate IpmiCommandLib.h and use the one
under MdeModulePKg instead.
Signed-off-by: Abner Chang <abner.chang@amd.com>
Cc: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
Cc: Nickle Wang <nicklew@nvidia.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn>
|
|
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=4522
"if (FixedPcdGet8 (PcdKcsInterfaceSupport) == 1) {" will not be executed in current code,
put it within "case SysInterfaceKcs:" to avoid this issue.
Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Yanbo Huang <yanbo.huang@intel.com>
|
|
Created IpmiTransport2 PPI/Protocol to support multiple
IPMI BMC Interface support such as KCS/BT/SSIF/IPMB with 2 API's
IpmiSubmitCommand2 & IpmiSubmitCommand2Ex.
IpmiSubmitCommand2 - This API use the default interface
(PcdDefaultSystemInterface) to send IPMI command.
IpmiSubmitCommand2Ex - This API use the specific interface type
to send IPMI command which is passed as an argument.
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Arun K <arunk@ami.com>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
|
|
Created IpmiTransport2 PPI/Protocol to support multiple
IPMI BMC Interface support such as KCS/BT/SSIF/IPMB with 2 API's
IpmiSubmitCommand2 & IpmiSubmitCommand2Ex.
IpmiSubmitCommand2 - This API use the default interface
(PcdDefaultSystemInterface) to send IPMI command.
IpmiSubmitCommand2Ex - This API use the specific interface type
to send IPMI command which is passed as an argument.
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Arun K <arunk@ami.com>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
|
|
Created IpmiTransport2 PPI/Protocol to support multiple
IPMI BMC Interface support such as KCS/BT/SSIF/IPMB with 2 API's
IpmiSubmitCommand2 & IpmiSubmitCommand2Ex.
IpmiSubmitCommand2 - This API use the default interface
(PcdDefaultSystemInterface) to send IPMI command.
IpmiSubmitCommand2Ex - This API use the specific interface type
to send IPMI command which is passed as an argument.
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Arun K <arunk@ami.com>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
|
|
Update the SPCR table based on PCD values, such as
base address, register bit width, access size and
address space id etc, along with OEM data.
Cc: Abner Chang <abner.chang@amd.com>
Cc: Sai Chaganty <rangasai.v.chaganty@intel.com>
Cc: Isaac Oram <isaac.w.oram@intel.com>
Cc: Nate DeSimone <nathaniel.l.desimone@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Signed-off-by: Abdul Lateef Attar <AbdulLateef.Attar@amd.com>
Reviewed-by: Isaac Oram <isaac.w.oram@intel.com>
|