All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] efi: Various tidy-ups and drop the default
@ 2021-06-28  1:48 Simon Glass
  2021-06-28  1:48 ` [PATCH 1/7] configs: Resync with savedefconfig Simon Glass
                   ` (7 more replies)
  0 siblings, 8 replies; 34+ messages in thread
From: Simon Glass @ 2021-06-28  1:48 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Pali Rohár, Heinrich Schuchardt, Ilias Apalodimas, Tom Rini,
	Simon Glass, Alexander Graf, Masahiro Yamada

It has come to light that EFI_LOADER adds an extraordinary amount of
code to U-Boot. For example, with nokia_rx51 the size delta is about
90KB. About 170 boards explicitly disable the option, but is is clear
that many more could, thus saving image size and boot time.

The current situation is affecting U-Boot's image as a svelt bootloader.

EFI_LOADER is required by EBBR, a new boot standard which aims to
bring in UEFI protocols to U-Boot. But EBRR is not required for
booting. U-Boot already provides support for FIT, the 'bootm' command
and a suitable hand-off to Linux. EBRR has made the decision to create
a parallel infrastructure, e.g. does not use FIT, nor U-Boot's signing
infrastructure.

EBBR should be truly optional, enabled only by boards that use it. Most
don't use it but it is enabled anyway. The default boot path should be
one that makes use of the existing U-Boot support.

To try to retify this situation, this series adds a new Kconfig option
for EBBR so that the naming is more explicit. Then EFI_LOADER is updated
to depend on it.

For now, only sandbox enables EBBR. Other boards can be added as needed,
presumably by distributions that require it. Another approach would be
to add 'CONFIG_EBBR=y' to the .config before building, in the build
system. That might be more friendly to U-Boot users.

This series also fixes a minor issue noticed during testing.


Simon Glass (7):
  configs: Resync with savedefconfig
  Makefile: Drop include/asm directory as well as symlink
  disk: Tidy up #ifdefs in part_efi
  Use LIB_UUID with ACPIGEN and FS_BTRFS
  Allow efi_loader header to be included always
  lib: Create a new Kconfig option for charset conversion
  efi: Make EBBR optional

 Makefile                                      |   2 +-
 common/Kconfig.boot                           |  15 ++
 configs/am335x_igep003x_defconfig             |   1 -
 configs/am335x_pdu001_defconfig               |   1 -
 configs/am64x_evm_a53_defconfig               |  31 ++-
 configs/am64x_evm_r5_defconfig                |   6 +-
 configs/apalis-imx8_defconfig                 |   1 -
 configs/apalis-imx8x_defconfig                |   1 -
 configs/aristainetos2c_defconfig              |   1 -
 configs/aristainetos2ccslb_defconfig          |   1 -
 ...edev_cc_v1_0_ultrazedev_som_v1_0_defconfig |   1 -
 configs/bcm7260_defconfig                     |   1 -
 configs/bcm7445_defconfig                     |   1 -
 configs/bcm963158_ram_defconfig               |   1 -
 configs/bcm968580xref_ram_defconfig           |   1 -
 configs/bitmain_antminer_s9_defconfig         |   1 -
 configs/bk4r1_defconfig                       |   1 -
 configs/brppt1_mmc_defconfig                  |   1 -
 configs/brppt1_nand_defconfig                 |   1 -
 configs/brppt1_spi_defconfig                  |   1 -
 configs/brppt2_defconfig                      |   1 -
 configs/brsmarc1_defconfig                    |   1 -
 configs/brxre1_defconfig                      |   1 -
 configs/chromebook_coral_defconfig            |   1 -
 configs/chromebook_link_defconfig             |   1 -
 configs/colibri-imx8x_defconfig               |   1 -
 configs/colibri_vf_defconfig                  |   1 -
 configs/controlcenterdc_defconfig             |   1 -
 configs/crs305-1g-4s-bit_defconfig            |   1 -
 configs/crs305-1g-4s_defconfig                |   1 -
 configs/crs326-24g-2s-bit_defconfig           |   1 -
 configs/crs326-24g-2s_defconfig               |   1 -
 configs/crs328-4c-20s-4s-bit_defconfig        |   1 -
 configs/crs328-4c-20s-4s_defconfig            |   1 -
 configs/deneb_defconfig                       |   1 -
 configs/draco_defconfig                       |   2 +-
 configs/dragonboard820c_defconfig             |   1 -
 configs/efi-x86_app_defconfig                 |   1 -
 configs/etamin_defconfig                      |   2 +-
 configs/evb-ast2600_defconfig                 |   1 -
 configs/evb-px30_defconfig                    |   1 -
 configs/evb-rk3308_defconfig                  |   1 -
 configs/firefly-px30_defconfig                |   1 -
 configs/ge_bx50v3_defconfig                   |   1 -
 configs/giedi_defconfig                       |   1 -
 configs/grpeach_defconfig                     |   1 -
 configs/imx8mm-cl-iot-gate_defconfig          |   8 -
 configs/imx8qm_mek_defconfig                  |   1 -
 configs/imx8qm_rom7720_a1_4G_defconfig        |   1 -
 configs/imx8qxp_mek_defconfig                 |   1 -
 configs/j7200_evm_r5_defconfig                |  15 +-
 configs/j721e_evm_r5_defconfig                |  13 +-
 configs/kontron_sl28_defconfig                |   2 -
 configs/kp_imx53_defconfig                    |   1 -
 configs/ls1028aqds_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/ls1028aqds_tfa_defconfig              |   1 -
 configs/ls1028aqds_tfa_lpuart_defconfig       |   1 -
 configs/ls1028ardb_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/ls1028ardb_tfa_defconfig              |   1 -
 configs/ls1043aqds_defconfig                  |   1 -
 configs/ls1043aqds_lpuart_defconfig           |   1 -
 configs/ls1043aqds_nand_defconfig             |   1 -
 configs/ls1043aqds_nor_ddr3_defconfig         |   1 -
 configs/ls1043aqds_qspi_defconfig             |   1 -
 configs/ls1043aqds_sdcard_ifc_defconfig       |   1 -
 configs/ls1043aqds_sdcard_qspi_defconfig      |   1 -
 configs/ls1043aqds_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/ls1043aqds_tfa_defconfig              |   1 -
 configs/ls1043ardb_SECURE_BOOT_defconfig      |   1 -
 configs/ls1043ardb_defconfig                  |   1 -
 configs/ls1043ardb_nand_SECURE_BOOT_defconfig |   1 -
 configs/ls1043ardb_nand_defconfig             |   1 -
 .../ls1043ardb_sdcard_SECURE_BOOT_defconfig   |   1 -
 configs/ls1043ardb_sdcard_defconfig           |   1 -
 configs/ls1043ardb_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/ls1043ardb_tfa_defconfig              |   1 -
 configs/ls1046aqds_SECURE_BOOT_defconfig      |   1 -
 configs/ls1046aqds_defconfig                  |   1 -
 configs/ls1046aqds_lpuart_defconfig           |   1 -
 configs/ls1046aqds_nand_defconfig             |   1 -
 configs/ls1046aqds_qspi_defconfig             |   1 -
 configs/ls1046aqds_sdcard_ifc_defconfig       |   1 -
 configs/ls1046aqds_sdcard_qspi_defconfig      |   1 -
 configs/ls1046aqds_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/ls1046aqds_tfa_defconfig              |   1 -
 configs/ls1046ardb_emmc_defconfig             |   1 -
 configs/ls1046ardb_qspi_SECURE_BOOT_defconfig |   1 -
 configs/ls1046ardb_qspi_defconfig             |   1 -
 configs/ls1046ardb_qspi_spl_defconfig         |   1 -
 .../ls1046ardb_sdcard_SECURE_BOOT_defconfig   |   1 -
 configs/ls1046ardb_sdcard_defconfig           |   1 -
 configs/ls1046ardb_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/ls1046ardb_tfa_defconfig              |   1 -
 configs/ls1088aqds_qspi_SECURE_BOOT_defconfig |   1 -
 configs/ls1088aqds_qspi_defconfig             |   1 -
 configs/ls1088aqds_tfa_defconfig              |   1 -
 configs/ls1088ardb_qspi_SECURE_BOOT_defconfig |   1 -
 configs/ls1088ardb_qspi_defconfig             |   1 -
 configs/ls1088ardb_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/ls1088ardb_tfa_defconfig              |   1 -
 configs/ls2080aqds_SECURE_BOOT_defconfig      |   1 -
 configs/ls2080aqds_defconfig                  |   1 -
 configs/ls2080aqds_nand_defconfig             |   1 -
 configs/ls2080aqds_qspi_defconfig             |   1 -
 configs/ls2080aqds_sdcard_defconfig           |   1 -
 configs/ls2080ardb_SECURE_BOOT_defconfig      |   1 -
 configs/ls2080ardb_defconfig                  |   1 -
 configs/ls2080ardb_nand_defconfig             |   1 -
 configs/ls2081ardb_defconfig                  |   1 -
 configs/ls2088aqds_tfa_defconfig              |   1 -
 configs/ls2088ardb_qspi_SECURE_BOOT_defconfig |   1 -
 configs/ls2088ardb_qspi_defconfig             |   1 -
 configs/ls2088ardb_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/ls2088ardb_tfa_defconfig              |   1 -
 configs/lx2160aqds_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/lx2160aqds_tfa_defconfig              |   1 -
 configs/lx2160ardb_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/lx2160ardb_tfa_defconfig              |   1 -
 configs/lx2160ardb_tfa_stmm_defconfig         |   4 -
 configs/lx2162aqds_tfa_SECURE_BOOT_defconfig  |   1 -
 configs/lx2162aqds_tfa_defconfig              |   1 -
 .../lx2162aqds_tfa_verified_boot_defconfig    |   1 -
 configs/mt7623n_bpir2_defconfig               |   1 -
 configs/mt7629_rfb_defconfig                  |   1 -
 configs/mt8183_pumpkin_defconfig              |   1 -
 configs/mt8516_pumpkin_defconfig              |   1 -
 configs/mvebu_puzzle-m801-88f8040_defconfig   |   1 -
 configs/mx6memcal_defconfig                   |   1 -
 configs/octeontx2_95xx_defconfig              |   1 -
 configs/octeontx2_96xx_defconfig              |   1 -
 configs/octeontx_81xx_defconfig               |   1 -
 configs/octeontx_83xx_defconfig               |   1 -
 configs/omap4_sdp4430_defconfig               |   1 -
 configs/opos6uldev_defconfig                  |   1 -
 configs/pcm052_defconfig                      |   1 -
 configs/phycore-am335x-r2-regor_defconfig     |   1 -
 configs/phycore-am335x-r2-wega_defconfig      |   1 -
 configs/pxm2_defconfig                        |   2 +-
 configs/qemu-riscv32_defconfig                |   2 -
 configs/qemu-riscv32_smode_defconfig          |   2 -
 configs/qemu-riscv64_defconfig                |   2 -
 configs/qemu-riscv64_smode_defconfig          |   2 -
 configs/qemu-x86_64_defconfig                 |   2 -
 configs/qemu-x86_defconfig                    |   2 -
 configs/qemu_arm64_defconfig                  |   2 -
 configs/qemu_arm_defconfig                    |   2 -
 configs/rastaban_defconfig                    |   2 +-
 configs/roc-cc-rk3308_defconfig               |   1 -
 configs/rock-pi-n10-rk3399pro_defconfig       |   1 -
 configs/rock-pi-n8-rk3288_defconfig           |   1 -
 configs/rpi_0_w_defconfig                     |   1 -
 configs/rpi_defconfig                         |   1 -
 configs/rut_defconfig                         |   2 +-
 configs/sama5d27_wlsom1_ek_mmc_defconfig      |   1 -
 .../sama5d27_wlsom1_ek_qspiflash_defconfig    |   1 -
 configs/sama5d2_icp_mmc_defconfig             |   1 -
 configs/sama7g5ek_mmc1_defconfig              |   1 -
 configs/sama7g5ek_mmc_defconfig               |   1 -
 configs/sipeed_maix_bitm_defconfig            |   1 -
 configs/sipeed_maix_smode_defconfig           |   1 -
 configs/socfpga_de1_soc_defconfig             |   1 -
 configs/somlabs_visionsom_6ull_defconfig      |   1 -
 configs/stemmy_defconfig                      |   1 -
 configs/stm32mp15_basic_defconfig             |   3 -
 configs/stm32mp15_trusted_defconfig           |   3 -
 configs/tbs2910_defconfig                     |   1 -
 configs/thuban_defconfig                      |   2 +-
 configs/vf610twr_defconfig                    |   1 -
 configs/vf610twr_nand_defconfig               |   1 -
 configs/xenguest_arm64_defconfig              |   1 -
 configs/xilinx_versal_mini_defconfig          |   1 -
 configs/xilinx_versal_mini_emmc0_defconfig    |   1 -
 configs/xilinx_versal_mini_emmc1_defconfig    |   1 -
 configs/xilinx_versal_virt_defconfig          |   2 -
 configs/xilinx_zynqmp_mini_defconfig          |   1 -
 configs/xilinx_zynqmp_mini_emmc0_defconfig    |   1 -
 configs/xilinx_zynqmp_mini_emmc1_defconfig    |   1 -
 configs/xilinx_zynqmp_mini_nand_defconfig     |   1 -
 .../xilinx_zynqmp_mini_nand_single_defconfig  |   1 -
 configs/xilinx_zynqmp_mini_qspi_defconfig     |   1 -
 configs/xilinx_zynqmp_r5_defconfig            |   1 -
 configs/xilinx_zynqmp_virt_defconfig          |   9 -
 configs/zynq_cse_nand_defconfig               |   1 -
 configs/zynq_cse_nor_defconfig                |   1 -
 configs/zynq_cse_qspi_defconfig               |   1 -
 disk/part_efi.c                               |  11 +-
 drivers/core/Kconfig                          |   1 +
 fs/btrfs/Kconfig                              |   1 +
 include/efi_loader.h                          | 186 +++++++++---------
 lib/Kconfig                                   |   8 +
 lib/Makefile                                  |   2 +-
 lib/efi_loader/Kconfig                        |   5 +-
 192 files changed, 160 insertions(+), 353 deletions(-)

-- 
2.32.0.93.g670b81a890-goog


^ permalink raw reply	[flat|nested] 34+ messages in thread

end of thread, other threads:[~2021-07-02 20:47 UTC | newest]

Thread overview: 34+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-28  1:48 [PATCH 0/7] efi: Various tidy-ups and drop the default Simon Glass
2021-06-28  1:48 ` [PATCH 1/7] configs: Resync with savedefconfig Simon Glass
2021-06-28  1:48 ` [PATCH 2/7] Makefile: Drop include/asm directory as well as symlink Simon Glass
2021-06-28  1:48 ` [PATCH 3/7] disk: Tidy up #ifdefs in part_efi Simon Glass
2021-06-28 11:20   ` Heinrich Schuchardt
2021-06-28 13:50     ` Tom Rini
2021-06-28 16:18       ` Heinrich Schuchardt
2021-06-28  1:48 ` [PATCH 4/7] Use LIB_UUID with ACPIGEN and FS_BTRFS Simon Glass
2021-06-28  1:48 ` [PATCH 5/7] Allow efi_loader header to be included always Simon Glass
2021-06-28 11:02   ` Heinrich Schuchardt
2021-06-28  1:48 ` [PATCH 6/7] lib: Create a new Kconfig option for charset conversion Simon Glass
2021-06-28 10:37   ` Heinrich Schuchardt
2021-06-28  1:48 ` [PATCH 7/7] efi: Make EBBR optional Simon Glass
2021-06-28  9:48   ` Heinrich Schuchardt
2021-06-28 13:48     ` Tom Rini
2021-06-28  8:38 ` [PATCH 0/7] efi: Various tidy-ups and drop the default Mark Kettenis
2021-06-28  8:59   ` Ilias Apalodimas
2021-06-28 13:37   ` Tom Rini
2021-06-28 14:18     ` Simon Glass
2021-06-28 15:20       ` Heinrich Schuchardt
2021-06-28 16:26         ` Simon Glass
2021-06-28 17:09           ` Heinrich Schuchardt
2021-06-28 18:02             ` Simon Glass
2021-06-28 17:27           ` Tom Rini
2021-06-28 18:08             ` Simon Glass
2021-06-29 12:56               ` AKASHI Takahiro
2021-06-29 14:01                 ` Heinrich Schuchardt
2021-06-29 14:14                   ` AKASHI Takahiro
2021-06-28 17:49       ` Mark Kettenis
2021-07-02 19:05         ` Simon Glass
2021-07-02 19:48           ` Mark Kettenis
2021-07-02 20:09             ` Tom Rini
2021-07-02 20:47             ` Simon Glass
2021-06-28 14:25     ` Heinrich Schuchardt

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.