
On Thu, Oct 26, 2023 at 02:30:39PM +0900, AKASHI Takahiro wrote:
This patch set is motivated by the discussion[1] regarding CONFIG_BOOTEFI_BOOTMGR option.
At the end, bootefi.c will be decomposed into two parts, one for providing the command itself and one for implementing helper functions. EFI_LOADER will now be available without CONFIG_CMDLINE or specifically CONFIG_CMD_BOOTEFI if invoked via bootmeth/bootstd.
Then, EFI_LOADER library side will be further split into two options for fine-grain control: CONFIG_EFI_BINARY_EXEC: execute UEFI binaries which are to be explicitly loaded by U-Boot's load commands/functions or other methods (like a jtag debugger?) It supports bootmeth_efi as well as "bootefi <addr>|hello"(/"bootm"?).
CONFIG_EFI_BOOTMGR: provide EFI boot manger functionality It supports bootmeth_efi_mgr as well as "bootefi bootmgr".
As such, We will no longer need CONFIG_BINARY_EXEC if we want to only make use of the boot manger for booting a next stage OS.
Prerequisite
This patch set is based on top of Simon/Tom's [2].
Patches
Patch#1-#11: I hope that those commits show step-by-step refactoring without introducing degradation. Patch#12-#13: Those are not directly related to the patch's aim, but they are necessary to compile U-Boot on sandbox (sandbox_defconfig) without CONFIG_CMDLINE.
I'm very happy to see this. In general, I need to make a v5 of my series as that will also include Heinrich's patch (v3 of it) to have sandbox enable --gc-sections and that in turn means that some of the work around handling unused functions should be easier.