* [Patch V2 0/2] EmulatorPkg: fix boot order bugs @ 2019-05-06 2:06 Zhiguang Liu 2019-05-06 2:06 ` [Patch V2 1/2] EmulatorPkg: Save the modified order after rebooting Zhiguang Liu 2019-05-06 2:06 ` [Patch V2 2/2] EmulatorPkg: Make the shell be the first boot option Zhiguang Liu 0 siblings, 2 replies; 5+ messages in thread From: Zhiguang Liu @ 2019-05-06 2:06 UTC (permalink / raw) To: devel; +Cc: Jordan Justen, Andrew Fish, Ray Ni this series will fix boot order bugs and make shell be the first by default. Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> Zhiguang Liu (2): EmulatorPkg: Save the modified order after rebooting EmulatorPkg: Make the shell be the first boot option EmulatorPkg/EmulatorPkg.fdf | 1 + EmulatorPkg/Library/PlatformBmLib/PlatformBm.c | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) -- 2.21.0.windows.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Patch V2 1/2] EmulatorPkg: Save the modified order after rebooting 2019-05-06 2:06 [Patch V2 0/2] EmulatorPkg: fix boot order bugs Zhiguang Liu @ 2019-05-06 2:06 ` Zhiguang Liu 2019-05-06 2:37 ` Ni, Ray 2019-05-06 2:06 ` [Patch V2 2/2] EmulatorPkg: Make the shell be the first boot option Zhiguang Liu 1 sibling, 1 reply; 5+ messages in thread From: Zhiguang Liu @ 2019-05-06 2:06 UTC (permalink / raw) To: devel; +Cc: Jordan Justen, Andrew Fish, Ray Ni REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1650 v2: Abandon v1, and avoid using memory mapped FV device path by adding FvNameGuid to EmulatorPkg.fdf file. v1: The reason why boot order changed is that everytime Emulator restarts, the memory mapped address will change. This patch correct the device path to the right one. Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> --- EmulatorPkg/EmulatorPkg.fdf | 1 + 1 file changed, 1 insertion(+) diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf index 85197a14ca..c5c69f8a84 100644 --- a/EmulatorPkg/EmulatorPkg.fdf +++ b/EmulatorPkg/EmulatorPkg.fdf @@ -80,6 +80,7 @@ DATA = { gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwSpareBase|gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize [FV.FvRecovery] +FvNameGuid = 6D99E806-3D38-42c2-A095-5F4300BFD7DC FvAlignment = 16 #FV alignment and FV attributes setting. ERASE_POLARITY = 1 MEMORY_MAPPED = TRUE -- 2.21.0.windows.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Patch V2 1/2] EmulatorPkg: Save the modified order after rebooting 2019-05-06 2:06 ` [Patch V2 1/2] EmulatorPkg: Save the modified order after rebooting Zhiguang Liu @ 2019-05-06 2:37 ` Ni, Ray 0 siblings, 0 replies; 5+ messages in thread From: Ni, Ray @ 2019-05-06 2:37 UTC (permalink / raw) To: Liu, Zhiguang, devel@edk2.groups.io; +Cc: Justen, Jordan L, Andrew Fish Reviewed-by: Ray Ni <ray.ni@intel.com> > -----Original Message----- > From: Liu, Zhiguang > Sent: Monday, May 6, 2019 10:06 AM > To: devel@edk2.groups.io > Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Andrew Fish > <afish@apple.com>; Ni, Ray <ray.ni@intel.com> > Subject: [Patch V2 1/2] EmulatorPkg: Save the modified order after rebooting > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1650 > > v2: > Abandon v1, and avoid using memory mapped FV device path by adding > FvNameGuid to EmulatorPkg.fdf file. > > v1: > The reason why boot order changed is that everytime Emulator restarts, the > memory mapped address will change. > This patch correct the device path to the right one. > > Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Andrew Fish <afish@apple.com> > Cc: Ray Ni <ray.ni@intel.com> > --- > EmulatorPkg/EmulatorPkg.fdf | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/EmulatorPkg/EmulatorPkg.fdf b/EmulatorPkg/EmulatorPkg.fdf > index 85197a14ca..c5c69f8a84 100644 > --- a/EmulatorPkg/EmulatorPkg.fdf > +++ b/EmulatorPkg/EmulatorPkg.fdf > @@ -80,6 +80,7 @@ DATA = { > > gEmulatorPkgTokenSpaceGuid.PcdEmuFlashNvStorageFtwSpareBase|gEfiMd > eModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize > > [FV.FvRecovery] > +FvNameGuid = 6D99E806-3D38-42c2-A095-5F4300BFD7DC > FvAlignment = 16 #FV alignment and FV attributes setting. > ERASE_POLARITY = 1 > MEMORY_MAPPED = TRUE > -- > 2.21.0.windows.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Patch V2 2/2] EmulatorPkg: Make the shell be the first boot option 2019-05-06 2:06 [Patch V2 0/2] EmulatorPkg: fix boot order bugs Zhiguang Liu 2019-05-06 2:06 ` [Patch V2 1/2] EmulatorPkg: Save the modified order after rebooting Zhiguang Liu @ 2019-05-06 2:06 ` Zhiguang Liu 2019-05-06 2:38 ` Ni, Ray 1 sibling, 1 reply; 5+ messages in thread From: Zhiguang Liu @ 2019-05-06 2:06 UTC (permalink / raw) To: devel; +Cc: Jordan Justen, Andrew Fish, Ray Ni REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1649 Make the shell be the first boot option by default, So it can boot into UEFI Internal Shell directly Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Andrew Fish <afish@apple.com> Cc: Ray Ni <ray.ni@intel.com> --- EmulatorPkg/Library/PlatformBmLib/PlatformBm.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.c b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.c index 191ce58cfb..03f6157ae8 100644 --- a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.c +++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.c @@ -332,6 +332,35 @@ PlatformBdsRegisterStaticBootOptions ( PrintXY (10, 50, &White, &Black, L"Enter to boot directly."); } +/** + Returns the priority number. + + @param BootOption +**/ +UINTN +BootOptionPriority ( + CONST EFI_BOOT_MANAGER_LOAD_OPTION *BootOption + ) +{ + // + // Make sure Shell is first + // + if (StrCmp (BootOption->Description, L"UEFI Shell") == 0) { + return 0; + } + return 100; +} + +INTN +EFIAPI +CompareBootOption ( + CONST EFI_BOOT_MANAGER_LOAD_OPTION *Left, + CONST EFI_BOOT_MANAGER_LOAD_OPTION *Right + ) +{ + return BootOptionPriority (Left) - BootOptionPriority (Right); +} + /** Do the platform specific action after the console is connected. @@ -377,6 +406,7 @@ PlatformBootManagerAfterConsole ( PlatformBdsRegisterStaticBootOptions (); PlatformBdsConnectSequence (); EfiBootManagerRefreshAllBootOption (); + EfiBootManagerSortLoadOptionVariable (LoadOptionTypeBoot, (SORT_COMPARE)CompareBootOption); break; } } -- 2.21.0.windows.1 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Patch V2 2/2] EmulatorPkg: Make the shell be the first boot option 2019-05-06 2:06 ` [Patch V2 2/2] EmulatorPkg: Make the shell be the first boot option Zhiguang Liu @ 2019-05-06 2:38 ` Ni, Ray 0 siblings, 0 replies; 5+ messages in thread From: Ni, Ray @ 2019-05-06 2:38 UTC (permalink / raw) To: Liu, Zhiguang, devel@edk2.groups.io; +Cc: Justen, Jordan L, Andrew Fish Reviewed-by: Ray Ni <ray.ni@intel.com> > -----Original Message----- > From: Liu, Zhiguang > Sent: Monday, May 6, 2019 10:06 AM > To: devel@edk2.groups.io > Cc: Justen, Jordan L <jordan.l.justen@intel.com>; Andrew Fish > <afish@apple.com>; Ni, Ray <ray.ni@intel.com> > Subject: [Patch V2 2/2] EmulatorPkg: Make the shell be the first boot option > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=1649 > > Make the shell be the first boot option by default, So it can boot into UEFI > Internal Shell directly > > Signed-off-by: Zhiguang Liu <zhiguang.liu@intel.com> > Cc: Jordan Justen <jordan.l.justen@intel.com> > Cc: Andrew Fish <afish@apple.com> > Cc: Ray Ni <ray.ni@intel.com> > --- > EmulatorPkg/Library/PlatformBmLib/PlatformBm.c | 30 > ++++++++++++++++++++++++++++++ > 1 file changed, 30 insertions(+) > > diff --git a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.c > b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.c > index 191ce58cfb..03f6157ae8 100644 > --- a/EmulatorPkg/Library/PlatformBmLib/PlatformBm.c > +++ b/EmulatorPkg/Library/PlatformBmLib/PlatformBm.c > @@ -332,6 +332,35 @@ PlatformBdsRegisterStaticBootOptions ( > PrintXY (10, 50, &White, &Black, L"Enter to boot directly."); } > > +/** > + Returns the priority number. > + > + @param BootOption > +**/ > +UINTN > +BootOptionPriority ( > + CONST EFI_BOOT_MANAGER_LOAD_OPTION *BootOption > + ) > +{ > + // > + // Make sure Shell is first > + // > + if (StrCmp (BootOption->Description, L"UEFI Shell") == 0) { > + return 0; > + } > + return 100; > +} > + > +INTN > +EFIAPI > +CompareBootOption ( > + CONST EFI_BOOT_MANAGER_LOAD_OPTION *Left, > + CONST EFI_BOOT_MANAGER_LOAD_OPTION *Right > + ) > +{ > + return BootOptionPriority (Left) - BootOptionPriority (Right); } > + > /** > Do the platform specific action after the console is connected. > > @@ -377,6 +406,7 @@ PlatformBootManagerAfterConsole ( > PlatformBdsRegisterStaticBootOptions (); > PlatformBdsConnectSequence (); > EfiBootManagerRefreshAllBootOption (); > + EfiBootManagerSortLoadOptionVariable (LoadOptionTypeBoot, > + (SORT_COMPARE)CompareBootOption); > break; > } > } > -- > 2.21.0.windows.1 ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2019-05-06 2:38 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2019-05-06 2:06 [Patch V2 0/2] EmulatorPkg: fix boot order bugs Zhiguang Liu 2019-05-06 2:06 ` [Patch V2 1/2] EmulatorPkg: Save the modified order after rebooting Zhiguang Liu 2019-05-06 2:37 ` Ni, Ray 2019-05-06 2:06 ` [Patch V2 2/2] EmulatorPkg: Make the shell be the first boot option Zhiguang Liu 2019-05-06 2:38 ` Ni, Ray
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox