* [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive @ 2022-07-25 17:12 Benjamin Doron 2022-07-25 17:12 ` [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions " Benjamin Doron ` (3 more replies) 0 siblings, 4 replies; 9+ messages in thread From: Benjamin Doron @ 2022-07-25 17:12 UTC (permalink / raw) To: devel Cc: Sai Chaganty, Isaac Oram, Nate DeSimone, Ankit Sinha, Liming Gao, Eric Dong The DXE and SMM versions of AcpiDebug perform the same task and are therefore mutually exclusive. Including both modules results in a duplicate ACPI table, resulting in the feature not working at all. Therefore, add a new PCD to determine which module will be included. Now, either version successfully write to the debug buffer. 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: Ankit Sinha <ankit.sinha@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Eric Dong <eric.dong@intel.com> Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 1 + Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 1 + Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c | 4 ++++ Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec | 1 + Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc | 3 +++ Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf | 7 +++++-- 6 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 28530b8c674b..908fe4d1f7a9 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -48,6 +48,7 @@ # Debugging features # gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable |TRUE + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion |FALSE gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable |TRUE gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable |TRUE gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable |TRUE diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index e214175edaf7..d59e3e61b9b9 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -59,6 +59,7 @@ # [PcdsFeatureFlag] gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable |FALSE + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion |FALSE gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable |FALSE gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable |FALSE gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable |FALSE diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c index 4caeffc7dec9..0b28e2f7a6d5 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c @@ -483,6 +483,10 @@ InitializeAcpiDebugSmm ( EFI_SMM_BASE2_PROTOCOL *SmmBase2; BOOLEAN InSmm; + if (!PcdGetBool (PcdAcpiDebugFeatureActive)) { + return EFI_SUCCESS; + } + Status = gBS->LocateProtocol (&gEfiSmmBase2ProtocolGuid, NULL, (VOID **) &SmmBase2); ASSERT_EFI_ERROR (Status); if (EFI_ERROR (Status)) { diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec index 915923100731..1a290bab29d9 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec @@ -28,6 +28,7 @@ [PcdsFeatureFlag] gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLEAN|0xA0000001 + gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion|FALSE|BOOLEAN|0xA0000002 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] ## This PCD specifies the ACPI debug message buffer size. diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc index f5b8bacee039..684549bbdd78 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc @@ -54,5 +54,8 @@ # in the package build. # Add components here that should be included in the package build. +!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion == FALSE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf +!else AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf +!endif diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf index 855826292cb5..e904a2f8fbf2 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf @@ -7,5 +7,8 @@ # ## -INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf -INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf +!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion == FALSE + INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf +!else + INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf +!endif -- 2.36.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions are mutually exclusive 2022-07-25 17:12 [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive Benjamin Doron @ 2022-07-25 17:12 ` Benjamin Doron 2022-08-08 22:51 ` Oram, Isaac W 2022-07-25 17:12 ` [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT Benjamin Doron ` (2 subsequent siblings) 3 siblings, 1 reply; 9+ messages in thread From: Benjamin Doron @ 2022-07-25 17:12 UTC (permalink / raw) To: devel Cc: Sai Chaganty, Isaac Oram, Nate DeSimone, Ankit Sinha, Liming Gao, Dandan Bi Versions of the DXE module perform nearly identical functions, and are therefore mutually exclusive. Including both modules results in at least a duplicate HII package and an "already started" assert. Therefore, add a new PCD to determine which module will be included. However, now a second bug can be seen: version 2 does not challenge for the password. An RSC handler to hook UiApp entry is probably needed, as in version 1. 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: Ankit Sinha <ankit.sinha@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 1 + Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 1 + Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf | 9 ++++++--- Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc | 3 +++ Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec | 3 ++- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 908fe4d1f7a9..8924dadcaa18 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -79,6 +79,7 @@ # gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable |TRUE gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |TRUE + gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable |TRUE # diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index d59e3e61b9b9..5365f0a1b844 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -75,6 +75,7 @@ gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable |FALSE gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |FALSE + gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable |FALSE # diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf index 030dcbe763d8..827deb08de7e 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf @@ -7,6 +7,9 @@ # ## -INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf -INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf -INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf +!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 == TRUE + INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf +!else + INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf +!endif + INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc index 2f39a5580caf..022678d5c852 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc @@ -72,6 +72,9 @@ UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf # Add components here that should be included in the package build. +!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 == TRUE UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf +!else UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf +!endif UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec index a9174edd5486..209a0ba6a6c7 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec @@ -38,8 +38,9 @@ gUserAuthenticationGuid = { 0xee24a7f7, 0x606b, 0x4724, { 0xb3, 0xc9, 0xf5, 0xae, 0x4a, 0x3b, 0x81, 0x65}} [PcdsFeatureFlag] - ## This PCD specifies whether StatusCode is reported via USB3 Serial port. + ## This PCD specifies whether user authentication feature is enabled. gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable|FALSE|BOOLEAN|0xA0000001 + gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1|FALSE|BOOLEAN|0xA0000002 [PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx] ## Indicate whether the password is cleared. -- 2.36.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions are mutually exclusive 2022-07-25 17:12 ` [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions " Benjamin Doron @ 2022-08-08 22:51 ` Oram, Isaac W 2022-08-09 17:09 ` Benjamin Doron 0 siblings, 1 reply; 9+ messages in thread From: Oram, Isaac W @ 2022-08-08 22:51 UTC (permalink / raw) To: Benjamin Doron, devel@edk2.groups.io Cc: Chaganty, Rangasai V, Desimone, Nathaniel L, Sinha, Ankit, Gao, Liming, Bi, Dandan Benjamin, Can you update the readme with descriptions of the modules and their functionality? Can you comment the PcdUseVersion1 declaration in the DEC file? If you can think of a more descriptive name than "version 1", that would be better. Note that convention (maybe requirement) is to preface non-edk2 repo changes with the mailing list and repo info [edk2-devel][edk2-platforms] so that rules can filter more easily. And multi-commit reviews should have a cover-letter enabled as well so you can provide an overview of the patch series. Here is the command I use: git format-patch -M --thread origin/master --cover-letter --subject-prefix="edk2-devel][edk2-platforms][PATCH V1" Regards, Isaac -----Original Message----- From: Benjamin Doron <benjamin.doron00@gmail.com> Sent: Monday, July 25, 2022 10:12 AM To: devel@edk2.groups.io Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Sinha, Ankit <ankit.sinha@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Bi, Dandan <dandan.bi@intel.com> Subject: [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions are mutually exclusive Versions of the DXE module perform nearly identical functions, and are therefore mutually exclusive. Including both modules results in at least a duplicate HII package and an "already started" assert. Therefore, add a new PCD to determine which module will be included. However, now a second bug can be seen: version 2 does not challenge for the password. An RSC handler to hook UiApp entry is probably needed, as in version 1. 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: Ankit Sinha <ankit.sinha@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Dandan Bi <dandan.bi@intel.com> Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 1 + Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 1 + Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf | 9 ++++++--- Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc | 3 +++ Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec | 3 ++- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 908fe4d1f7a9..8924dadcaa18 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -79,6 +79,7 @@ # gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable |TRUE gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |TRUE+ gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable |TRUE #diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index d59e3e61b9b9..5365f0a1b844 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -75,6 +75,7 @@ gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable |FALSE gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |FALSE+ gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable |FALSE #diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf index 030dcbe763d8..827deb08de7e 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory +++ .fdf @@ -7,6 +7,9 @@ # ## -INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf-INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf-INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 == TRUE+ INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf+!else+ INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf+!endif+ INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.infdiff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc index 2f39a5580caf..022678d5c852 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFe +++ ature.dsc @@ -72,6 +72,9 @@ UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf # Add components here that should be included in the package build.+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 == TRUE UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf+!else UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf+!endif UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.infdiff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec index a9174edd5486..209a0ba6a6c7 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg +++ .dec @@ -38,8 +38,9 @@ gUserAuthenticationGuid = { 0xee24a7f7, 0x606b, 0x4724, { 0xb3, 0xc9, 0xf5, 0xae, 0x4a, 0x3b, 0x81, 0x65}} [PcdsFeatureFlag]- ## This PCD specifies whether StatusCode is reported via USB3 Serial port.+ ## This PCD specifies whether user authentication feature is enabled. gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable|FALSE|BOOLEAN|0xA0000001+ gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1|FALSE|BOOLEAN|0xA0000002 [PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx] ## Indicate whether the password is cleared.-- 2.36.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions are mutually exclusive 2022-08-08 22:51 ` Oram, Isaac W @ 2022-08-09 17:09 ` Benjamin Doron 2022-08-16 21:26 ` Oram, Isaac W 0 siblings, 1 reply; 9+ messages in thread From: Benjamin Doron @ 2022-08-09 17:09 UTC (permalink / raw) To: Oram, Isaac W Cc: devel@edk2.groups.io, Chaganty, Rangasai V, Desimone, Nathaniel L, Sinha, Ankit, Gao, Liming, Bi, Dandan [-- Attachment #1: Type: text/plain, Size: 7448 bytes --] Hi Isaac, >From memory, the primary difference between the versions of this module is that v2 uses helper libraries to perform some of the functions in UserAuthenticationDxePassword.c and the HII helpers in UserAuthenticationDxe.c. There are other differences, at least including the handler to challenge for the admin password that should be ported or implemented for v2, but I think only one DXE module version is necessary to be in the tree. We can drop this commit and I can work on improving v2 and deprecating v1 - as was my plan, because v2 needs to challenge for the password - but not at the moment. Unless v1's implementation is preferred? Sorry about the subject prefix. I see that patch 1/3 is in. I think I'll work on 2/3 later and 3/3 separately. Best regards, Benjamin On Mon, 8 Aug 2022 at 18:51, Oram, Isaac W <isaac.w.oram@intel.com> wrote: > Benjamin, > > Can you update the readme with descriptions of the modules and their > functionality? > Can you comment the PcdUseVersion1 declaration in the DEC file? > If you can think of a more descriptive name than "version 1", that would > be better. > > Note that convention (maybe requirement) is to preface non-edk2 repo > changes with the mailing list and repo info [edk2-devel][edk2-platforms] so > that rules can filter more easily. And multi-commit reviews should have a > cover-letter enabled as well so you can provide an overview of the patch > series. > Here is the command I use: git format-patch -M --thread origin/master > --cover-letter --subject-prefix="edk2-devel][edk2-platforms][PATCH V1" > > Regards, > Isaac > > -----Original Message----- > From: Benjamin Doron <benjamin.doron00@gmail.com> > Sent: Monday, July 25, 2022 10:12 AM > To: devel@edk2.groups.io > Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Oram, Isaac W < > isaac.w.oram@intel.com>; Desimone, Nathaniel L < > nathaniel.l.desimone@intel.com>; Sinha, Ankit <ankit.sinha@intel.com>; > Gao, Liming <gaoliming@byosoft.com.cn>; Bi, Dandan <dandan.bi@intel.com> > Subject: [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions are > mutually exclusive > > Versions of the DXE module perform nearly identical functions, and are > therefore mutually exclusive. Including both modules results in at least a > duplicate HII package and an "already started" assert. > > Therefore, add a new PCD to determine which module will be included. > However, now a second bug can be seen: version 2 does not challenge for > the password. An RSC handler to hook UiApp entry is probably needed, as in > version 1. > > 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: Ankit Sinha <ankit.sinha@intel.com> > Cc: Liming Gao <gaoliming@byosoft.com.cn> > Cc: Dandan Bi <dandan.bi@intel.com> > Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> > --- > Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > | 1 + > Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > | 1 + > Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf > | 9 ++++++--- > Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc > | 3 +++ > Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec > | 3 ++- > 5 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > index 908fe4d1f7a9..8924dadcaa18 100644 > --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc > @@ -79,6 +79,7 @@ > # gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable > |TRUE > gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable > |TRUE+ gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 > |FALSE > gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable > |TRUE #diff --git > a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > index d59e3e61b9b9..5365f0a1b844 100644 > --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc > @@ -75,6 +75,7 @@ > gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable > |FALSE > gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable > |FALSE+ gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 > |FALSE > gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable > |FALSE #diff --git > a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf > b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf > index 030dcbe763d8..827deb08de7e 100644 > --- > a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf > +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory > +++ .fdf > @@ -7,6 +7,9 @@ > # ## -INF > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf-INF > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf-INF > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf+!if > gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 == TRUE+ INF > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf+!else+ > INF > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf+!endif+ > INF > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.infdiff > --git > a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc > b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc > index 2f39a5580caf..022678d5c852 100644 > --- > a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc > +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFe > +++ ature.dsc > @@ -72,6 +72,9 @@ > UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf # > Add components here that should be included in the package build.+!if > gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 == TRUE > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf+!else > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf+!endif > UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.infdiff > --git > a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec > b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec > index a9174edd5486..209a0ba6a6c7 100644 > --- > a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec > +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg > +++ .dec > @@ -38,8 +38,9 @@ > gUserAuthenticationGuid = { 0xee24a7f7, 0x606b, 0x4724, { 0xb3, 0xc9, > 0xf5, 0xae, 0x4a, 0x3b, 0x81, 0x65}} [PcdsFeatureFlag]- ## This PCD > specifies whether StatusCode is reported via USB3 Serial port.+ ## This > PCD specifies whether user authentication feature is enabled. > gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable|FALSE|BOOLEAN|0xA0000001+ > gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1|FALSE|BOOLEAN|0xA0000002 > [PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx] ## > Indicate whether the password is cleared.-- > 2.36.1 > > [-- Attachment #2: Type: text/html, Size: 9367 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions are mutually exclusive 2022-08-09 17:09 ` Benjamin Doron @ 2022-08-16 21:26 ` Oram, Isaac W 0 siblings, 0 replies; 9+ messages in thread From: Oram, Isaac W @ 2022-08-16 21:26 UTC (permalink / raw) To: Benjamin Doron Cc: devel@edk2.groups.io, Chaganty, Rangasai V, Desimone, Nathaniel L, Sinha, Ankit, Gao, Liming, Bi, Dandan, Chiu, Chasel [-- Attachment #1: Type: text/plain, Size: 9030 bytes --] I am not aware of any preference between the drivers. Your plan makes sense to me. I will defer to Sai or Chasel if they know more history and use. Also, please make sure that "build -a IA32 -a X64 -p UserInterface\UserAuthFeaturePkg\UserAuthFeaturePkg.dsc" and "build -a IA32 -a X64 -p AdvancedFeaturePkg\AdvancedFeaturePkg.dsc" complete successfully. Adding the following to UserAuthFeaturePkg.dsc seemed to work for me. [Packages] UserAuthFeaturePkg/UserAuthFeaturePkg.dec [PcdsFeatureFlag] gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE Regards, Isaac From: Benjamin Doron <benjamin.doron00@gmail.com> Sent: Tuesday, August 9, 2022 10:09 AM To: Oram, Isaac W <isaac.w.oram@intel.com> Cc: devel@edk2.groups.io; Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Sinha, Ankit <ankit.sinha@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Bi, Dandan <dandan.bi@intel.com> Subject: Re: [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions are mutually exclusive Hi Isaac, From memory, the primary difference between the versions of this module is that v2 uses helper libraries to perform some of the functions in UserAuthenticationDxePassword.c and the HII helpers in UserAuthenticationDxe.c. There are other differences, at least including the handler to challenge for the admin password that should be ported or implemented for v2, but I think only one DXE module version is necessary to be in the tree. We can drop this commit and I can work on improving v2 and deprecating v1 - as was my plan, because v2 needs to challenge for the password - but not at the moment. Unless v1's implementation is preferred? Sorry about the subject prefix. I see that patch 1/3 is in. I think I'll work on 2/3 later and 3/3 separately. Best regards, Benjamin On Mon, 8 Aug 2022 at 18:51, Oram, Isaac W <isaac.w.oram@intel.com<mailto:isaac.w.oram@intel.com>> wrote: Benjamin, Can you update the readme with descriptions of the modules and their functionality? Can you comment the PcdUseVersion1 declaration in the DEC file? If you can think of a more descriptive name than "version 1", that would be better. Note that convention (maybe requirement) is to preface non-edk2 repo changes with the mailing list and repo info [edk2-devel][edk2-platforms] so that rules can filter more easily. And multi-commit reviews should have a cover-letter enabled as well so you can provide an overview of the patch series. Here is the command I use: git format-patch -M --thread origin/master --cover-letter --subject-prefix="edk2-devel][edk2-platforms][PATCH V1" Regards, Isaac -----Original Message----- From: Benjamin Doron <benjamin.doron00@gmail.com<mailto:benjamin.doron00@gmail.com>> Sent: Monday, July 25, 2022 10:12 AM To: devel@edk2.groups.io<mailto:devel@edk2.groups.io> Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com<mailto:rangasai.v.chaganty@intel.com>>; Oram, Isaac W <isaac.w.oram@intel.com<mailto:isaac.w.oram@intel.com>>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com<mailto:nathaniel.l.desimone@intel.com>>; Sinha, Ankit <ankit.sinha@intel.com<mailto:ankit.sinha@intel.com>>; Gao, Liming <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>>; Bi, Dandan <dandan.bi@intel.com<mailto:dandan.bi@intel.com>> Subject: [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions are mutually exclusive Versions of the DXE module perform nearly identical functions, and are therefore mutually exclusive. Including both modules results in at least a duplicate HII package and an "already started" assert. Therefore, add a new PCD to determine which module will be included. However, now a second bug can be seen: version 2 does not challenge for the password. An RSC handler to hook UiApp entry is probably needed, as in version 1. Cc: Sai Chaganty <rangasai.v.chaganty@intel.com<mailto:rangasai.v.chaganty@intel.com>> Cc: Isaac Oram <isaac.w.oram@intel.com<mailto:isaac.w.oram@intel.com>> Cc: Nate DeSimone <nathaniel.l.desimone@intel.com<mailto:nathaniel.l.desimone@intel.com>> Cc: Ankit Sinha <ankit.sinha@intel.com<mailto:ankit.sinha@intel.com>> Cc: Liming Gao <gaoliming@byosoft.com.cn<mailto:gaoliming@byosoft.com.cn>> Cc: Dandan Bi <dandan.bi@intel.com<mailto:dandan.bi@intel.com>> Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com<mailto:benjamin.doron00@gmail.com>> --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 1 + Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 1 + Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf | 9 ++++++--- Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc | 3 +++ Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec | 3 ++- 5 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 908fe4d1f7a9..8924dadcaa18 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -79,6 +79,7 @@ # gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable |TRUE gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |TRUE+ gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable |TRUE #diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index d59e3e61b9b9..5365f0a1b844 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -75,6 +75,7 @@ gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable |FALSE gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |FALSE+ gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable |FALSE #diff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf index 030dcbe763d8..827deb08de7e 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/PostMemory +++ .fdf @@ -7,6 +7,9 @@ # ## -INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf-INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf-INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.inf+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 == TRUE+ INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf+!else+ INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf+!endif+ INF UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.infdiff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc index 2f39a5580caf..022678d5c852 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFeature.dsc +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/Include/UserAuthFe +++ ature.dsc @@ -72,6 +72,9 @@ UserAuthFeaturePkg/Library/UserPasswordUiLib/UserPasswordUiLib.inf # Add components here that should be included in the package build.+!if gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 == TRUE UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationDxe.inf+!else UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthentication2Dxe.inf+!endif UserAuthFeaturePkg/UserAuthenticationDxeSmm/UserAuthenticationSmm.infdiff --git a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec index a9174edd5486..209a0ba6a6c7 100644 --- a/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg.dec +++ b/Features/Intel/UserInterface/UserAuthFeaturePkg/UserAuthFeaturePkg +++ .dec @@ -38,8 +38,9 @@ gUserAuthenticationGuid = { 0xee24a7f7, 0x606b, 0x4724, { 0xb3, 0xc9, 0xf5, 0xae, 0x4a, 0x3b, 0x81, 0x65}} [PcdsFeatureFlag]- ## This PCD specifies whether StatusCode is reported via USB3 Serial port.+ ## This PCD specifies whether user authentication feature is enabled. gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable|FALSE|BOOLEAN|0xA0000001+ gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1|FALSE|BOOLEAN|0xA0000002 [PcdsFixedAtBuild,PcdsPatchableInModule,PcdsDynamic,PcdsDynamicEx] ## Indicate whether the password is cleared.-- 2.36.1 [-- Attachment #2: Type: text/html, Size: 14846 bytes --] ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT 2022-07-25 17:12 [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive Benjamin Doron 2022-07-25 17:12 ` [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions " Benjamin Doron @ 2022-07-25 17:12 ` Benjamin Doron 2022-08-09 17:51 ` Oram, Isaac W 2022-08-08 19:21 ` [edk2-devel] [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive Oram, Isaac W [not found] ` <170974F020AA914C.7247@groups.io> 3 siblings, 1 reply; 9+ messages in thread From: Benjamin Doron @ 2022-07-25 17:12 UTC (permalink / raw) To: devel Cc: Sai Chaganty, Isaac Oram, Nate DeSimone, Ankit Sinha, Eric Dong, Dandan Bi, Liming Gao In MinPlatform, FSP-S displays the logo to the user early. However, this means that no BGRT is written either. To reduce duplication in the flash image, a new LogoDxe will set this BMP as the BGRT buffer. The previous LogoDxe drivers here, along with a BootLogoEnableLogo() patch to BDS libraries, would begin displaying the Intel logo over the board FDF's choice - presently, these are the TianoCore logo. Also begin using BootLogoUpdateProgress(). Tested on KabylakeOpenBoardPkg, the boot logo becomes also a BGRT logo. A follow-up patch can be considered to set all platforms to use Intel's logo. 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: Ankit Sinha <ankit.sinha@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> --- Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 8 - Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc | 6 +- Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf | 6 +- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf | 10 -- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf | 52 ------ Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c | 183 +++++++------------- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf | 10 -- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg | Bin 9741 -> 0 bytes Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf | 24 ++- Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec | 2 +- Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc | 3 - Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c | 3 +- Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf | 1 + Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c | 31 ++++ Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf | 5 + Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc | 1 + 16 files changed, 120 insertions(+), 225 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index 5365f0a1b844..da663f5c833f 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -77,11 +77,3 @@ gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |FALSE gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable |FALSE - -# -# There seems to be some build parsing odd behavior that requires this PCD to be specified even though -# the *.fdf that consumes it is dependent on the feature flag. -# This section is to ensure that boards have these PCD instantiated. -# -[PcdsFeatureFlag] - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable |FALSE diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc index 0acce1c7dfaf..3e990a84f8ec 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc +++ b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc @@ -47,8 +47,4 @@ # @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308 # is completed. [Components.X64] - !if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE - LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf - !else - LogoFeaturePkg/LogoDxe/LogoDxe.inf - !endif + LogoFeaturePkg/LogoDxe/LogoDxe.inf diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf index fead9f3b0298..f8e368434f72 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf @@ -6,8 +6,4 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent # ## -!if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE - INF LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf -!else - INF LogoFeaturePkg/LogoDxe/LogoDxe.inf -!endif +INF LogoFeaturePkg/LogoDxe/LogoDxe.inf diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf deleted file mode 100644 index a39500e043e3..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf +++ /dev/null @@ -1,10 +0,0 @@ -// /** @file -// Platform Logo image definition file. -// -// Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> -// -// SPDX-License-Identifier: BSD-2-Clause-Patent -// -// **/ - -#image IMG_LOGO Logo.jpg diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf deleted file mode 100644 index 47f1672a4c07..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf +++ /dev/null @@ -1,52 +0,0 @@ -## @file -# The default logo JPEG picture shown on setup screen. -# -# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> -# -# SPDX-License-Identifier: BSD-2-Clause-Patent -# -# -## - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = JpegLogoDxe - FILE_GUID = 319CFE1D-8F15-4A7A-BF40-EECA953D87EF - MODULE_TYPE = DXE_DRIVER - VERSION_STRING = 1.0 - - ENTRY_POINT = InitializeLogo -# -# This flag specifies whether HII resource section is generated into PE image. -# - UEFI_HII_RESOURCE_SECTION = TRUE - -# -# The following information is for reference only and not required by the build tools. -# -# VALID_ARCHITECTURES = IA32 X64 -# - -[Sources] - Logo.jpg - Logo.c - JpegLogo.idf - -[Packages] - MdePkg/MdePkg.dec - MdeModulePkg/MdeModulePkg.dec - -[LibraryClasses] - UefiBootServicesTableLib - UefiDriverEntryPoint - DebugLib - -[Protocols] - gEfiHiiDatabaseProtocolGuid ## CONSUMES - gEfiHiiImageExProtocolGuid ## CONSUMES - gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES - gEdkiiPlatformLogoProtocolGuid ## PRODUCES - -[Depex] - gEfiHiiDatabaseProtocolGuid AND - gEfiHiiImageExProtocolGuid diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c index a636b086caf6..29b913c5bda5 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c @@ -6,88 +6,26 @@ SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include <Uefi.h> -#include <Protocol/HiiDatabase.h> -#include <Protocol/GraphicsOutput.h> -#include <Protocol/HiiImageEx.h> -#include <Protocol/PlatformLogo.h> -#include <Protocol/HiiPackageList.h> #include <Library/UefiBootServicesTableLib.h> #include <Library/DebugLib.h> - -typedef struct { - EFI_IMAGE_ID ImageId; - EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE Attribute; - INTN OffsetX; - INTN OffsetY; -} LOGO_ENTRY; - -EFI_HII_IMAGE_EX_PROTOCOL *mHiiImageEx; -EFI_HII_HANDLE mHiiHandle; -LOGO_ENTRY mLogos[] = { - { - IMAGE_TOKEN (IMG_LOGO), - EdkiiPlatformLogoDisplayAttributeCenter, - 0, - 0 - } -}; - -/** - Load a platform logo image and return its data and attributes. - - @param This The pointer to this protocol instance. - @param Instance The visible image instance is found. - @param Image Points to the image. - @param Attribute The display attributes of the image returned. - @param OffsetX The X offset of the image regarding the Attribute. - @param OffsetY The Y offset of the image regarding the Attribute. - - @retval EFI_SUCCESS The image was fetched successfully. - @retval EFI_NOT_FOUND The specified image could not be found. -**/ -EFI_STATUS -EFIAPI -GetImage ( - IN EDKII_PLATFORM_LOGO_PROTOCOL *This, - IN OUT UINT32 *Instance, - OUT EFI_IMAGE_INPUT *Image, - OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute, - OUT INTN *OffsetX, - OUT INTN *OffsetY - ) -{ - UINT32 Current; - if (Instance == NULL || Image == NULL || - Attribute == NULL || OffsetX == NULL || OffsetY == NULL) { - return EFI_INVALID_PARAMETER; - } - - Current = *Instance; - if (Current >= ARRAY_SIZE (mLogos)) { - return EFI_NOT_FOUND; - } - - (*Instance)++; - *Attribute = mLogos[Current].Attribute; - *OffsetX = mLogos[Current].OffsetX; - *OffsetY = mLogos[Current].OffsetY; - return mHiiImageEx->GetImageEx (mHiiImageEx, mHiiHandle, mLogos[Current].ImageId, Image); -} - -EDKII_PLATFORM_LOGO_PROTOCOL mPlatformLogo = { - GetImage -}; +#include <Library/BmpSupportLib.h> +#include <Library/DxeServicesLib.h> +#include <Library/MemoryAllocationLib.h> +#include <Protocol/BootLogo2.h> +#include <Protocol/GraphicsOutput.h> /** Entrypoint of this module. - This function is the entrypoint of this module. It installs the Edkii - Platform Logo protocol. + This function is the entrypoint of this module. It prepares the BGRT + blit-buffer. @param ImageHandle The firmware allocated handle for the EFI image. @param SystemTable A pointer to the EFI System Table. @retval EFI_SUCCESS The entry point is executed successfully. + @retval EFI_UNSUPPORTED A dependency is unavailable. + @retval EFI_NOT_FOUND Failed to find the logo. **/ EFI_STATUS @@ -97,57 +35,70 @@ InitializeLogo ( IN EFI_SYSTEM_TABLE *SystemTable ) { - EFI_STATUS Status; - EFI_HII_PACKAGE_LIST_HEADER *PackageList; - EFI_HII_DATABASE_PROTOCOL *HiiDatabase; - EFI_HANDLE Handle; - - Status = gBS->LocateProtocol ( - &gEfiHiiDatabaseProtocolGuid, - NULL, - (VOID **) &HiiDatabase - ); - ASSERT_EFI_ERROR (Status); - - Status = gBS->LocateProtocol ( - &gEfiHiiImageExProtocolGuid, - NULL, - (VOID **) &mHiiImageEx - ); - ASSERT_EFI_ERROR (Status); + EFI_STATUS Status; + EDKII_BOOT_LOGO2_PROTOCOL *BootLogo2; + EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput; + UINT32 SizeOfX; + UINT32 SizeOfY; + VOID *BmpAddress; + UINTN BmpSize; + EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Blt; + UINTN BltSize; + UINTN Height; + UINTN Width; + INTN DestX; + INTN DestY; // - // Retrieve HII package list from ImageHandle + // MinPlatform has the FSP draw the logo. + // Build a blit-buffer for a bitmap here and set it for a BGRT. // - Status = gBS->OpenProtocol ( - ImageHandle, - &gEfiHiiPackageListProtocolGuid, - (VOID **) &PackageList, - ImageHandle, - NULL, - EFI_OPEN_PROTOCOL_GET_PROTOCOL - ); + Status = gBS->LocateProtocol (&gEdkiiBootLogo2ProtocolGuid, NULL, (VOID **)&BootLogo2); if (EFI_ERROR (Status)) { - DEBUG ((DEBUG_ERROR, "HII Image Package with logo not found in PE/COFF resource section\n")); - return Status; + return EFI_UNSUPPORTED; } - // - // Publish HII package list to HII Database. - // - Status = HiiDatabase->NewPackageList ( - HiiDatabase, - PackageList, - NULL, - &mHiiHandle - ); - if (!EFI_ERROR (Status)) { - Handle = NULL; - Status = gBS->InstallMultipleProtocolInterfaces ( - &Handle, - &gEdkiiPlatformLogoProtocolGuid, &mPlatformLogo, - NULL - ); + // Determine BGRT display offsets + Status = gBS->HandleProtocol (gST->ConsoleOutHandle, &gEfiGraphicsOutputProtocolGuid, (VOID **)&GraphicsOutput); + if (EFI_ERROR (Status)) { + return EFI_UNSUPPORTED; } + + SizeOfX = GraphicsOutput->Mode->Info->HorizontalResolution; + SizeOfY = GraphicsOutput->Mode->Info->VerticalResolution; + + Status = GetSectionFromAnyFv ( + &gTianoLogoGuid, + EFI_SECTION_RAW, + 0, + &BmpAddress, + &BmpSize + ); + if (EFI_ERROR (Status)) { + return EFI_NOT_FOUND; + } + + // Allocates pool for blit-buffer + Status = TranslateBmpToGopBlt ( + BmpAddress, + BmpSize, + &Blt, + &BltSize, + &Height, + &Width + ); + ASSERT_EFI_ERROR (Status); + + // EdkiiPlatformLogoDisplayAttributeCenter + DestX = (SizeOfX - Width) / 2; + DestY = (SizeOfY - Height) / 2; + + Status = BootLogo2->SetBootLogo (BootLogo2, Blt, DestX, DestY, Width, Height); + + // SetBootLogo() allocates a copy pool, so free this. + if (Blt != NULL) { + FreePool (Blt); + } + return Status; } diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf deleted file mode 100644 index fd9c4898156d..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf +++ /dev/null @@ -1,10 +0,0 @@ -// /** @file -// Platform Logo image definition file. -// -// Copyright (c) 2020, Intel Corporation. All rights reserved.<BR> -// -// SPDX-License-Identifier: BSD-2-Clause-Patent -// -// **/ - -#image IMG_LOGO Logo.bmp diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg deleted file mode 100644 index 32de8a5532c9a75ab23ffc9c59a8e8c3e4ea4a27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9741 zcmbVy3p`X?-~Sqeaj7QB{W6MD9hakokWEf5IU3!lB&Qs=BwZ+F%oZmpF<nWW8l_UH z<d&kE<W3I7Au2OSk=qO!o0-}BzedmVzUO)V=bZO>-|^Xd#@KtWwSKqn_xD|hw*(K& zUgP5K0!Snh_zC_1q6>tqjt&h1z|#{f0RSifS&}x8gP%z7a3JaY*Jl^fB0!%0UIzZr z0>Cp+fyY{Sz%LHX0D#>0&-cAMLia?P?Fo!Duryn0X0Z&8^bR-!88|SBBt6SWU$SKB zSx#1#EGsW3FF$=y6cywtiWGTy1!V<ACFu)(nxU*TL;8#KA>VG5kt37klqm9)=}Z1s zC*lQAQ2^1T@5v+;AfrMetB{BaK!a<Lo1UI@;nOdY3|UrAo&u+#3@<2}4W~~g!%54* z8N;h%;opI*irk!e7Ebc2>vmA)@0+{y=$UH@hO6?*)YiY|8!g+pKVDHuT|-k#d%;5E zMT?hMF1NC_Sz+t^!)g~-H}^FgHg59v*}P?Iz|Vm}!6Bi$4n#&BJQRKSNWw425|1aH zIC=Km`3q_37c(wh&$@B*R`%^Xck>Ghiyjp}ep2$XyrQzIx~8`7O>@idt!;1HJG#1i zKK6e4+}Hm_FgiB=RXBl7PD$5A0_1PYg6BV77c>G%M(P8KbX_EwL+~K0$jZ&Lke}nU zj<RE)>infg73Quwb1kn-(Qw&%zS_?Hua(q|EV~v6q)VG#*?+dM`2W+&{%c|Xy{-;0 zgG_?XBdY)eV6H+n0>ry9f1?$S4BqdGNOf2#$W0mi8h&7iyQ}#1*Y9kGnrojwF7``a zkn^zaha0^tqaHF~_Lg;OeYAHjKfi2-=bF0*K9!uxOfOxrdW(&9zR&MpQ2ppT<MBNX zl%7{X?s4T^y=zzny$6oD8aJ*{J+v=J?dc`&lW*QVqx%xzxH7YbHoguwA^@+4PJoZv zQxRB#y*UAp9F*rpfZpKGT*30r`Dl}w1_8i*0@Rn|x~3un^tCH?jsOWM2mwxq5FlyU zO9G5d72|SL+?)1qw=~u+!Gn<|$4r?xC9nwm@omsSiP?zK&``SCwrCAuB&OFxr41as z6yyIP1XtuYwB|(3yj$YZ{M0+I^qy1i36C>{mPv~Bz;UHBu4hL8IZp!I2*sOdSkTu- ze03)IPrs#71;M|FH}TBXc5Rmvv?WH()bM>BrFd_73eCG9CM-w!_O@yh)zt>nxwpU6 z)x21mf7;RDBxwBOME`r*)V@-D=3Ge<XD0zVHsFfIJrR1$*JwTsS^!R+t-Jg?Wxs%` zPEvD`@9l6O*Vi{T&+)zO*J?0YS4Qg4b~Ok*VL-dX<@a;31?dt)x)3Emx%D*yjG6-4 zpMHzZjs#vLN7^GU-;F)#$|~oIlF|N-QO<p_1p&^|6bY~o86RvMqxH`ufN{by0z5{h zSZ-5mo{x*SEh0}A=kf|9ng4EkxFl-Z2(~mEUw^r0L}V@TAprf79zf|Wz>6ZFK<mOK zp1*~^;R^TaFC{>8Z!cgFz)=p&mCom1-)PMfVyz7XSd=fAko+p2Lx5W=XT>4@x8W$f zSyIQ7h3{}hRd|H}i-9wakl1ba`N~N|MxDEmVPpJC1|A@p$N9()LMPzZ>-uT#KAr63 zV*s`KDpp4e|9wC>JZVZo0QrpssN2AZB|s1X?h>GX%sG?VKLtm`4Pac~^B+CW?eN8a zBUkxPF`i~p*?s>Kf&X+Yd5Q_+c?sI9zTJTU1#!Ql<JH%iC<9;NFk(`Zbo7JxY{@MI zM*Hzjy<-0HI8F#nr|*d8RRZMqA3;uznBMPt-}~<8eKl(P2Vd=#_n32d;WLK$?BKWB zN{Koe-m`rQ1J>_bGdx^tdEs67WGUO?;$FIZ5LUZWFu6y+Xp8Tq16gbLA9Vk&Ze4i0 z(S^<v3-T>FUHJqEBfykx;|T=w+eH%}DJH<y$60s+%+PiiG_D$AXLJ?;`sl|9@bU;E zjzh}>@iqdCN3rLi{E`*~`$`+|nTs|>MTm6}+zsj0!445%6~i1?eGPM-YLzQ1`m@}W z{KFuNpGysbLW4{~gN#d{CD7R@-`jk0O~jBX0fI?A<`RePUX;f1|356GUXmba*#%@Y z*_?*9zu3i@3TWyhf1P#^nD&Lk2&{ts1SorkJUT8`OXsQQiB{vku~naI^pz}3?onpV z{IC^!x3wkw!PPH1z8<$CeSMXGv6%ZbNoJc>@7|3-5lkVt!5#RNTLgH`kgy5BzuSgP z(j9ftA!QgMC($x@B#0BY-9~a<93?2`#de<HQ7K=TMy;li>^Wg`{5-<~!WOjLQL4Q; z-}2`CpRQe*n+NhwohD5NIMRMX%N8TNlk6fytWL#MxmXa3#z2|~(B(&fKmvrLFQe}I zZ=EDSgvkHg$Jn&rJ|A?bG#h$n@x-FkIE2#170A)WYSwu2=RpDx;F$Ll7_vtI(yheC zmPAN28lfWzpmhHLOt*2;B-xR+j`;%RyEI~pg2i)h^+s@l=y7f5qIa*|St6)TGSX%y zlgWuP-A*FmhKa1BfoJwF&Ge%5Pn3;d7GvE(SvSiM3q(S^sW7IQHZo2C3Z@^v#-KBK z-@XI8-Sls%uy=tWdnafY8%#S)U0(`9sk>Sy?3gYs4w{vgfzMv<QgB2zu$VlWDYFIT z2UEp!3wWO{ALurZbFk(kmB}`w#o3|7LpQ#hCH?k;b(~Z4!^b9cpbf-NuzJ384{dNn zAT!ZLuVx*ann)14XIq(DB6C9bx4*BVy0p)a-;{S@$Auj=Mh6^qi~i>{jzq(`nB@js z$z8OD*+J9bgm7fU;TSFSdNcvL6FJ?U`fc8Vg?V}{R>d8sCe|6%>!0t-|K)<S+##<Q zaj(92qofm{LJi?><W8Bh3kZO#ZT(Du#eL*ad1+yi`IL|u*14qhKEt{zcFx%PmWb@l zCXpiLpi5yVG`rTRkb-wc0~t@ijAPdM^TQg&>SW=qhed*!)i1)3#Ez9bc~g(>)EvoW z1KQA*>mJd+qD;BQJ>w)HH69kA>X8olsj3wY^YBi5)|+8pNu;fL!k&>H|E&6zPa-N; zgVjBBY$-*^%F7RR(8E9Aiocs7@up!f52YzEbLSSzqTGdX4vvz$99~-^W}-1zl<gON z(mc+atumgxEhCD0Y${uL<Dy<`!<+A_dqfX)4^_`4@#Raeg<aKX-Sc!sx1aXF+7^@G zkciz8_dB%if83Dh>O#73lowBuk6SWb*ibr`A4nHpudjxcUON}RIBp9hObCBSoUIhF zsr@2+228K>TcSm<kZyudpnu$vmfJ!aBY;>f8DAGD@<7`;SUmxLJanEUc50%GOo%nB z31GdN0Q>3q=RWepbjF9Hy!VZmRgZ_{&Um=Fa74m+YP=7|KJG4y%V4nwbCsjdQ%li9 z@tRwLCEEhzdvq>N+Nc85^|>yedz_({xh0zZ(pD}l{bv88JK@>=CE<6SBEpo+T2gJA z<bLo1N|``j4){$&_oN6{(jkCso#YJkLpF^Pgn5YQj1}>tA=gmMRlI3uvikjNKf2E8 zc>mJ{t+J5Ik?Vh=xV(5l8HEf;$}Hk{ieaUU-^gsy;1;x1{h*!5-lz49ACY`Nyu;29 zU2A$QgJfKPhF)u8bWSJr-n~>F&B}{1@C^tTdqN<*j6)#IZh%0T{pB0=nKmhTh>96e z#40o)#Qpdu4A(Ss8FTS`&a6n^o2*K<N|A?EOjr=_a@fWik>Bg}I`uQ|#@#v7v~&-^ zuXA`;5WXw=))`kk-enWXZLjW9E4*qHhMI50j&^Il8QI1$+EK7~<6#B#^C=k{(FJ3p zxY*U-(3(<@@YfLlGh_|I!Y${-XLJM)QTcZ}-&HE^33%f$FPdpt)LJO4(tyd^VMrUR z+F=yC_wL)DNa9>rpM4QtD!Y&?o`dulF=t=}G6S76TW_Am%)8YycGU*vxIDdh#T^MQ z*;E#-m1>)1yQ79uYYDl;_&;IV<SB&dV3HK2SrDb$piRgadD>Yxo5QPPPp(d9aRzzI z{UsKCkr3V;X$Ty5GpASGzpz+xnE<Ca<JE^9X%%_^q7zzn3LT5|pMd;zm>Gwlw?U@D z;NXzufLo!&q1DEemlBYu8K89L`YAat8!!v#k{tC-McdFaH)MzZ+f{XTxgBjnHa|E1 z^W)<UMQ<W<f9y!9VBn*6i_|?%s2b{|EnQZ1z>#Ji>d%j&iD!#8w4(X`!bhAUm)M-x zDE`Q{&A#0EuO906y4ZEcIh0E-A-mb_8-%s|8&{W0($El^5;j6l2zeSYYe1#Z^s@Ep ztFsw3n!+t=Ywf%!H(~106yWMAQ2yGPs<@Id4AmaNrqtvvY}mnoVO#K6fRu|KcYUy< z%f<}v-k9q4<f!)d8A^e(EePNZ4JY_J{&pNIz?H(`Bj58iP8ONVU<0_)Og^%@b=+@N z*vtUe-=CX=2;00hyq=_PUU<^uv|tSk;8W!97R$;gWX^yw5~CrWQ;(nBB7z?1`Uuf( za!DMLWDBNZa77LH+(wKALujKUe;jG&yj1nf4*5P;$Y$BQ>mJs2Vd>mXTU}%DsyA)X z`Hxyg>-V1g2+%-U0c)_IA0hO>jJvq)Jv>UhDPv_9qTD|adZRxrXJX_2H+Hm3?taO3 zH5CP=%Pfq}IqDUGpy>Ll&Y4(LR}M#;;Uw6TaV=zu!3-4MzsIc(3*XJ|JiA3}6Xl74 z7o~=#itxJW*!;$q;og2al}Pc#FT=Nvoh*$GD)(x=ZZn=ve{@CXi)NGD$S?l<y)Xfb zdzg9Z3A~7RqO$M(e(aj(uNs@<>>bb)(Q@tR{+I&|AT}y1Y%7v9emOR#yrby8B<16G z%Wn?-I$*M_s(eY`mo@okY79<?$ovitBSXa^P4Nr~hZDq^!>s2NnkTk-HQ76bB@G*T znMKwYQEHz(+D}cl|MAe`K9}B~YF^zSW6vbd2(Xi#?9ZpuJ2;ix{D`WssBqtxQ;GF{ zYc%W1?ryQ6hR4i8dw<Pa`e^BzD>dAu-vfO+$NzwB|0SP=6dpQGO6|8WA+?XdrPN-p z7m~V2l1Q4VFuWRGqwmiV;K>w_;8Gm;9v0A#bj-}<CiHwM=5b4`D7j+3`y<xaGvwet zF3L%2{h9w;`jaf%WS18?uZDAV6<*xx`*?7Mp`rn0v_PQIjZ{#RpIf)!3&a}*5AJlE ztAzP@9>@th^80wYwa+<gpR?|YLCA*Ylb|wl)_^cVa*JuttYK>uvQwqxvtnq&%k4{E z-=YTJ4fWCSFmnpI>3rdmdX>KMj8vPz`Ef`d9W&Gr&n+*9)Nhmj+h9jYR_n_)Pl4x^ zic99KLSHKfzqDMLYp1IeP3EOppNy0}o3m)utD34fhX<KptPFB|JD7@|IB5&Bp3V2- zrqDoS46UI5xfXUV$2a6*cvXY_`=@DHxY&LpX$mr?|4Z9J9rzBPxeZqQn0{_vu2|K_ z6>IGFQwb0hSCvsu6os9bSMjhv(5>0Dpe6fsRZn}a?tTcq%}c;!Bd&A-I?Whc4(<O? za&CD<M_6}@>FxI?(&>D5qUmRq#s^={erM@jSD}|AV}I5?A>Zb0Ttks2c@pMoJZufh z)^m1qu*Jm{llVMlGgr-Q#1b36<f&X%5}7+I<@&Y0G~v6GiOQoH{*ezTuZAiCV+3MG zY!n<1veo!Ecn6KYhMRQo2<s(H_d^&{?(86v^jvEoJ#}jPH7(?+#p1@d!wUWOj=IM> zjU2t=P(Rv3?obxr2Uk)QeUJGIb1+Jd`@T#pt*KzE-;O<z?{3%`7d-Y_+rIO(nvK!- z<%@p~+({bPNW!uqVa;H^=s+tP+hblrXP8q$awO0A+;uExL12ZKxVbMqf9UAPJvW@9 zYwp^j*={kg*9+_W4?4KNAUagoFi0E4WOLXkHV^=IiUF`w?1r$7a(Gq9WQn=xEINTW z(m2ztF&(<%mLw;N{mvR!N)Vju@x*UTXdl7q23+`WO)s!K9v%n|D~$Ae{c?c;s{7!u z(OJ^y2Witx8D@#Klm$6knsGbEKFO7zOAj@FMHNFk4HM-f(iY!0yVTz9x^o~#Gs1uI zO4w$tj)eCJ2B1N#Ls~mD#2SV@MJYFY)jfuky3!?go+7vEss+Ku5D2mmDSEDnfauBn z>MwB!iG*zzY|?2JG$}z_e_2Y<UPMEJMo&La8k2xSv;taLePf5Q@GKT9Lf-x;Xy{?- zgl?xLy0w|496qe}c*pqIGDq46PNLZEI_6ydNMDuTdPVQ*<(uuRL$ljoK6aazA~S!{ zpqeB3t(RN}5JQ|uxQ_BJviaT-*kYd{XPz>>eVOp^xk~m7u?8<~)C}pee0^_jn2*o; z%LTpLJIm)uDy$r>UhRDwPy=We{RPS_v4%f>DvSV2gA<X-U`L90RS&dv8v(Mk3GgbT zi-m7#A`xKrV;ImdH2bPJV+*4L2#^*D&<Znz?}tuV<ce#rYC`Sm3SgGO%kKF<q=@H2 z(yv$>E(qw-7|P?XcxudJ&wj+t!TizW!uvnWTxVai=iq{rmP-2?M#`%$Cy_0nTau=} zI_krGlbeH4cZlfHhiN(hZigc4BvWr!t9L-qh}mFAsjnO5pnI#e{uhYIA%9Jkp(FVe zDGU3ncGv-hX_kl9nQ%fQMAih*Li<xkrx90zL(9Syed^;3yA$BOM9O`nzJ0O%&K<u2 z+bdPM=)A+j5A;KSC4g#yy78DLY5O<Dg^bU*eQ6VX@C}Az+={nc5akj$=+-*^BdrC8 z5#k_yN{xnCPY<?3Z5V8d_BY~L+MXZ=@_MP7^Cu*hj3s=V=mr!{)P@S@IXW8WfM!y2 zIJ`u4^{we*H3A3^7IVJq&8^h4+Vmbtp&dbc>IzAcY&hN@Wh3CYqbSiyYB_R{NhOOJ z{g>8(8U9TyK(ePLt95};va*@!0~?MbkPC94`T#3G)Ff7?OEn271wm25qEo74!K~%- z18Cw88j@N>#LlF0|3Etzk-z?<x4DIhq`41`)%*!IH_g++&r!7OHFxw1nu<=C5a5f& zjV1~N?6NcscZyieqgus!%X67sH5~t;D{7pxmjIp#DJZqu7+2~IFoQ(}(xaQEpJ>Y% zhXs+GgaM7Uh|65kSObU&7OMty53yb#*dm`Y>Zy`v-S6H;M|3|*h`IZtWX|h|uCdy2 zNh==XMVXifEyjfFEDJz+z2>TDnIRhHh6aTP3*|0XrCE1s6t<3|YDmSkn>WWd*yokp zGxU61oo=#p-m46o-<lL^D0PTH_p@XttRl;T32-<BqJPq7WI)4z@-iZ-hdJiDf&iOK zV17XvqH`;hB~~;}Rkq<ljrgcE*;IZ*Tg^CQR_H`p92HAFfagUKAOp71PYYqv9bkV= z&J{PXCB2!{7uw)2XgsWC0M;@XZGR;bl40;+-)X=mRG213d_g*XaRdfN0`wP@HCXtb zWc(vr(g-`tKS*-_qXg*4;q{G7uH{rCqBQiY=9>^Q2PTs<Zr~ejjVl{p!ww#PRGe&2 z&JFc?z!VuRj%A5HHL$uIX}?d80?9|&YyUh}1-%``m7etEo+x1_?#be_Dr3$I%#Ri2 z8cb>|t(~z`IFlDX7Vu=w*^Kvd+%CrHdQm=`0<BEykT0(AM6@@Q%lC@F7IMpx4kgdP zJz~caqa)TSZ3nln+|}T%bG--q@uqi|>x9|tiA?I9+vKrgd=_L}@hd){Wl-G=45QCx z=;asrCv#>tRE{JtK5ecl2%pa?45b^+o?V-#zc8RE@RZEDz=MEROHUE2^q40;H*a}P zV>t64UAs0=Vmh97<Pqy`$I537S1NXI>ON~tI@1!bV4&it1)U;C0Oe?(3VelN0V{!_ z)>S_g;PboL*>|3A#!IaqKQ7Jqt>vUmllq~Zj!Kzl>Coa_o<Fv%TG%H*2bT~)e>tKR zdc?X)@uO%@20vll+tP7K#_Wc}oS!v*JG{BZVo^uF+bQ3AAZBCN_{H6>Wk`~C@k@4c zr~L2s*4=(eg8NY^)UEk3F_+!b@0Qre?u)mZ?W85E4a%g%^DnYpTKx2;5%q6+%Sl-D zl`5r@wB#m)MR6e1r0wbeZUDsynDh`fE?<Wn*O&kY#v${CdG?PWg$c)*mMqV6p=8PV z!kJ<~$#QC15jky++1lY7as`ceFI(bbc?nGR;EJedU71K72Fogk*?9A%lzQh|m`{~( z|G?RWhh|!Ni&hR>a0lNsu(kr6XOg=c?(9VA*$&$!$0W7787Df{&i}qH|4f;zZoJL> zIHSy2{@w6Vv;_Y`TKpad9mXMSU00(P#_Uhn7V>=2>z_D92SL}<Cl}K9)|Lkt=FKII zx+X&g^Nx$n_esfRuWLnrVo}QtCB3i3PC20h*7dC)s<QadnyE{G#0$p%R(SP;68fN= zXrmvqfu_fx3(b#l)N>8uJqGT?zw5K@t2j9Ez`bH`U3N{zWAcPqg~`G=<n9Y6EvaBO z30aR0<b|FvM5EC%PnK|GXdXYTMzHf;Qn)y#%a=VU*=b2u%3YGPpzd~;clU}-=r2k@ z+>E6|-fSoSuBFJ`%z=uQIomsBZ9(gG5LL#?gbn9ov@)L-(UMZ*OvDS|Bxw#x{n~|x z5IrP<J2yJMdVj_}@nT*~?ELk1M=d9;69l7BHv$rCNj%C+<-i6CTiBu;D>4_8@(Kj1 zj!-In@WgPJ_Ny;0nz6UGUEGvt?W&NvEY-)7H2xJZB4Blf<uHB$vqlOW=<!eHCoZkR z!n)Nj2kqonS3FaH?fLcUQg5AOH5zH}Qhzja+Lo8n6J+9uoQuE~Sr5(=B;$&uqV-|i zd{(t7ebw{U@l7WqpYw-rr&~>U7noszFDgzKEYzvHu-;L@?qGfah`tH8R{ln4n?Txg zAW0GV;J<Gtw>W&yu;&MzyMd{$c`90%B_LN{UD7PJyXJi0)TGSBx=Wfj&(BcR4gBCF z8#gP2Y$v=dNkBpg&`xuG!|)fNFCOiW_OF;@&!h>8k1?DAAB1c@e{$(-=i8xUo_pRL ztxbA-de)kw4FGj!|C#jnzhuPUm<^;jf31CyCuN{dvpBuB1ki<g%@zW*1h{8X;}(&p zU`v$n6T*9nP;q;PKA$UAO&8t~+_UwsU@5+>zQsUVm;0X1!?Hb3g~vD9{S=!otE{=| zfMv+3(qG*jX@zrv7pPY9{Fc3x;au@-GCu2<X68&R!dY?x<=wy+J&u_9)>ZBJQGChT z`^)-Iv(oHVdT0e5bx|{OG}R>iEJw-Eq>Nj1MW{vlS3BtD30UzA_Z{~_wXfuF>o2*L z9-Xe<w)bIOt?rq#4}RIN<t`hUsXYE|v%}E#dip`7yGvg|to}$5tG~l%oxv81=Jl0S z5B7*;qR)8<K39es#`tp8x8(bUJXb$ZZpB}-{X=d@dgQv|sn!MB>HrVI4a81@>PnXG z7p|(q0_*_+`~>pPZhOSu8_>R4@44^rK121xKOZzInB%@M&f@P|9hpTl$~?k9kLb6M zM63n5iI#91p?b(rv=ED9SU2H1%vbFEsZfr*A(q2?{B>kjbcDup{h+p=^J9FknO1g{ zTs>^&t&!#wxpd9ZxLGkhYg71*<pg+?coU|4!||7$Dk9`0WLPT?Mszqm*T+1^QH9!W zkC`;DHcQr=(6rrWD(9XyvZ4&_t=8RO^4nd7(|3RX#pY*=b&nBX7DJM@9ENEYuGx&M z8w)>IDCeq9Z=qD+HKX<eIy(LZlSuo7U7pZXG;wP3Vuw|4oCCz{KT;NbRJ0iu$X<ls zLd&nN;J~NpRZEUT98>MW3%XcCxtK2jcHxbp*i)^XkWn<>aE!sRW;XPf?y)x850Kd* z<Pk_W=D~i$4%dAGZ*;{i4&mxPVw2oK`s5W(9;6_g0-Q^LwLT7qGK3>St4aUL(q15f zm|_TN_B}uJ({2Kcz&+c4WmjbW^qvBwfe)p7M*K}2?7-(CdM^G3mYHj4*G_Z~11aHG z3(ds~Xzlv0S7HOAge<$kV(E%6Tg{lvcyHAehtN5H!@>{)ly{o|#faEGOE@TK8_I!| zuoR!o!90-yq&owDhrbcg+AT{xs2DbCFlH@De+4DO(nCX^_jF5}KU>AmMOV!32Zel0 zNpLmVz3IZy8iUkdw1LD(YDL}`1a3<W#$0d5G^+G1-!RRhgBpI=+s<%F+%m#TqL%83 z*PhGkNmy}_^a2C`S|*|dZ^EeYmyZ1!Dkv5z3D%z5dsp^Nv`>|KNBoN6vf#wGaJoMi z1hjn3q|zaCOlXCDVm^#2Ra$#bPsP%3(ZlGN)u)5ML~X)1lEf8F(l#M>H4Hdt@Aw+D z%n9LTbet>~EoDSJVU>sP4SLF_C1qJpEofFvLxK+KdstNU8-(1j0ncqRsc&iR2XJaQ z=6d&SM?dl?VlXN<r0t~4hcI;JSDW1Xy%8hH9#zM>{Dq9kwYI@GL2LxC5woM>3YWW+ z7Y%=H?9i#$u5$+e`k;tEw&_gI)MYng|JoF=S>P|$gRmjHnm?4YEtFRHsVLVr;Stvz zJ8&<{x_QXzVXnhRCgk@TLt3z7FJRU=XyrZ5m!u&-vvs3O#EUma*axCv*E{3~d8^vi zyJd-PxX^#h-3plzT;wsd4BCUgfrc%*bvc$t*B5U-UdE(6_fGA3K>%u3jIzf?7Jplv z-vhJrr}nrTS*X^W@}iV)oF>)T@XpnAY=tteJ1H`O{d0k<*dkkOLLX{O(%5c{cfd`@ z6OuC@54T!bae_zDg5g5}gT50ZT4NT4;q@RE{acn#!r+eNHJTE_yMq)Qs-_<u;<JT( zdQzu~AYZ(K)%CTl3jO60^U7_%=&YA{4YChIFMUYNe0{G$+1GK7urp*>D`0hOnfu-u zoQ?!sDVa}qk+5}y`y|Obu!QcJ8{j|YaE{tL339qWJh&46fU4*;?+jyQ_PfmyzF`Y@ UQ_hBdzUubk_+m{3fDrBf50_=K6951J diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf index 5ef93461ee4b..93840dfa71a4 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf @@ -14,12 +14,7 @@ FILE_GUID = 76ED6631-44FE-4ED2-8B5D-1B5355BB25E8 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0 - ENTRY_POINT = InitializeLogo -# -# This flag specifies whether HII resource section is generated into PE image. -# - UEFI_HII_RESOURCE_SECTION = TRUE # # The following information is for reference only and not required by the build tools. @@ -28,25 +23,28 @@ # [Sources] - Logo.bmp Logo.c - Logo.idf [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec + LogoFeaturePkg/LogoFeaturePkg.dec [LibraryClasses] UefiBootServicesTableLib UefiDriverEntryPoint DebugLib + DxeServicesLib + MemoryAllocationLib + BmpSupportLib [Protocols] - gEfiHiiDatabaseProtocolGuid ## CONSUMES - gEfiHiiImageExProtocolGuid ## CONSUMES - gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES - gEdkiiPlatformLogoProtocolGuid ## PRODUCES + gEdkiiBootLogo2ProtocolGuid ## CONSUMES + gEfiGraphicsOutputProtocolGuid ## CONSUMES + +[Guids] + gTianoLogoGuid [Depex] - gEfiHiiDatabaseProtocolGuid AND - gEfiHiiImageExProtocolGuid + gEdkiiBootLogo2ProtocolGuid AND + gEfiGraphicsOutputProtocolGuid diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec index 4fa7dfea0fcd..39cae36c5f62 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec @@ -23,7 +23,7 @@ [Guids] gLogoFeaturePkgTokenSpaceGuid = {0x567199de, 0xb448, 0x4aa0, {0x99, 0x4e, 0xd5, 0xd6, 0x82, 0x59, 0x91, 0x17}} + gTianoLogoGuid = {0x7BB28B99, 0x61BB, 0x11D5, {0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}} [PcdsFeatureFlag] gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable|FALSE|BOOLEAN|0xA0000001 - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable|FALSE|BOOLEAN|0xA0000002 diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc index 5a6436178c4e..b820baaa0a87 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc @@ -29,8 +29,6 @@ LogoFeaturePkg/LogoFeaturePkg.dec [PcdsFeatureFlag] - gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable |FALSE - # # PCD needed for MinPlatform build includes # @@ -55,5 +53,4 @@ # all drivers in this package in 32b or 64b modes # [Components] - LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf LogoFeaturePkg/LogoDxe/LogoDxe.inf diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c index 0bcee7c9a4ba..deeec1055633 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c +++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c @@ -9,6 +9,7 @@ #include <Guid/EventGroup.h> +#include <Library/BootLogoLib.h> #include <Library/IoLib.h> #include <Library/PciLib.h> #include <Library/UefiBootManagerLib.h> @@ -1385,7 +1386,5 @@ BdsAfterConsoleReadyBeforeBootOptionCallback ( break; } - Print (L"Press F2 for Setup, or F7 for BootMenu!\n"); - } diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf index 69f3fcb55222..6375741f402a 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf +++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf @@ -34,6 +34,7 @@ PerformanceLib TimerLib Tcg2PhysicalPresenceLib + BootLogoLib [Packages] MdePkg/MdePkg.dec diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c index f6628d4125f9..0e91d9338b43 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c +++ b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c @@ -11,9 +11,12 @@ #include <Library/PlatformBootManagerLib.h> #include <Library/UefiLib.h> #include <Library/HobLib.h> +#include <Library/PcdLib.h> #include <Library/PrintLib.h> #include <Library/PerformanceLib.h> #include <Library/BoardBootManagerLib.h> +#include <Library/BootLogoLib.h> +#include <Protocol/GraphicsOutput.h> BOOLEAN mHotKeypressed = FALSE; @@ -31,11 +34,39 @@ BoardBootManagerWaitCallback ( UINT16 TimeoutRemain ) { + EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION Black; + EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White; + UINT16 TimeoutInitial; EFI_STATUS Status; EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TxtInEx; EFI_KEY_DATA KeyData; BOOLEAN PausePressed; + // Give user the notification, then consider being paused state. + TimeoutInitial = PcdGet16 (PcdPlatformBootTimeOut); + + // + // If PcdPlatformBootTimeOut is set to zero, then we consider + // that no progress update should be enacted (since we'd only + // ever display a one-shot progress of either 0% or 100%). + // + if (TimeoutInitial == 0) { + return; + } + + Black.Raw = 0x00000000; + White.Raw = 0x00FFFFFF; + + // Show progress at bottom center + BootLogoUpdateProgress ( + White.Pixel, + Black.Pixel, + L"Press F2 for Setup, or F7 for BootMenu!\n", + White.Pixel, + (TimeoutInitial - TimeoutRemain) * 100 / TimeoutInitial, + 0 + ); + // // Pause on PAUSE key // diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf index 38ff52ca81c6..3a7a72716b99 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf +++ b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf @@ -30,10 +30,15 @@ DebugLib UefiLib HobLib + PcdLib UefiBootManagerLib TimerLib + BootLogoLib [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec MinPlatformPkg/MinPlatformPkg.dec + +[Pcd] + gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut diff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc index b77d55dfd550..5ff135136e28 100644 --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc @@ -84,6 +84,7 @@ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf + BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf -- 2.36.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT 2022-07-25 17:12 ` [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT Benjamin Doron @ 2022-08-09 17:51 ` Oram, Isaac W 0 siblings, 0 replies; 9+ messages in thread From: Oram, Isaac W @ 2022-08-09 17:51 UTC (permalink / raw) To: Benjamin Doron, devel@edk2.groups.io Cc: Chaganty, Rangasai V, Desimone, Nathaniel L, Sinha, Ankit, Dong, Eric, Bi, Dandan, Gao, Liming Comments should be wrapped with blank comment lines, so comments like // Determine BGRT display offsets Should be // // Determine BGRT display offsets // There are at least 4 instances to be corrected in Logo.c And some in BoardBootManager.c // MinPlatform has the FSP draw the logo. Please make the comment more generic as it really could be implemented many ways and we wouldn't want to be overly specific here, for example if the features is used by a bootloader without FSP support. There shouldn't be anything that ties this to FSP as far as I can see. Please update the Readme.md removing JPEG comments and updating for new behaviors. Please remove AspireVn7Dash572G use of PcdJpgEnable as this results in a build error for that board. Otherwise, looks good to me. Regards, Isaac -----Original Message----- From: Benjamin Doron <benjamin.doron00@gmail.com> Sent: Monday, July 25, 2022 10:12 AM To: devel@edk2.groups.io Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Sinha, Ankit <ankit.sinha@intel.com>; Dong, Eric <eric.dong@intel.com>; Bi, Dandan <dandan.bi@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn> Subject: [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT In MinPlatform, FSP-S displays the logo to the user early. However, this means that no BGRT is written either. To reduce duplication in the flash image, a new LogoDxe will set this BMP as the BGRT buffer. The previous LogoDxe drivers here, along with a BootLogoEnableLogo() patch to BDS libraries, would begin displaying the Intel logo over the board FDF's choice - presently, these are the TianoCore logo. Also begin using BootLogoUpdateProgress(). Tested on KabylakeOpenBoardPkg, the boot logo becomes also a BGRT logo. A follow-up patch can be considered to set all platforms to use Intel's logo. 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: Ankit Sinha <ankit.sinha@intel.com> Cc: Eric Dong <eric.dong@intel.com> Cc: Dandan Bi <dandan.bi@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> --- Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 8 - Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc | 6 +- Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf | 6 +- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf | 10 -- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf | 52 ------ Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c | 183 +++++++------------- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf | 10 -- Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg | Bin 9741 -> 0 bytes Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf | 24 ++- Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec | 2 +- Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc | 3 - Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c | 3 +- Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf | 1 + Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c | 31 ++++ Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf | 5 + Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc | 1 + 16 files changed, 120 insertions(+), 225 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index 5365f0a1b844..da663f5c833f 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -77,11 +77,3 @@ gUserAuthFeaturePkgTokenSpaceGuid.PcdUserAuthenticationFeatureEnable |FALSE gUserAuthFeaturePkgTokenSpaceGuid.PcdUseVersion1 |FALSE gVirtualKeyboardFeaturePkgTokenSpaceGuid.PcdVirtualKeyboardFeatureEnable |FALSE--#-# There seems to be some build parsing odd behavior that requires this PCD to be specified even though-# the *.fdf that consumes it is dependent on the feature flag.-# This section is to ensure that boards have these PCD instantiated.-#-[PcdsFeatureFlag]- gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable |FALSEdiff --git a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc index 0acce1c7dfaf..3e990a84f8ec 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.dsc +++ b/Features/Intel/UserInterface/LogoFeaturePkg/Include/LogoFeature.ds +++ c @@ -47,8 +47,4 @@ # @todo: Change below line to [Components.$(DXE_ARCH)] after https://bugzilla.tianocore.org/show_bug.cgi?id=2308 # is completed. [Components.X64]- !if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE- LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf- !else- LogoFeaturePkg/LogoDxe/LogoDxe.inf- !endif+ LogoFeaturePkg/LogoDxe/LogoDxe.infdiff --git a/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf b/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf index fead9f3b0298..f8e368434f72 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/UserInterface/LogoFeaturePkg/Include/PostMemory.fdf @@ -6,8 +6,4 @@ # SPDX-License-Identifier: BSD-2-Clause-Patent # ##-!if gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable == TRUE- INF LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf-!else- INF LogoFeaturePkg/LogoDxe/LogoDxe.inf-!endif+INF LogoFeaturePkg/LogoDxe/LogoDxe.infdiff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf deleted file mode 100644 index a39500e043e3..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogo.idf +++ /dev/null @@ -1,10 +0,0 @@ -// /** @file-// Platform Logo image definition file.-//-// Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>-//-// SPDX-License-Identifier: BSD-2-Clause-Patent-//-// **/--#image IMG_LOGO Logo.jpgdiff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf deleted file mode 100644 index 47f1672a4c07..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf +++ /dev/null @@ -1,52 +0,0 @@ -## @file-# The default logo JPEG picture shown on setup screen.-#-# Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>-#-# SPDX-License-Identifier: BSD-2-Clause-Patent-#-#-##--[Defines]- INF_VERSION = 0x00010005- BASE_NAME = JpegLogoDxe- FILE_GUID = 319CFE1D-8F15-4A7A-BF40-EECA953D87EF- MODULE_TYPE = DXE_DRIVER- VERSION_STRING = 1.0-- ENTRY_POINT = InitializeLogo-#-# This flag specifies whether HII resource section is generated into PE image.-#- UEFI_HII_RESOURCE_SECTION = TRUE--#-# The following information is for reference only and not required by the build tools.-#-# VALID_ARCHITECTURES = IA32 X64-#--[Sources]- Logo.jpg- Logo.c- JpegLogo.idf--[Packages]- MdePkg/MdePkg.dec- MdeModulePkg/MdeModulePkg.dec--[LibraryClasses]- UefiBootServicesTableLib- UefiDriverEntryPoint- DebugLib--[Protocols]- gEfiHiiDatabaseProtocolGuid ## CONSUMES- gEfiHiiImageExProtocolGuid ## CONSUMES- gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES- gEdkiiPlatformLogoProtocolGuid ## PRODUCES--[Depex]- gEfiHiiDatabaseProtocolGuid AND- gEfiHiiImageExProtocolGuiddiff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c index a636b086caf6..29b913c5bda5 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.c @@ -6,88 +6,26 @@ SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include <Uefi.h>-#include <Protocol/HiiDatabase.h>-#include <Protocol/GraphicsOutput.h>-#include <Protocol/HiiImageEx.h>-#include <Protocol/PlatformLogo.h>-#include <Protocol/HiiPackageList.h> #include <Library/UefiBootServicesTableLib.h> #include <Library/DebugLib.h>--typedef struct {- EFI_IMAGE_ID ImageId;- EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE Attribute;- INTN OffsetX;- INTN OffsetY;-} LOGO_ENTRY;--EFI_HII_IMAGE_EX_PROTOCOL *mHiiImageEx;-EFI_HII_HANDLE mHiiHandle;-LOGO_ENTRY mLogos[] = {- {- IMAGE_TOKEN (IMG_LOGO),- EdkiiPlatformLogoDisplayAttributeCenter,- 0,- 0- }-};--/**- Load a platform logo image and return its data and attributes.-- @param This The pointer to this protocol instance.- @param Instance The visible image instance is found.- @param Image Points to the image.- @param Attribute The display attributes of the image returned.- @param OffsetX The X offset of the image regarding the Attribute.- @param OffsetY The Y offset of the image regarding the Attribute.-- @retval EFI_SUCCESS The image was fetched successfully.- @retval EFI_NOT_FOUND The specified image could not be found.-**/-EFI_STATUS-EFIAPI-GetImage (- IN EDKII_PLATFORM_LOGO_PROTOCOL *This,- IN OUT UINT32 *Instance,- OUT EFI_IMAGE_INPUT *Image,- OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,- OUT INTN *OffsetX,- OUT INTN *OffsetY- )-{- UINT32 Current;- if (Instance == NULL || Image == NULL ||- Attribute == NULL || OffsetX == NULL || OffsetY == NULL) {- return EFI_INVALID_PARAMETER;- }-- Current = *Instance;- if (Current >= ARRAY_SIZE (mLogos)) {- return EFI_NOT_FOUND;- }-- (*Instance)++;- *Attribute = mLogos[Current].Attribute;- *OffsetX = mLogos[Current].OffsetX;- *OffsetY = mLogos[Current].OffsetY;- return mHiiImageEx->GetImageEx (mHiiImageEx, mHiiHandle, mLogos[Current].ImageId, Image);-}--EDKII_PLATFORM_LOGO_PROTOCOL mPlatformLogo = {- GetImage-};+#include <Library/BmpSupportLib.h>+#include <Library/DxeServicesLib.h>+#include <Library/MemoryAllocationLib.h>+#include <Protocol/BootLogo2.h>+#include <Protocol/GraphicsOutput.h> /** Entrypoint of this module. - This function is the entrypoint of this module. It installs the Edkii- Platform Logo protocol.+ This function is the entrypoint of this module. It prepares the BGRT+ blit-buffer. @param ImageHandle The firmware allocated handle for the EFI image. @param SystemTable A pointer to the EFI System Table. @retval EFI_SUCCESS The entry point is executed successfully.+ @retval EFI_UNSUPPORTED A dependency is unavailable.+ @retval EFI_NOT_FOUND Failed to find the logo. **/ EFI_STATUS@@ -97,57 +35,70 @@ InitializeLogo ( IN EFI_SYSTEM_TABLE *SystemTable ) {- EFI_STATUS Status;- EFI_HII_PACKAGE_LIST_HEADER *PackageList;- EFI_HII_DATABASE_PROTOCOL *HiiDatabase;- EFI_HANDLE Handle;-- Status = gBS->LocateProtocol (- &gEfiHiiDatabaseProtocolGuid,- NULL,- (VOID **) &HiiDatabase- );- ASSERT_EFI_ERROR (Status);-- Status = gBS->LocateProtocol (- &gEfiHiiImageExProtocolGuid,- NULL,- (VOID **) &mHiiImageEx- );- ASSERT_EFI_ERROR (Status);+ EFI_STATUS Status;+ EDKII_BOOT_LOGO2_PROTOCOL *BootLogo2;+ EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;+ UINT32 SizeOfX;+ UINT32 SizeOfY;+ VOID *BmpAddress;+ UINTN BmpSize;+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Blt;+ UINTN BltSize;+ UINTN Height;+ UINTN Width;+ INTN DestX;+ INTN DestY; //- // Retrieve HII package list from ImageHandle+ // MinPlatform has the FSP draw the logo.+ // Build a blit-buffer for a bitmap here and set it for a BGRT. //- Status = gBS->OpenProtocol (- ImageHandle,- &gEfiHiiPackageListProtocolGuid,- (VOID **) &PackageList,- ImageHandle,- NULL,- EFI_OPEN_PROTOCOL_GET_PROTOCOL- );+ Status = gBS->LocateProtocol (&gEdkiiBootLogo2ProtocolGuid, NULL, (VOID **)&BootLogo2); if (EFI_ERROR (Status)) {- DEBUG ((DEBUG_ERROR, "HII Image Package with logo not found in PE/COFF resource section\n"));- return Status;+ return EFI_UNSUPPORTED; } - //- // Publish HII package list to HII Database.- //- Status = HiiDatabase->NewPackageList (- HiiDatabase,- PackageList,- NULL,- &mHiiHandle- );- if (!EFI_ERROR (Status)) {- Handle = NULL;- Status = gBS->InstallMultipleProtocolInterfaces (- &Handle,- &gEdkiiPlatformLogoProtocolGuid, &mPlatformLogo,- NULL- );+ // Determine BGRT display offsets+ Status = gBS->HandleProtocol (gST->ConsoleOutHandle, &gEfiGraphicsOutputProtocolGuid, (VOID **)&GraphicsOutput);+ if (EFI_ERROR (Status)) {+ return EFI_UNSUPPORTED; }++ SizeOfX = GraphicsOutput->Mode->Info->HorizontalResolution;+ SizeOfY = GraphicsOutput->Mode->Info->VerticalResolution;++ Status = GetSectionFromAnyFv (+ &gTianoLogoGuid,+ EFI_SECTION_RAW,+ 0,+ &BmpAddress,+ &BmpSize+ );+ if (EFI_ERROR (Status)) {+ return EFI_NOT_FOUND;+ }++ // Allocates pool for blit-buffer+ Status = TranslateBmpToGopBlt (+ BmpAddress,+ BmpSize,+ &Blt,+ &BltSize,+ &Height,+ &Width+ );+ ASSERT_EFI_ERROR (Status);++ // EdkiiPlatformLogoDisplayAttributeCenter+ DestX = (SizeOfX - Width) / 2;+ DestY = (SizeOfY - Height) / 2;++ Status = BootLogo2->SetBootLogo (BootLogo2, Blt, DestX, DestY, Width, Height);++ // SetBootLogo() allocates a copy pool, so free this.+ if (Blt != NULL) {+ FreePool (Blt);+ }+ return Status; }diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf deleted file mode 100644 index fd9c4898156d..000000000000 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.idf +++ /dev/null @@ -1,10 +0,0 @@ -// /** @file-// Platform Logo image definition file.-//-// Copyright (c) 2020, Intel Corporation. All rights reserved.<BR>-//-// SPDX-License-Identifier: BSD-2-Clause-Patent-//-// **/--#image IMG_LOGO Logo.bmpdiff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/Logo.jpg deleted file mode 100644 index 32de8a5532c9a75ab23ffc9c59a8e8c3e4ea4a27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9741 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 UQ_hBdzUubk_+m{3fDrBf50_=K6951J diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf index 5ef93461ee4b..93840dfa71a4 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoDxe/LogoDxe.inf @@ -14,12 +14,7 @@ FILE_GUID = 76ED6631-44FE-4ED2-8B5D-1B5355BB25E8 MODULE_TYPE = DXE_DRIVER VERSION_STRING = 1.0- ENTRY_POINT = InitializeLogo-#-# This flag specifies whether HII resource section is generated into PE image.-#- UEFI_HII_RESOURCE_SECTION = TRUE # # The following information is for reference only and not required by the build tools.@@ -28,25 +23,28 @@ # [Sources]- Logo.bmp Logo.c- Logo.idf [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec+ LogoFeaturePkg/LogoFeaturePkg.dec [LibraryClasses] UefiBootServicesTableLib UefiDriverEntryPoint DebugLib+ DxeServicesLib+ MemoryAllocationLib+ BmpSupportLib [Protocols]- gEfiHiiDatabaseProtocolGuid ## CONSUMES- gEfiHiiImageExProtocolGuid ## CONSUMES- gEfiHiiPackageListProtocolGuid ## PRODUCES CONSUMES- gEdkiiPlatformLogoProtocolGuid ## PRODUCES+ gEdkiiBootLogo2ProtocolGuid ## CONSUMES+ gEfiGraphicsOutputProtocolGuid ## CONSUMES++[Guids]+ gTianoLogoGuid [Depex]- gEfiHiiDatabaseProtocolGuid AND- gEfiHiiImageExProtocolGuid+ gEdkiiBootLogo2ProtocolGuid AND+ gEfiGraphicsOutputProtocolGuiddiff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec index 4fa7dfea0fcd..39cae36c5f62 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dec @@ -23,7 +23,7 @@ [Guids] gLogoFeaturePkgTokenSpaceGuid = {0x567199de, 0xb448, 0x4aa0, {0x99, 0x4e, 0xd5, 0xd6, 0x82, 0x59, 0x91, 0x17}}+ gTianoLogoGuid = {0x7BB28B99, 0x61BB, 0x11D5, {0x9A, 0x5D, 0x00, 0x90, 0x27, 0x3F, 0xC1, 0x4D}} [PcdsFeatureFlag] gLogoFeaturePkgTokenSpaceGuid.PcdLogoFeatureEnable|FALSE|BOOLEAN|0xA0000001- gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable|FALSE|BOOLEAN|0xA0000002diff --git a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc index 5a6436178c4e..b820baaa0a87 100644 --- a/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc +++ b/Features/Intel/UserInterface/LogoFeaturePkg/LogoFeaturePkg.dsc @@ -29,8 +29,6 @@ LogoFeaturePkg/LogoFeaturePkg.dec [PcdsFeatureFlag]- gLogoFeaturePkgTokenSpaceGuid.PcdJpgEnable |FALSE- # # PCD needed for MinPlatform build includes #@@ -55,5 +53,4 @@ # all drivers in this package in 32b or 64b modes # [Components]- LogoFeaturePkg/LogoDxe/JpegLogoDxe.inf LogoFeaturePkg/LogoDxe/LogoDxe.infdiff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c index 0bcee7c9a4ba..deeec1055633 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.c +++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHook +++ Lib.c @@ -9,6 +9,7 @@ #include <Guid/EventGroup.h> +#include <Library/BootLogoLib.h> #include <Library/IoLib.h> #include <Library/PciLib.h> #include <Library/UefiBootManagerLib.h>@@ -1385,7 +1386,5 @@ BdsAfterConsoleReadyBeforeBootOptionCallback ( break; } - Print (L"Press F2 for Setup, or F7 for BootMenu!\n");- }diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf index 69f3fcb55222..6375741f402a 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHookLib.inf +++ b/Platform/Intel/BoardModulePkg/Library/BoardBdsHookLib/BoardBdsHook +++ Lib.inf @@ -34,6 +34,7 @@ PerformanceLib TimerLib Tcg2PhysicalPresenceLib+ BootLogoLib [Packages] MdePkg/MdePkg.decdiff --git a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c index f6628d4125f9..0e91d9338b43 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManager.c +++ b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo +++ tManager.c @@ -11,9 +11,12 @@ #include <Library/PlatformBootManagerLib.h> #include <Library/UefiLib.h> #include <Library/HobLib.h>+#include <Library/PcdLib.h> #include <Library/PrintLib.h> #include <Library/PerformanceLib.h> #include <Library/BoardBootManagerLib.h>+#include <Library/BootLogoLib.h>+#include <Protocol/GraphicsOutput.h> BOOLEAN mHotKeypressed = FALSE;@@ -31,11 +34,39 @@ BoardBootManagerWaitCallback ( UINT16 TimeoutRemain ) {+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION Black;+ EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;+ UINT16 TimeoutInitial; EFI_STATUS Status; EFI_SIMPLE_TEXT_INPUT_EX_PROTOCOL *TxtInEx; EFI_KEY_DATA KeyData; BOOLEAN PausePressed; + // Give user the notification, then consider being paused state.+ TimeoutInitial = PcdGet16 (PcdPlatformBootTimeOut);++ //+ // If PcdPlatformBootTimeOut is set to zero, then we consider+ // that no progress update should be enacted (since we'd only+ // ever display a one-shot progress of either 0% or 100%).+ //+ if (TimeoutInitial == 0) {+ return;+ }++ Black.Raw = 0x00000000;+ White.Raw = 0x00FFFFFF;++ // Show progress at bottom center+ BootLogoUpdateProgress (+ White.Pixel,+ Black.Pixel,+ L"Press F2 for Setup, or F7 for BootMenu!\n",+ White.Pixel,+ (TimeoutInitial - TimeoutRemain) * 100 / TimeoutInitial,+ 0+ );+ // // Pause on PAUSE key //diff --git a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf index 38ff52ca81c6..3a7a72716b99 100644 --- a/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBootManagerLib.inf +++ b/Platform/Intel/BoardModulePkg/Library/BoardBootManagerLib/BoardBoo +++ tManagerLib.inf @@ -30,10 +30,15 @@ DebugLib UefiLib HobLib+ PcdLib UefiBootManagerLib TimerLib+ BootLogoLib [Packages] MdePkg/MdePkg.dec MdeModulePkg/MdeModulePkg.dec MinPlatformPkg/MinPlatformPkg.dec++[Pcd]+ gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOutdiff --git a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc index b77d55dfd550..5ff135136e28 100644 --- a/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc +++ b/Platform/Intel/MinPlatformPkg/Include/Dsc/CoreCommonLib.dsc @@ -84,6 +84,7 @@ CapsuleLib|MdeModulePkg/Library/DxeCapsuleLibNull/DxeCapsuleLibNull.inf UefiBootManagerLib|MdeModulePkg/Library/UefiBootManagerLib/UefiBootManagerLib.inf+ BootLogoLib|MdeModulePkg/Library/BootLogoLib/BootLogoLib.inf FileExplorerLib|MdeModulePkg/Library/FileExplorerLib/FileExplorerLib.inf SynchronizationLib|MdePkg/Library/BaseSynchronizationLib/BaseSynchronizationLib.inf SecurityManagementLib|MdeModulePkg/Library/DxeSecurityManagementLib/DxeSecurityManagementLib.inf-- 2.36.1 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [edk2-devel] [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive 2022-07-25 17:12 [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive Benjamin Doron 2022-07-25 17:12 ` [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions " Benjamin Doron 2022-07-25 17:12 ` [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT Benjamin Doron @ 2022-08-08 19:21 ` Oram, Isaac W [not found] ` <170974F020AA914C.7247@groups.io> 3 siblings, 0 replies; 9+ messages in thread From: Oram, Isaac W @ 2022-08-08 19:21 UTC (permalink / raw) To: devel@edk2.groups.io, benjamin.doron00@gmail.com Cc: Chaganty, Rangasai V, Desimone, Nathaniel L, Sinha, Ankit, Gao, Liming, Dong, Eric Reviewed-by: Isaac Oram <isaac.w.oram@intel.com> -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Benjamin Doron Sent: Monday, July 25, 2022 10:12 AM To: devel@edk2.groups.io Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Sinha, Ankit <ankit.sinha@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com> Subject: [edk2-devel] [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive The DXE and SMM versions of AcpiDebug perform the same task and are therefore mutually exclusive. Including both modules results in a duplicate ACPI table, resulting in the feature not working at all. Therefore, add a new PCD to determine which module will be included. Now, either version successfully write to the debug buffer. 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: Ankit Sinha <ankit.sinha@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Eric Dong <eric.dong@intel.com> Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 1 + Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 1 + Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c | 4 ++++ Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec | 1 + Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc | 3 +++ Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf | 7 +++++-- 6 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 28530b8c674b..908fe4d1f7a9 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -48,6 +48,7 @@ # Debugging features # gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable |TRUE+ gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion |FALSE gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable |TRUE gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable |TRUE gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable |TRUEdiff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index e214175edaf7..d59e3e61b9b9 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -59,6 +59,7 @@ # [PcdsFeatureFlag] gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable |FALSE+ gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion |FALSE gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable |FALSE gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable |FALSE gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable |FALSEdiff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c index 4caeffc7dec9..0b28e2f7a6d5 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiD +++ ebug.c @@ -483,6 +483,10 @@ InitializeAcpiDebugSmm ( EFI_SMM_BASE2_PROTOCOL *SmmBase2; BOOLEAN InSmm; + if (!PcdGetBool (PcdAcpiDebugFeatureActive)) {+ return EFI_SUCCESS;+ }+ Status = gBS->LocateProtocol (&gEfiSmmBase2ProtocolGuid, NULL, (VOID **) &SmmBase2); ASSERT_EFI_ERROR (Status); if (EFI_ERROR (Status)) {diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec index 915923100731..1a290bab29d9 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d +++ ec @@ -28,6 +28,7 @@ [PcdsFeatureFlag] gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLEAN|0xA0000001+ gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion|FALSE|BOOLEAN|0xA0000002 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] ## This PCD specifies the ACPI debug message buffer size.diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc index f5b8bacee039..684549bbdd78 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat +++ ure.dsc @@ -54,5 +54,8 @@ # in the package build. # Add components here that should be included in the package build.+!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion == FALSE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf+!else AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf+!endifdiff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf index 855826292cb5..e904a2f8fbf2 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd +++ f @@ -7,5 +7,8 @@ # ## -INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf-INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf+!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion == FALSE+ INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf+!else+ INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf+!endif-- 2.36.1 -=-=-=-=-=-= Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91815): https://edk2.groups.io/g/devel/message/91815 Mute This Topic: https://groups.io/mt/92609642/1492418 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [isaac.w.oram@intel.com] -=-=-=-=-=-= ^ permalink raw reply related [flat|nested] 9+ messages in thread
[parent not found: <170974F020AA914C.7247@groups.io>]
* Re: [edk2-devel] [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive [not found] ` <170974F020AA914C.7247@groups.io> @ 2022-08-08 19:26 ` Oram, Isaac W 0 siblings, 0 replies; 9+ messages in thread From: Oram, Isaac W @ 2022-08-08 19:26 UTC (permalink / raw) To: devel@edk2.groups.io, Oram, Isaac W, benjamin.doron00@gmail.com Cc: Chaganty, Rangasai V, Desimone, Nathaniel L, Sinha, Ankit, Gao, Liming, Dong, Eric Pushed as edc718521e..d85e4251ce -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Oram, Isaac W Sent: Monday, August 8, 2022 12:22 PM To: devel@edk2.groups.io; benjamin.doron00@gmail.com Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Sinha, Ankit <ankit.sinha@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com> Subject: Re: [edk2-devel] [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive Reviewed-by: Isaac Oram <isaac.w.oram@intel.com> -----Original Message----- From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Benjamin Doron Sent: Monday, July 25, 2022 10:12 AM To: devel@edk2.groups.io Cc: Chaganty, Rangasai V <rangasai.v.chaganty@intel.com>; Oram, Isaac W <isaac.w.oram@intel.com>; Desimone, Nathaniel L <nathaniel.l.desimone@intel.com>; Sinha, Ankit <ankit.sinha@intel.com>; Gao, Liming <gaoliming@byosoft.com.cn>; Dong, Eric <eric.dong@intel.com> Subject: [edk2-devel] [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive The DXE and SMM versions of AcpiDebug perform the same task and are therefore mutually exclusive. Including both modules results in a duplicate ACPI table, resulting in the feature not working at all. Therefore, add a new PCD to determine which module will be included. Now, either version successfully write to the debug buffer. 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: Ankit Sinha <ankit.sinha@intel.com> Cc: Liming Gao <gaoliming@byosoft.com.cn> Cc: Eric Dong <eric.dong@intel.com> Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com> --- Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc | 1 + Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc | 1 + Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c | 4 ++++ Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec | 1 + Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc | 3 +++ Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf | 7 +++++-- 6 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc index 28530b8c674b..908fe4d1f7a9 100644 --- a/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc +++ b/Features/Intel/AdvancedFeaturePkg/AdvancedFeaturePkg.dsc @@ -48,6 +48,7 @@ # Debugging features # gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable |TRUE+ gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion |FALSE gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable |TRUE gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable |TRUE gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable |TRUEdiff --git a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc index e214175edaf7..d59e3e61b9b9 100644 --- a/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc +++ b/Features/Intel/AdvancedFeaturePkg/Include/AdvancedFeaturesPcd.dsc @@ -59,6 +59,7 @@ # [PcdsFeatureFlag] gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable |FALSE+ gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion |FALSE gBeepDebugFeaturePkgTokenSpaceGuid.PcdBeepDebugFeatureEnable |FALSE gPostCodeDebugFeaturePkgTokenSpaceGuid.PcdPostCodeDebugFeatureEnable |FALSE gUsb3DebugFeaturePkgTokenSpaceGuid.PcdUsb3DebugFeatureEnable |FALSEdiff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c index 4caeffc7dec9..0b28e2f7a6d5 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebug.c +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiD +++ ebug.c @@ -483,6 +483,10 @@ InitializeAcpiDebugSmm ( EFI_SMM_BASE2_PROTOCOL *SmmBase2; BOOLEAN InSmm; + if (!PcdGetBool (PcdAcpiDebugFeatureActive)) {+ return EFI_SUCCESS;+ }+ Status = gBS->LocateProtocol (&gEfiSmmBase2ProtocolGuid, NULL, (VOID **) &SmmBase2); ASSERT_EFI_ERROR (Status); if (EFI_ERROR (Status)) {diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec index 915923100731..1a290bab29d9 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.dec +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/AcpiDebugFeaturePkg.d +++ ec @@ -28,6 +28,7 @@ [PcdsFeatureFlag] gAcpiDebugFeaturePkgTokenSpaceGuid.PcdAcpiDebugFeatureEnable|FALSE|BOOLEAN|0xA0000001+ gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion|FALSE|BOOLEAN|0xA0000002 [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx] ## This PCD specifies the ACPI debug message buffer size.diff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc index f5b8bacee039..684549bbdd78 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeature.dsc +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/AcpiDebugFeat +++ ure.dsc @@ -54,5 +54,8 @@ # in the package build. # Add components here that should be included in the package build.+!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion == FALSE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf+!else AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf+!endifdiff --git a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf index 855826292cb5..e904a2f8fbf2 100644 --- a/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fdf +++ b/Features/Intel/Debugging/AcpiDebugFeaturePkg/Include/PostMemory.fd +++ f @@ -7,5 +7,8 @@ # ## -INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf-INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf+!if gAcpiDebugFeaturePkgTokenSpaceGuid.PcdUseSmmVersion == FALSE+ INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugDxe.inf+!else+ INF RuleOverride = DRIVER_ACPITABLE AcpiDebugFeaturePkg/AcpiDebugDxeSmm/AcpiDebugSmm.inf+!endif-- 2.36.1 -=-=-=-=-=-= Groups.io Links: You receive all messages sent to this group. View/Reply Online (#91815): https://edk2.groups.io/g/devel/message/91815 Mute This Topic: https://groups.io/mt/92609642/1492418 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [isaac.w.oram@intel.com] -=-=-=-=-=-= ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2022-08-16 21:26 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-07-25 17:12 [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive Benjamin Doron 2022-07-25 17:12 ` [PATCH v1 2/3] UserAuthFeaturePkg: Included DXE versions " Benjamin Doron 2022-08-08 22:51 ` Oram, Isaac W 2022-08-09 17:09 ` Benjamin Doron 2022-08-16 21:26 ` Oram, Isaac W 2022-07-25 17:12 ` [PATCH v1 3/3] LogoFeaturePkg,BoardModulePkg: Set existing logo as BGRT Benjamin Doron 2022-08-09 17:51 ` Oram, Isaac W 2022-08-08 19:21 ` [edk2-devel] [PATCH v1 1/3] AcpiDebugFeaturePkg: Included modules are mutually exclusive Oram, Isaac W [not found] ` <170974F020AA914C.7247@groups.io> 2022-08-08 19:26 ` Oram, Isaac W
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox