summaryrefslogtreecommitdiff
path: root/Features/Intel/UserInterface
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-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-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>
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-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>
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 Beaton2-8/+2
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-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>
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-01-13Features/Intel: Prepare for edk2-platforms CIIsaac Oram4-8/+16
Fix some build issues with GCC5 targets Add a Readme.md for AdvancedFeaturePkg Add VS2019, CLANGPDB, and GCC5 build targets to Readme.md for each feature Cc: Sai Chaganty <rangasai.v.chaganty@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Eric Dong <eric.dong@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>
2022-09-01Features/Intel: Reduce duplicate codeIsaac Oram3-20/+18
Enable simpler initialation of the MinPlatformPkg feature selection PCD. Most features and boards don't benefit from initializing these. Cc: Sai Chaganty <rangasai.v.chaganty@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2022-08-03VirtualKeyboardFeaturePkg: Pre OS virtual keyboard touch response are very ↵KalaiyarasanX Thangaraj2-0/+18
slow with I2C touch panel On one Touch, multiple Reads happend and this reads varying based on Key Press time. Resulting in Multiple key press update on screen. This condition avoids KeyPressed skips resulting due to faster key press and update only on valid key press. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Madhan Pethaiyan <madhan.pethaiyan@intel.com> Cc: Kathappan Esakkithevar <kathappan.esakkithevar@intel.com> Cc: Madhusudhan Balaji <madhusudhan.balaji@intel.com> Signed-off-by: KalaiyarasanX Thangaraj <kalaiyarasanx.thangaraj@intel.com> Reviewed-by:Balaji, Madhusudhan madhusudhan.balaji@intel.com Reviewed-by: Dandan Bi <dandan.bi@intel.com>
2022-07-21VirtualKeyboardFeaturePkg: Pre OS virtual keyboard touch are not working ↵Thangaraj, KalaiyarasanX1-1/+1
with I2C touch panel Vktimer event Task Priority Level changed to TPL_CALLBACK from TPL_NOTIFY to fix Virtual Keyboard touch slowness issues and touch not working issues Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Madhan Pethaiyan <madhan.pethaiyan@intel.com> Cc: Kathappan Esakkithevar <kathappan.esakkithevar@intel.com> Cc: Madhusudhan Balaji <madhusudhan.balaji@intel.com> Signed-off-by: KalaiyarasanX Thangaraj <kalaiyarasanx.thangaraj@intel.com> Reviewed-by: Dandan Bi <dandan.bi@intel.com>
2022-02-03LogoFeaturePkg: Use MinPlatformPkg build include filesIsaac Oram3-68/+41
Use the MinPlatformPkg common core build files to build libraries needed by this feature. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2022-02-03VirtualKeyboardFeaturePkg: Add feature enable PCDIsaac Oram2-2/+7
VirtualKeyboard missing feature enable PCD. Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2022-02-03VirtualKeyboardFeaturePkg: Use MinPlatformPkg build include filesIsaac Oram2-55/+25
Use the MinPlatformPkg common core build files to build libraries needed by this feature. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2022-02-03VirtualKeyboardFeaturePkg: Fix all relative package pathsIsaac Oram2-2/+2
Packages should be at the root of a PACKAGES_PATH entry. At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools. Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2022-02-03UserAuthFeaturePkg: Use MinPlatformPkg build include filesIsaac Oram3-77/+27
Use the MinPlatformPkg common core build files to build libraries needed by this feature. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2022-02-03UserAuthFeaturePkg: Fix all relative package pathsIsaac Oram8-15/+15
Packages should be at the root of a PACKAGES_PATH entry. At some point, paths were relative to edk2-platforms/Features/Intel which was functional, but interferes with the proper functioning of packaging tools. Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2022-01-21UserAuthFeaturePkg/PlatformPasswordLibNull: Add UEFI app supportIsaac Oram1-1/+1
Enable library use with UEFI_APPLICATION components similarly to the other libraries in the package. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Guillermo Antonio Palomino Sosa <guillermo.a.palomino.sosa@intel.com> Signed-off-by: Isaac Oram <isaac.w.oram@intel.com> Reviewed-by: Dandan Bi <dandan.bi@intel.com>
2021-12-08UserAuthFeaturePkg: VerifyPassword() allows one extra password attemptNate DeSimone1-2/+12
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3756 If the password provided by the user is incorrect, then the VerifyPassword() function is supposed to return EFI_SECURITY_VIOLATION if the user has not exceeded the maximum number of password guesses (currently set to 3). If the number of password guesses has been exceeded, then VerifyPassword() shall return EFI_ACCESS_DENIED. UserAuthenticationDxe uses EFI_ACCESS_DENIED as the signal that the number of guesses has been exceeded for the purposes of triggering a forced reboot. VerifyPassword() checks if the number of password guess attempts has exceeded the maximum allowed before checking if the current password guess is correct. If it has, then VerifyPassword() immediately returns EFI_ACCESS_DENIED. This behavior is correct since it is possible for VerifyPassword() to be called again after the maximum number of attempts has been exceeded. However, if the user guesses incorrectly, then VerifyPassword() will always return EFI_SECURITY_VIOLATION. This is where the bug is. It is possible that after the current attempt, the maximum allowed number of attempts is exceeded. Therefore, VerifyPassword() should check the number of attempts again, after checking if the password is correct. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Jadhav Manoj D <manoj.d.jadhav@intel.com> Cc: Chasel Chiu <chasel.chiu@intel.com> Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Dandan Bi <dandan.bi@intel.com>
2021-10-13UserAuthFeaturePkg/UserAuthenticationDxeSmm: The SMI to handle the user ↵Shi, Hao2-5/+40
authentication should be unregister before booting to OS REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3648 Register SmmExitBootServices and SmmLegacyBoot callback function to unregister this handler. Signed-off-by: Hao Shi <hao.shi@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Dandan Bi <dandan.bi@intel.com>
2021-03-31Features/UserInterface: Consume MdeLibs.dsc.inc for RegisterFilterLibDandan Bi3-3/+12
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3246 MdeLibs.dsc.inc was added for some basic/default library instances provided by MdePkg and RegisterFilterLibNull Library was also added into it as the first version of MdeLibs.dsc.inc. So update platform dsc to consume MdeLibs.dsc.inc for RegisterFilterLibNull which will be consumed by IoLib and BaseLib. Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Dandan Bi <dandan.bi@intel.com> Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
2020-10-27Features/Intel/UserInterface/UserAuthFeaturePkg: Add RngLib instance to DSCLiu, Zhiguang1-1/+2
The UserAuthFeaturePkg build currently fails since it does not specify a RngLib instance and OpensslLib links against RngLib. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Reviewed-by: Liming Gao <gaoliming@byosoft.com.cn> Reviewed-by: Dandan Bi <dandan.bi@intel.com>
2020-09-28LogoFeaturePkg: Update Intel LogoNate DeSimone2-0/+0
Updated Intel corporate logo. Cc: Sai Chaganty <rangasai.v.chaganty@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Nate DeSimone <nathaniel.l.desimone@intel.com> Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>
2020-05-09Features/Intel/UserInterface: Add VirtualKeyboardFeaturePkgTan, Ming19-0/+4775
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2603 It add a VirtualKeyboardDxe driver. It is used with a touch panel, simulate a keyboard in the screen. Signed-off-by: Ming Tan <ming.tan@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com>
2020-04-01Features/Intel: Correct wrong codes and remove unnecessary codesLuo, Heng2-10/+1
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=2644 Correct wrong codes and remove unnecessary codes in LogoFeaturePkg. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Heng Luo <heng.luo@intel.com> Reviewed-by: Eric Dong <eric.dong@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
2020-03-27Features/Intel: Add LogoFeaturePkg to provide logo images and driversHeng Luo13-0/+602
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2584 1. LogoDxe.inf includes a BMP logo in the EFI file, the driver decodes the BMP file and provide the image via EDKII_PLATFORM_LOGO_PROTOCOL. 2. JpegLogoDxe.inf includes a JPEG logo in the EFI file, the driver use EFI_HII_IMAGE_DECODER_PROTOCOL to decode the Jpeg file and provide the image via EDKII_PLATFORM_LOGO_PROTOCOL. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <liming.gao@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Signed-off-by: Heng Luo <heng.luo@intel.com> Reviewed-by: Liming Gao <liming.gao@intel.com>
2020-02-01Features/Intel: Add a Performance Impact section to Readme.md filesMichael Kubacki1-0/+8
REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2417 Performance impact is an important consideration for feature integration. This new section captures the general expectation for overall boot performance impact due to using an advanced feature. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Sai Chaganty <rangasai.v.chaganty@intel.com> Cc: Chasel Chiu <chasel.chiu@intel.com> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Chasel Chiu <chasel.chiu@intel.com> Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com>
2019-12-07Features/Intel/UserAuthFeaturePkg: Add initial packageMichael Kubacki32-0/+4521
Adds a new feature package for the User Authentication feature. Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>
2019-12-07Features/Intel/UserInterface: Add Readme.mdMichael Kubacki1-0/+9
Adds the Readme.md file to briefly explain the types of features supported in the UserInterface feature domain directory. Cc: Sai Chaganty <rangasai.v.chaganty@intel.com> Cc: Liming Gao <liming.gao@intel.com> Signed-off-by: Michael Kubacki <michael.a.kubacki@intel.com> Reviewed-by: Sai Chaganty <rangasai.v.chaganty@intel.com> Reviewed-by: Nate DeSimone <nathaniel.l.desimone@intel.com>