* [PATCH edk2-platforms 0/3] Platform/RaspberryPi: omit ConnectAll() on regular boot @ 2020-06-04 9:50 Ard Biesheuvel 2020-06-04 9:50 ` [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected Ard Biesheuvel ` (2 more replies) 0 siblings, 3 replies; 11+ messages in thread From: Ard Biesheuvel @ 2020-06-04 9:50 UTC (permalink / raw) To: devel Cc: Ard Biesheuvel, Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Leif Lindholm, Pete Batard, Jeremy Linton Some changes that allow RPi to boot without having to connect all controllers on every boot. This is a step towards unifying the bespoke RPi PlatformBmLib and the generic ArmPkg one. Note that the 'recent change' that patch #2 refers to has not been merged as of yet. Cc: Jared McNeill <jmcneill@invisible.ca> Cc: Andrei Warkentin <awarkentin@vmware.com> Cc: Samer El-Haj-Mahmoud <samer.el-haj-mahmoud@arm.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Pete Batard <pete@akeo.ie> Cc: Jeremy Linton <lintonrjeremy@gmail.com> Ard Biesheuvel (3): Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected Platform/RaspberryPi: add UEFI Shell to boot manager menu Platform/RaspberryPi: don't connect all devices on an ordinary boot Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c | 7 +-- Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c | 66 ++++++++++++++++++++ 2 files changed, 67 insertions(+), 6 deletions(-) -- 2.26.2 ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected 2020-06-04 9:50 [PATCH edk2-platforms 0/3] Platform/RaspberryPi: omit ConnectAll() on regular boot Ard Biesheuvel @ 2020-06-04 9:50 ` Ard Biesheuvel 2020-06-04 12:27 ` Pete Batard 2020-06-04 14:53 ` Leif Lindholm 2020-06-04 9:50 ` [PATCH edk2-platforms 2/3] Platform/RaspberryPi: add UEFI Shell to boot manager menu Ard Biesheuvel 2020-06-04 9:50 ` [PATCH edk2-platforms 3/3] Platform/RaspberryPi: don't connect all devices on an ordinary boot Ard Biesheuvel 2 siblings, 2 replies; 11+ messages in thread From: Ard Biesheuvel @ 2020-06-04 9:50 UTC (permalink / raw) To: devel Cc: Ard Biesheuvel, Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Leif Lindholm, Pete Batard, Jeremy Linton In preparation of removing the EfiBootManagerConnectAll() from the ordinary boot path, ensure that the MAC programming of the GENET occurs even if the SNP driver for it is never invoked by the BDS. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> --- Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c | 66 ++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c b/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c index f37da3b65511..7f93c68cd608 100644 --- a/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c +++ b/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c @@ -12,6 +12,7 @@ #include <Uefi.h> #include <Library/BaseMemoryLib.h> #include <Library/DebugLib.h> +#include <Library/IoLib.h> #include <Library/MemoryAllocationLib.h> #include <Library/NetLib.h> #include <Library/UefiBootServicesTableLib.h> @@ -20,6 +21,9 @@ #include "BcmGenetDxe.h" +STATIC EFI_EVENT mProtocolNotifyEvent; +STATIC VOID *mProtocolNotifyEventRegistration; + /** Tests to see if this driver supports a given controller. @@ -305,6 +309,57 @@ STATIC EFI_DRIVER_BINDING_PROTOCOL mGenetDriverBinding = { NULL }; +STATIC +VOID +EFIAPI +OnProtocolNotify ( + IN EFI_EVENT Event, + IN VOID *Context + ) +{ + BCM_GENET_PLATFORM_DEVICE_PROTOCOL *GenetDevice; + EFI_STATUS Status; + EFI_HANDLE *HandleBuffer; + UINTN HandleCount; + UINTN Index; + UINT32 Mac0, Mac1; + + while (TRUE) { + Status = gBS->LocateHandleBuffer (ByRegisterNotify, NULL, + mProtocolNotifyEventRegistration, &HandleCount, + &HandleBuffer); + if (EFI_ERROR (Status)) { + break; + } + + for (Index = 0; Index < HandleCount; Index++) { + Status = gBS->HandleProtocol (HandleBuffer[Index], + &gBcmGenetPlatformDeviceProtocolGuid, + (VOID **)&GenetDevice); + ASSERT_EFI_ERROR (Status); + + Mac0 = (GenetDevice->MacAddress.Addr[3]) | + (GenetDevice->MacAddress.Addr[2] << 8) | + (GenetDevice->MacAddress.Addr[1] << 16) | + (GenetDevice->MacAddress.Addr[0] << 24); + Mac1 = (GenetDevice->MacAddress.Addr[5]) | + (GenetDevice->MacAddress.Addr[4] << 8); + + MmioOr32 (GenetDevice->BaseAddress + GENET_SYS_RBUF_FLUSH_CTRL, + GENET_SYS_RBUF_FLUSH_RESET); + gBS->Stall (10); + MmioAnd32 (GenetDevice->BaseAddress + GENET_SYS_RBUF_FLUSH_CTRL, + ~GENET_SYS_RBUF_FLUSH_RESET); + + MemoryFence (); + + MmioWrite32 (GenetDevice->BaseAddress + GENET_UMAC_MAC0, Mac0); + MmioWrite32 (GenetDevice->BaseAddress + GENET_UMAC_MAC1, Mac1); + } + FreePool (HandleBuffer); + } +} + /** The entry point of GENET UEFI Driver. @@ -336,6 +391,17 @@ GenetEntryPoint ( ASSERT_EFI_ERROR (Status); + // + // We need to program the MAC address into each existing controller, + // regardless of whether UEFI ever makes use of the interface, so that + // the OS driver will not have to care about this. + // + mProtocolNotifyEvent = EfiCreateProtocolNotifyEvent ( + &gBcmGenetPlatformDeviceProtocolGuid, + TPL_CALLBACK, OnProtocolNotify, NULL, + &mProtocolNotifyEventRegistration); + ASSERT (mProtocolNotifyEvent != NULL); + DEBUG ((DEBUG_INIT | DEBUG_INFO, "Installed GENET UEFI driver!\n")); return EFI_SUCCESS; -- 2.26.2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected 2020-06-04 9:50 ` [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected Ard Biesheuvel @ 2020-06-04 12:27 ` Pete Batard 2020-06-04 14:53 ` Leif Lindholm 1 sibling, 0 replies; 11+ messages in thread From: Pete Batard @ 2020-06-04 12:27 UTC (permalink / raw) To: Ard Biesheuvel, devel Cc: Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Leif Lindholm, Jeremy Linton Note: For some reason, I am getting extra empty lines in this patch series, which makes applying those patches problematic. Apart from that, I have no notes on the proposal. On 2020.06.04 10:50, Ard Biesheuvel wrote: > In preparation of removing the EfiBootManagerConnectAll() from the > ordinary boot path, ensure that the MAC programming of the GENET > occurs even if the SNP driver for it is never invoked by the BDS. > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> > --- > Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c | 66 ++++++++++++++++++++ > 1 file changed, 66 insertions(+) > > diff --git a/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c b/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c > index f37da3b65511..7f93c68cd608 100644 > --- a/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c > +++ b/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c > @@ -12,6 +12,7 @@ > #include <Uefi.h> > > #include <Library/BaseMemoryLib.h> > > #include <Library/DebugLib.h> > > +#include <Library/IoLib.h> > > #include <Library/MemoryAllocationLib.h> > > #include <Library/NetLib.h> > > #include <Library/UefiBootServicesTableLib.h> > > @@ -20,6 +21,9 @@ > > > #include "BcmGenetDxe.h" > > > > +STATIC EFI_EVENT mProtocolNotifyEvent; > > +STATIC VOID *mProtocolNotifyEventRegistration; > > + > > /** > > Tests to see if this driver supports a given controller. > > > > @@ -305,6 +309,57 @@ STATIC EFI_DRIVER_BINDING_PROTOCOL mGenetDriverBinding = { > NULL > > }; > > > > +STATIC > > +VOID > > +EFIAPI > > +OnProtocolNotify ( > > + IN EFI_EVENT Event, > > + IN VOID *Context > > + ) > > +{ > > + BCM_GENET_PLATFORM_DEVICE_PROTOCOL *GenetDevice; > > + EFI_STATUS Status; > > + EFI_HANDLE *HandleBuffer; > > + UINTN HandleCount; > > + UINTN Index; > > + UINT32 Mac0, Mac1; > > + > > + while (TRUE) { > > + Status = gBS->LocateHandleBuffer (ByRegisterNotify, NULL, > > + mProtocolNotifyEventRegistration, &HandleCount, > > + &HandleBuffer); > > + if (EFI_ERROR (Status)) { > > + break; > > + } > > + > > + for (Index = 0; Index < HandleCount; Index++) { > > + Status = gBS->HandleProtocol (HandleBuffer[Index], > > + &gBcmGenetPlatformDeviceProtocolGuid, > > + (VOID **)&GenetDevice); > > + ASSERT_EFI_ERROR (Status); > > + > > + Mac0 = (GenetDevice->MacAddress.Addr[3]) | > > + (GenetDevice->MacAddress.Addr[2] << 8) | > > + (GenetDevice->MacAddress.Addr[1] << 16) | > > + (GenetDevice->MacAddress.Addr[0] << 24); > > + Mac1 = (GenetDevice->MacAddress.Addr[5]) | > > + (GenetDevice->MacAddress.Addr[4] << 8); > > + > > + MmioOr32 (GenetDevice->BaseAddress + GENET_SYS_RBUF_FLUSH_CTRL, > > + GENET_SYS_RBUF_FLUSH_RESET); > > + gBS->Stall (10); > > + MmioAnd32 (GenetDevice->BaseAddress + GENET_SYS_RBUF_FLUSH_CTRL, > > + ~GENET_SYS_RBUF_FLUSH_RESET); > > + > > + MemoryFence (); > > + > > + MmioWrite32 (GenetDevice->BaseAddress + GENET_UMAC_MAC0, Mac0); > > + MmioWrite32 (GenetDevice->BaseAddress + GENET_UMAC_MAC1, Mac1); > > + } > > + FreePool (HandleBuffer); > > + } > > +} > > + > > /** > > The entry point of GENET UEFI Driver. > > > > @@ -336,6 +391,17 @@ GenetEntryPoint ( > > > ASSERT_EFI_ERROR (Status); > > > > + // > > + // We need to program the MAC address into each existing controller, > > + // regardless of whether UEFI ever makes use of the interface, so that > > + // the OS driver will not have to care about this. > > + // > > + mProtocolNotifyEvent = EfiCreateProtocolNotifyEvent ( > > + &gBcmGenetPlatformDeviceProtocolGuid, > > + TPL_CALLBACK, OnProtocolNotify, NULL, > > + &mProtocolNotifyEventRegistration); > > + ASSERT (mProtocolNotifyEvent != NULL); > > + > > DEBUG ((DEBUG_INIT | DEBUG_INFO, "Installed GENET UEFI driver!\n")); > > > > return EFI_SUCCESS; > Reviewed-By: Pete Batard <pete@akeo.ie> ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected 2020-06-04 9:50 ` [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected Ard Biesheuvel 2020-06-04 12:27 ` Pete Batard @ 2020-06-04 14:53 ` Leif Lindholm 2020-06-04 14:57 ` Ard Biesheuvel 1 sibling, 1 reply; 11+ messages in thread From: Leif Lindholm @ 2020-06-04 14:53 UTC (permalink / raw) To: Ard Biesheuvel Cc: devel, Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Pete Batard, Jeremy Linton On Thu, Jun 04, 2020 at 11:50:05 +0200, Ard Biesheuvel wrote: > In preparation of removing the EfiBootManagerConnectAll() from the > ordinary boot path, ensure that the MAC programming of the GENET > occurs even if the SNP driver for it is never invoked by the BDS. Does this not cause a behaviour change if the driver *has* been invoked, and the MAC address has been modified with SNP.StationAddress()? / Leif > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> > --- > Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c | 66 ++++++++++++++++++++ > 1 file changed, 66 insertions(+) > > diff --git a/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c b/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c > index f37da3b65511..7f93c68cd608 100644 > --- a/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c > +++ b/Silicon/Broadcom/Drivers/Net/BcmGenetDxe/DriverBinding.c > @@ -12,6 +12,7 @@ > #include <Uefi.h> > #include <Library/BaseMemoryLib.h> > #include <Library/DebugLib.h> > +#include <Library/IoLib.h> > #include <Library/MemoryAllocationLib.h> > #include <Library/NetLib.h> > #include <Library/UefiBootServicesTableLib.h> > @@ -20,6 +21,9 @@ > > #include "BcmGenetDxe.h" > > +STATIC EFI_EVENT mProtocolNotifyEvent; > +STATIC VOID *mProtocolNotifyEventRegistration; > + > /** > Tests to see if this driver supports a given controller. > > @@ -305,6 +309,57 @@ STATIC EFI_DRIVER_BINDING_PROTOCOL mGenetDriverBinding = { > NULL > }; > > +STATIC > +VOID > +EFIAPI > +OnProtocolNotify ( > + IN EFI_EVENT Event, > + IN VOID *Context > + ) > +{ > + BCM_GENET_PLATFORM_DEVICE_PROTOCOL *GenetDevice; > + EFI_STATUS Status; > + EFI_HANDLE *HandleBuffer; > + UINTN HandleCount; > + UINTN Index; > + UINT32 Mac0, Mac1; > + > + while (TRUE) { > + Status = gBS->LocateHandleBuffer (ByRegisterNotify, NULL, > + mProtocolNotifyEventRegistration, &HandleCount, > + &HandleBuffer); > + if (EFI_ERROR (Status)) { > + break; > + } > + > + for (Index = 0; Index < HandleCount; Index++) { > + Status = gBS->HandleProtocol (HandleBuffer[Index], > + &gBcmGenetPlatformDeviceProtocolGuid, > + (VOID **)&GenetDevice); > + ASSERT_EFI_ERROR (Status); > + > + Mac0 = (GenetDevice->MacAddress.Addr[3]) | > + (GenetDevice->MacAddress.Addr[2] << 8) | > + (GenetDevice->MacAddress.Addr[1] << 16) | > + (GenetDevice->MacAddress.Addr[0] << 24); > + Mac1 = (GenetDevice->MacAddress.Addr[5]) | > + (GenetDevice->MacAddress.Addr[4] << 8); > + > + MmioOr32 (GenetDevice->BaseAddress + GENET_SYS_RBUF_FLUSH_CTRL, > + GENET_SYS_RBUF_FLUSH_RESET); > + gBS->Stall (10); > + MmioAnd32 (GenetDevice->BaseAddress + GENET_SYS_RBUF_FLUSH_CTRL, > + ~GENET_SYS_RBUF_FLUSH_RESET); > + > + MemoryFence (); > + > + MmioWrite32 (GenetDevice->BaseAddress + GENET_UMAC_MAC0, Mac0); > + MmioWrite32 (GenetDevice->BaseAddress + GENET_UMAC_MAC1, Mac1); > + } > + FreePool (HandleBuffer); > + } > +} > + > /** > The entry point of GENET UEFI Driver. > > @@ -336,6 +391,17 @@ GenetEntryPoint ( > > ASSERT_EFI_ERROR (Status); > > + // > + // We need to program the MAC address into each existing controller, > + // regardless of whether UEFI ever makes use of the interface, so that > + // the OS driver will not have to care about this. > + // > + mProtocolNotifyEvent = EfiCreateProtocolNotifyEvent ( > + &gBcmGenetPlatformDeviceProtocolGuid, > + TPL_CALLBACK, OnProtocolNotify, NULL, > + &mProtocolNotifyEventRegistration); > + ASSERT (mProtocolNotifyEvent != NULL); > + > DEBUG ((DEBUG_INIT | DEBUG_INFO, "Installed GENET UEFI driver!\n")); > > return EFI_SUCCESS; > -- > 2.26.2 > ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected 2020-06-04 14:53 ` Leif Lindholm @ 2020-06-04 14:57 ` Ard Biesheuvel 2020-06-04 15:00 ` Leif Lindholm 0 siblings, 1 reply; 11+ messages in thread From: Ard Biesheuvel @ 2020-06-04 14:57 UTC (permalink / raw) To: Leif Lindholm Cc: devel, Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Pete Batard, Jeremy Linton On 6/4/20 4:53 PM, Leif Lindholm wrote: > On Thu, Jun 04, 2020 at 11:50:05 +0200, Ard Biesheuvel wrote: >> In preparation of removing the EfiBootManagerConnectAll() from the >> ordinary boot path, ensure that the MAC programming of the GENET >> occurs even if the SNP driver for it is never invoked by the BDS. > > Does this not cause a behaviour change if the driver *has* been > invoked, and the MAC address has been modified with > SNP.StationAddress()? > No, the MAC is programmed when the device is registered. If SNP takes control, it does so afterwards, and will be able to supersede the MAC as before. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected 2020-06-04 14:57 ` Ard Biesheuvel @ 2020-06-04 15:00 ` Leif Lindholm 0 siblings, 0 replies; 11+ messages in thread From: Leif Lindholm @ 2020-06-04 15:00 UTC (permalink / raw) To: Ard Biesheuvel Cc: devel, Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Pete Batard, Jeremy Linton On Thu, Jun 04, 2020 at 16:57:00 +0200, Ard Biesheuvel wrote: > On 6/4/20 4:53 PM, Leif Lindholm wrote: > > On Thu, Jun 04, 2020 at 11:50:05 +0200, Ard Biesheuvel wrote: > > > In preparation of removing the EfiBootManagerConnectAll() from the > > > ordinary boot path, ensure that the MAC programming of the GENET > > > occurs even if the SNP driver for it is never invoked by the BDS. > > > > Does this not cause a behaviour change if the driver *has* been > > invoked, and the MAC address has been modified with > > SNP.StationAddress()? > > No, the MAC is programmed when the device is registered. If SNP takes > control, it does so afterwards, and will be able to supersede the MAC as > before. Ah, good. Then, for the series: Acked-by: Leif Lindholm <leif@nuviainc.com> ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH edk2-platforms 2/3] Platform/RaspberryPi: add UEFI Shell to boot manager menu 2020-06-04 9:50 [PATCH edk2-platforms 0/3] Platform/RaspberryPi: omit ConnectAll() on regular boot Ard Biesheuvel 2020-06-04 9:50 ` [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected Ard Biesheuvel @ 2020-06-04 9:50 ` Ard Biesheuvel 2020-06-04 12:27 ` Pete Batard 2020-06-04 9:50 ` [PATCH edk2-platforms 3/3] Platform/RaspberryPi: don't connect all devices on an ordinary boot Ard Biesheuvel 2 siblings, 1 reply; 11+ messages in thread From: Ard Biesheuvel @ 2020-06-04 9:50 UTC (permalink / raw) To: devel Cc: Ard Biesheuvel, Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Leif Lindholm, Pete Batard, Jeremy Linton Take advantage of a recent change to the core EDK2 BDS code that makes boot options with the LOAD_OPTION_ACTIVE flag cleared visible in the boot manager menu, so that they can be selected manually while never being considered for automatic booting (unless selected specifically via BootNext) Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> --- Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c index 996ba8f39938..2bd625ad7e7c 100644 --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c @@ -460,7 +460,7 @@ PlatformRegisterOptionsAndKeys ( RemoveStaleBootOptions (); ShellOption = PlatformRegisterFvBootOption (&gUefiShellFileGuid, - L"UEFI Shell", LOAD_OPTION_CATEGORY_APP); + L"UEFI Shell", 0); if (ShellOption != -1) { // // F1 boots Shell. -- 2.26.2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH edk2-platforms 2/3] Platform/RaspberryPi: add UEFI Shell to boot manager menu 2020-06-04 9:50 ` [PATCH edk2-platforms 2/3] Platform/RaspberryPi: add UEFI Shell to boot manager menu Ard Biesheuvel @ 2020-06-04 12:27 ` Pete Batard 0 siblings, 0 replies; 11+ messages in thread From: Pete Batard @ 2020-06-04 12:27 UTC (permalink / raw) To: Ard Biesheuvel, devel Cc: Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Leif Lindholm, Jeremy Linton On 2020.06.04 10:50, Ard Biesheuvel wrote: > Take advantage of a recent change to the core EDK2 BDS code that > makes boot options with the LOAD_OPTION_ACTIVE flag cleared visible > in the boot manager menu, so that they can be selected manually > while never being considered for automatic booting (unless selected > specifically via BootNext) > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> > --- > Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > index 996ba8f39938..2bd625ad7e7c 100644 > --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > @@ -460,7 +460,7 @@ PlatformRegisterOptionsAndKeys ( > RemoveStaleBootOptions (); > > > > ShellOption = PlatformRegisterFvBootOption (&gUefiShellFileGuid, > > - L"UEFI Shell", LOAD_OPTION_CATEGORY_APP); > > + L"UEFI Shell", 0); > > if (ShellOption != -1) { > > // > > // F1 boots Shell. > Reviewed-by: Pete Batard <pete@akeo.ie> ^ permalink raw reply [flat|nested] 11+ messages in thread
* [PATCH edk2-platforms 3/3] Platform/RaspberryPi: don't connect all devices on an ordinary boot 2020-06-04 9:50 [PATCH edk2-platforms 0/3] Platform/RaspberryPi: omit ConnectAll() on regular boot Ard Biesheuvel 2020-06-04 9:50 ` [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected Ard Biesheuvel 2020-06-04 9:50 ` [PATCH edk2-platforms 2/3] Platform/RaspberryPi: add UEFI Shell to boot manager menu Ard Biesheuvel @ 2020-06-04 9:50 ` Ard Biesheuvel 2020-06-04 12:27 ` Pete Batard 2 siblings, 1 reply; 11+ messages in thread From: Ard Biesheuvel @ 2020-06-04 9:50 UTC (permalink / raw) To: devel Cc: Ard Biesheuvel, Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Leif Lindholm, Pete Batard, Jeremy Linton The BDS will connect device paths that are considered as boot options, so there is really no reason to always connect absolutely everything. So now that all the drivers have been updated to play nice in this case, remove the ConnectAll() call from the RPi BDS code. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> --- Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c index 2bd625ad7e7c..253614a646c1 100644 --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c @@ -655,11 +655,6 @@ PlatformBootManagerAfterConsole ( Print (BOOT_PROMPT); } - // - // Connect the rest of the devices. - // - EfiBootManagerConnectAll (); - Status = gBS->LocateProtocol (&gEsrtManagementProtocolGuid, NULL, (VOID**)&EsrtManagement); if (!EFI_ERROR (Status)) { EsrtManagement->SyncEsrtFmp (); -- 2.26.2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH edk2-platforms 3/3] Platform/RaspberryPi: don't connect all devices on an ordinary boot 2020-06-04 9:50 ` [PATCH edk2-platforms 3/3] Platform/RaspberryPi: don't connect all devices on an ordinary boot Ard Biesheuvel @ 2020-06-04 12:27 ` Pete Batard 2020-06-05 8:10 ` Ard Biesheuvel 0 siblings, 1 reply; 11+ messages in thread From: Pete Batard @ 2020-06-04 12:27 UTC (permalink / raw) To: Ard Biesheuvel, devel Cc: Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Leif Lindholm, Jeremy Linton On 2020.06.04 10:50, Ard Biesheuvel wrote: > The BDS will connect device paths that are considered as boot options, > so there is really no reason to always connect absolutely everything. > So now that all the drivers have been updated to play nice in this > case, remove the ConnectAll() call from the RPi BDS code. > > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> > --- > Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c | 5 ----- > 1 file changed, 5 deletions(-) > > diff --git a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > index 2bd625ad7e7c..253614a646c1 100644 > --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c > @@ -655,11 +655,6 @@ PlatformBootManagerAfterConsole ( > Print (BOOT_PROMPT); > > } > > > > - // > > - // Connect the rest of the devices. > > - // > > - EfiBootManagerConnectAll (); > > - > > Status = gBS->LocateProtocol (&gEsrtManagementProtocolGuid, NULL, (VOID**)&EsrtManagement); > > if (!EFI_ERROR (Status)) { > > EsrtManagement->SyncEsrtFmp (); > Reviewed-by: Pete Batard <pete@akeo.ie> For the series (after application of the planned edk2 commits to confirm that UEFI Shell is now added as an option in Boot Manager): Tested-by: Pete Batard <pete@akeo.ie> ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH edk2-platforms 3/3] Platform/RaspberryPi: don't connect all devices on an ordinary boot 2020-06-04 12:27 ` Pete Batard @ 2020-06-05 8:10 ` Ard Biesheuvel 0 siblings, 0 replies; 11+ messages in thread From: Ard Biesheuvel @ 2020-06-05 8:10 UTC (permalink / raw) To: Pete Batard, devel Cc: Jared McNeill, Andrei Warkentin, Samer El-Haj-Mahmoud, Leif Lindholm, Jeremy Linton On 6/4/20 2:27 PM, Pete Batard wrote: > On 2020.06.04 10:50, Ard Biesheuvel wrote: >> The BDS will connect device paths that are considered as boot options, >> so there is really no reason to always connect absolutely everything. >> So now that all the drivers have been updated to play nice in this >> case, remove the ConnectAll() call from the RPi BDS code. >> >> Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com> >> --- >> Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c | 5 >> ----- >> 1 file changed, 5 deletions(-) >> >> diff --git >> a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c >> b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c >> index 2bd625ad7e7c..253614a646c1 100644 >> --- a/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c >> +++ b/Platform/RaspberryPi/Library/PlatformBootManagerLib/PlatformBm.c >> @@ -655,11 +655,6 @@ PlatformBootManagerAfterConsole ( >> Print (BOOT_PROMPT); >> >> } >> >> >> - // >> >> - // Connect the rest of the devices. >> >> - // >> >> - EfiBootManagerConnectAll (); >> >> - >> >> Status = gBS->LocateProtocol (&gEsrtManagementProtocolGuid, NULL, >> (VOID**)&EsrtManagement); >> >> if (!EFI_ERROR (Status)) { >> >> EsrtManagement->SyncEsrtFmp (); >> > > Reviewed-by: Pete Batard <pete@akeo.ie> > For the series (after application of the planned edk2 commits to confirm > that UEFI Shell is now added as an option in Boot Manager): > Tested-by: Pete Batard <pete@akeo.ie> Series pushed as 4a937016142e..c8000ecccc83 Thanks all ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2020-06-05 8:10 UTC | newest] Thread overview: 11+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-06-04 9:50 [PATCH edk2-platforms 0/3] Platform/RaspberryPi: omit ConnectAll() on regular boot Ard Biesheuvel 2020-06-04 9:50 ` [PATCH edk2-platforms 1/3] Silicon/Broadcom/BcmGenetDxe: program MAC also when not connected Ard Biesheuvel 2020-06-04 12:27 ` Pete Batard 2020-06-04 14:53 ` Leif Lindholm 2020-06-04 14:57 ` Ard Biesheuvel 2020-06-04 15:00 ` Leif Lindholm 2020-06-04 9:50 ` [PATCH edk2-platforms 2/3] Platform/RaspberryPi: add UEFI Shell to boot manager menu Ard Biesheuvel 2020-06-04 12:27 ` Pete Batard 2020-06-04 9:50 ` [PATCH edk2-platforms 3/3] Platform/RaspberryPi: don't connect all devices on an ordinary boot Ard Biesheuvel 2020-06-04 12:27 ` Pete Batard 2020-06-05 8:10 ` Ard Biesheuvel
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox