* [PATCH] Platform/RPi4/Library/PlatformBootManagerLib: remove dead logo code
@ 2020-03-02 3:08 Andrei Warkentin
2020-03-02 13:09 ` [edk2-devel] " Pete Batard
0 siblings, 1 reply; 4+ messages in thread
From: Andrei Warkentin @ 2020-03-02 3:08 UTC (permalink / raw)
To: devel@edk2.groups.io; +Cc: Andrei Warkentin
Back in RaspberryPiPkg (before upstream Pi 3) support, I wrote
some extra code in PlatformBootManagerLib and BootGraphicsResourceTableDxe
to clear out the logo/BGRT, so that Windows would always show its own
logo instead of the platform logo. It kind of made sense back in the day,
when they only portion of Windows that "ran" on Pi 3 was the part that
could display a logo before BSODing...
The code in PlatformBootManagerLib (that this patch is removing) only
worked with the matching BootGraphicsResourceTableDxe change*** that
never got upstreamed. Moreover, Windows (for logo/cert) requires BGRT
so these kinds of shennigans aren't worth the effort.
So, remove the dead code.
***https://github.com/andreiw/RaspberryPiPkg/blob/master/edk2Patches/0003-BootGraphicsResourceTableDxe-properly-handle-SetBoot.patch
Signed-off-by: Andrei Warkentin <awarkentin@vmware.com>
---
.../PlatformBootManagerLib/PlatformBm.c | 18 ------------------
.../PlatformBootManagerLib.inf | 1 -
2 files changed, 19 deletions(-)
diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
index 12c3829d28..996ba8f399 100644
--- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
+++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
@@ -25,7 +25,6 @@
#include <Protocol/LoadedImage.h>
#include <Guid/EventGroup.h>
#include <Guid/TtyTerm.h>
-#include <Protocol/BootLogo.h>
#include "PlatformBm.h"
@@ -691,7 +690,6 @@ PlatformBootManagerWaitCallback (
EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;
UINT16 Timeout;
EFI_STATUS Status;
- EFI_BOOT_LOGO_PROTOCOL *BootLogo;
Timeout = PcdGet16 (PcdPlatformBootTimeOut);
@@ -711,22 +709,6 @@ PlatformBootManagerWaitCallback (
} else {
Print (L".");
}
-
- if (TimeoutRemain == 0) {
- BootLogo = NULL;
-
- //
- // Clear out the boot logo so that Windows displays its own logo
- // instead of ours.
- //
- Status = gBS->LocateProtocol (&gEfiBootLogoProtocolGuid, NULL, (VOID**)&BootLogo);
- if (!EFI_ERROR (Status) && (BootLogo != NULL)) {
- Status = BootLogo->SetBootLogo (BootLogo, NULL, 0, 0, 0, 0);
- ASSERT_EFI_ERROR (Status);
- };
-
- gST->ConOut->ClearScreen (gST->ConOut);
- }
}
/**
diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
index 79b75d667f..e40b3f096a 100644
--- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
+++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
@@ -81,4 +81,3 @@
gEfiSimpleFileSystemProtocolGuid
gEsrtManagementProtocolGuid
gEfiUsb2HcProtocolGuid
- gEfiBootLogoProtocolGuid
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH] Platform/RPi4/Library/PlatformBootManagerLib: remove dead logo code
2020-03-02 3:08 [PATCH] Platform/RPi4/Library/PlatformBootManagerLib: remove dead logo code Andrei Warkentin
@ 2020-03-02 13:09 ` Pete Batard
2020-03-02 14:22 ` Ard Biesheuvel
0 siblings, 1 reply; 4+ messages in thread
From: Pete Batard @ 2020-03-02 13:09 UTC (permalink / raw)
To: devel, awarkentin
On 2020.03.02 03:08, Andrei Warkentin via Groups.Io wrote:
> Back in RaspberryPiPkg (before upstream Pi 3) support, I wrote
> some extra code in PlatformBootManagerLib and BootGraphicsResourceTableDxe
> to clear out the logo/BGRT, so that Windows would always show its own
> logo instead of the platform logo. It kind of made sense back in the day,
> when they only portion of Windows that "ran" on Pi 3 was the part that
> could display a logo before BSODing...
>
> The code in PlatformBootManagerLib (that this patch is removing) only
> worked with the matching BootGraphicsResourceTableDxe change*** that
> never got upstreamed. Moreover, Windows (for logo/cert) requires BGRT
> so these kinds of shennigans aren't worth the effort.
>
> So, remove the dead code.
>
> ***https://github.com/andreiw/RaspberryPiPkg/blob/master/edk2Patches/0003-BootGraphicsResourceTableDxe-properly-handle-SetBoot.patch
>
> Signed-off-by: Andrei Warkentin <awarkentin@vmware.com>
> ---
> .../PlatformBootManagerLib/PlatformBm.c | 18 ------------------
> .../PlatformBootManagerLib.inf | 1 -
> 2 files changed, 19 deletions(-)
>
> diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
> index 12c3829d28..996ba8f399 100644
> --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
> +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
> @@ -25,7 +25,6 @@
> #include <Protocol/LoadedImage.h>
> #include <Guid/EventGroup.h>
> #include <Guid/TtyTerm.h>
> -#include <Protocol/BootLogo.h>
>
> #include "PlatformBm.h"
>
> @@ -691,7 +690,6 @@ PlatformBootManagerWaitCallback (
> EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;
> UINT16 Timeout;
> EFI_STATUS Status;
> - EFI_BOOT_LOGO_PROTOCOL *BootLogo;
>
> Timeout = PcdGet16 (PcdPlatformBootTimeOut);
>
> @@ -711,22 +709,6 @@ PlatformBootManagerWaitCallback (
> } else {
> Print (L".");
> }
> -
> - if (TimeoutRemain == 0) {
> - BootLogo = NULL;
> -
> - //
> - // Clear out the boot logo so that Windows displays its own logo
> - // instead of ours.
> - //
> - Status = gBS->LocateProtocol (&gEfiBootLogoProtocolGuid, NULL, (VOID**)&BootLogo);
> - if (!EFI_ERROR (Status) && (BootLogo != NULL)) {
> - Status = BootLogo->SetBootLogo (BootLogo, NULL, 0, 0, 0, 0);
> - ASSERT_EFI_ERROR (Status);
> - };
> -
> - gST->ConOut->ClearScreen (gST->ConOut);
> - }
> }
>
> /**
> diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> index 79b75d667f..e40b3f096a 100644
> --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> @@ -81,4 +81,3 @@
> gEfiSimpleFileSystemProtocolGuid
> gEsrtManagementProtocolGuid
> gEfiUsb2HcProtocolGuid
> - gEfiBootLogoProtocolGuid
>
Reviewed-By & Tested-By: Pete Batard <pete@akeo.ie>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH] Platform/RPi4/Library/PlatformBootManagerLib: remove dead logo code
2020-03-02 13:09 ` [edk2-devel] " Pete Batard
@ 2020-03-02 14:22 ` Ard Biesheuvel
2020-03-02 14:43 ` Pete Batard
0 siblings, 1 reply; 4+ messages in thread
From: Ard Biesheuvel @ 2020-03-02 14:22 UTC (permalink / raw)
To: edk2-devel-groups-io, Pete Batard; +Cc: Andrei Warkentin
On Mon, 2 Mar 2020 at 14:09, Pete Batard <pete@akeo.ie> wrote:
>
> On 2020.03.02 03:08, Andrei Warkentin via Groups.Io wrote:
> > Back in RaspberryPiPkg (before upstream Pi 3) support, I wrote
> > some extra code in PlatformBootManagerLib and BootGraphicsResourceTableDxe
> > to clear out the logo/BGRT, so that Windows would always show its own
> > logo instead of the platform logo. It kind of made sense back in the day,
> > when they only portion of Windows that "ran" on Pi 3 was the part that
> > could display a logo before BSODing...
> >
> > The code in PlatformBootManagerLib (that this patch is removing) only
> > worked with the matching BootGraphicsResourceTableDxe change*** that
> > never got upstreamed. Moreover, Windows (for logo/cert) requires BGRT
> > so these kinds of shennigans aren't worth the effort.
> >
> > So, remove the dead code.
> >
> > ***https://github.com/andreiw/RaspberryPiPkg/blob/master/edk2Patches/0003-BootGraphicsResourceTableDxe-properly-handle-SetBoot.patch
> >
> > Signed-off-by: Andrei Warkentin <awarkentin@vmware.com>
> > ---
> > .../PlatformBootManagerLib/PlatformBm.c | 18 ------------------
> > .../PlatformBootManagerLib.inf | 1 -
> > 2 files changed, 19 deletions(-)
> >
> > diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
> > index 12c3829d28..996ba8f399 100644
> > --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
> > +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
> > @@ -25,7 +25,6 @@
> > #include <Protocol/LoadedImage.h>
> > #include <Guid/EventGroup.h>
> > #include <Guid/TtyTerm.h>
> > -#include <Protocol/BootLogo.h>
> >
> > #include "PlatformBm.h"
> >
> > @@ -691,7 +690,6 @@ PlatformBootManagerWaitCallback (
> > EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;
> > UINT16 Timeout;
> > EFI_STATUS Status;
> > - EFI_BOOT_LOGO_PROTOCOL *BootLogo;
> >
> > Timeout = PcdGet16 (PcdPlatformBootTimeOut);
> >
> > @@ -711,22 +709,6 @@ PlatformBootManagerWaitCallback (
> > } else {
> > Print (L".");
> > }
> > -
> > - if (TimeoutRemain == 0) {
> > - BootLogo = NULL;
> > -
> > - //
> > - // Clear out the boot logo so that Windows displays its own logo
> > - // instead of ours.
> > - //
> > - Status = gBS->LocateProtocol (&gEfiBootLogoProtocolGuid, NULL, (VOID**)&BootLogo);
> > - if (!EFI_ERROR (Status) && (BootLogo != NULL)) {
> > - Status = BootLogo->SetBootLogo (BootLogo, NULL, 0, 0, 0, 0);
> > - ASSERT_EFI_ERROR (Status);
> > - };
> > -
> > - gST->ConOut->ClearScreen (gST->ConOut);
> > - }
> > }
> >
> > /**
> > diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> > index 79b75d667f..e40b3f096a 100644
> > --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> > +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
> > @@ -81,4 +81,3 @@
> > gEfiSimpleFileSystemProtocolGuid
> > gEsrtManagementProtocolGuid
> > gEfiUsb2HcProtocolGuid
> > - gEfiBootLogoProtocolGuid
> >
>
> Reviewed-By & Tested-By: Pete Batard <pete@akeo.ie>
>
Thanks Pete
This patch does not apply though. Could someone send a non-email
mangled version that applies onto edk2-platforms? Thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [edk2-devel] [PATCH] Platform/RPi4/Library/PlatformBootManagerLib: remove dead logo code
2020-03-02 14:22 ` Ard Biesheuvel
@ 2020-03-02 14:43 ` Pete Batard
0 siblings, 0 replies; 4+ messages in thread
From: Pete Batard @ 2020-03-02 14:43 UTC (permalink / raw)
To: Ard Biesheuvel, edk2-devel-groups-io; +Cc: Andrei Warkentin
On 2020.03.02 14:22, Ard Biesheuvel wrote:
> On Mon, 2 Mar 2020 at 14:09, Pete Batard <pete@akeo.ie> wrote:
>>
>> On 2020.03.02 03:08, Andrei Warkentin via Groups.Io wrote:
>>> Back in RaspberryPiPkg (before upstream Pi 3) support, I wrote
>>> some extra code in PlatformBootManagerLib and BootGraphicsResourceTableDxe
>>> to clear out the logo/BGRT, so that Windows would always show its own
>>> logo instead of the platform logo. It kind of made sense back in the day,
>>> when they only portion of Windows that "ran" on Pi 3 was the part that
>>> could display a logo before BSODing...
>>>
>>> The code in PlatformBootManagerLib (that this patch is removing) only
>>> worked with the matching BootGraphicsResourceTableDxe change*** that
>>> never got upstreamed. Moreover, Windows (for logo/cert) requires BGRT
>>> so these kinds of shennigans aren't worth the effort.
>>>
>>> So, remove the dead code.
>>>
>>> ***https://github.com/andreiw/RaspberryPiPkg/blob/master/edk2Patches/0003-BootGraphicsResourceTableDxe-properly-handle-SetBoot.patch
>>>
>>> Signed-off-by: Andrei Warkentin <awarkentin@vmware.com>
>>> ---
>>> .../PlatformBootManagerLib/PlatformBm.c | 18 ------------------
>>> .../PlatformBootManagerLib.inf | 1 -
>>> 2 files changed, 19 deletions(-)
>>>
>>> diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
>>> index 12c3829d28..996ba8f399 100644
>>> --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
>>> +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c
>>> @@ -25,7 +25,6 @@
>>> #include <Protocol/LoadedImage.h>
>>> #include <Guid/EventGroup.h>
>>> #include <Guid/TtyTerm.h>
>>> -#include <Protocol/BootLogo.h>
>>>
>>> #include "PlatformBm.h"
>>>
>>> @@ -691,7 +690,6 @@ PlatformBootManagerWaitCallback (
>>> EFI_GRAPHICS_OUTPUT_BLT_PIXEL_UNION White;
>>> UINT16 Timeout;
>>> EFI_STATUS Status;
>>> - EFI_BOOT_LOGO_PROTOCOL *BootLogo;
>>>
>>> Timeout = PcdGet16 (PcdPlatformBootTimeOut);
>>>
>>> @@ -711,22 +709,6 @@ PlatformBootManagerWaitCallback (
>>> } else {
>>> Print (L".");
>>> }
>>> -
>>> - if (TimeoutRemain == 0) {
>>> - BootLogo = NULL;
>>> -
>>> - //
>>> - // Clear out the boot logo so that Windows displays its own logo
>>> - // instead of ours.
>>> - //
>>> - Status = gBS->LocateProtocol (&gEfiBootLogoProtocolGuid, NULL, (VOID**)&BootLogo);
>>> - if (!EFI_ERROR (Status) && (BootLogo != NULL)) {
>>> - Status = BootLogo->SetBootLogo (BootLogo, NULL, 0, 0, 0, 0);
>>> - ASSERT_EFI_ERROR (Status);
>>> - };
>>> -
>>> - gST->ConOut->ClearScreen (gST->ConOut);
>>> - }
>>> }
>>>
>>> /**
>>> diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>>> index 79b75d667f..e40b3f096a 100644
>>> --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>>> +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>>> @@ -81,4 +81,3 @@
>>> gEfiSimpleFileSystemProtocolGuid
>>> gEsrtManagementProtocolGuid
>>> gEfiUsb2HcProtocolGuid
>>> - gEfiBootLogoProtocolGuid
>>>
>>
>> Reviewed-By & Tested-By: Pete Batard <pete@akeo.ie>
>>
>
> Thanks Pete
>
> This patch does not apply though. Could someone send a non-email
> mangled version that applies onto edk2-platforms? Thanks.
Done in https://edk2.groups.io/g/devel/message/55214
You'll also find the other patch in
https://edk2.groups.io/g/devel/message/55213
Regards,
/Pete
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-03-02 14:43 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-02 3:08 [PATCH] Platform/RPi4/Library/PlatformBootManagerLib: remove dead logo code Andrei Warkentin
2020-03-02 13:09 ` [edk2-devel] " Pete Batard
2020-03-02 14:22 ` Ard Biesheuvel
2020-03-02 14:43 ` Pete Batard
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox