All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] efi: Various tidy-ups and drop the default
@ 2021-07-02 18:36 Simon Glass
  2021-07-02 18:36 ` [PATCH v2 1/9] configs: Resync with savedefconfig Simon Glass
                   ` (9 more replies)
  0 siblings, 10 replies; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, 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.

The final patch makes EBBR optional. 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.

Changes in v2:
- Update commit message
- Update commit message to be clearer
- Drop 'struct blk_desc'
- Move all header inclusions to the top
- Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
- Note the approximate size of this feature in the help
- Split out new patch to create an option for EBBR

Simon Glass (9):
  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
  Make EFI_LOADER depend on DM and OF_CONTROL
  Add an option for EBBR
  efi: Make EBBR optional

 Makefile                                      |   2 +-
 common/Kconfig.boot                           |  16 ++
 configs/am335x_igep003x_defconfig             |   1 -
 configs/am335x_pdu001_defconfig               |   1 -
 configs/am64x_evm_a53_defconfig               |  31 ++-
 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/cgtqmx8_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/evb-rk3568_defconfig                  |   2 +-
 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/r8a779a0_falcon_defconfig             |   3 +-
 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/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/sandbox64_defconfig                   |   9 -
 configs/sandbox_defconfig                     |   9 -
 configs/sandbox_flattree_defconfig            |   2 -
 configs/sandbox_noinst_defconfig              |   2 -
 configs/sandbox_spl_defconfig                 |   2 -
 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/tools-only_defconfig                  |   1 -
 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                          | 187 +++++++++---------
 lib/Kconfig                                   |   8 +
 lib/Makefile                                  |   2 +-
 lib/efi_loader/Kconfig                        |   5 +-
 198 files changed, 160 insertions(+), 378 deletions(-)

-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 1/9] configs: Resync with savedefconfig
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-02 18:36 ` [PATCH v2 2/9] Makefile: Drop include/asm directory as well as symlink Simon Glass
                   ` (8 subsequent siblings)
  9 siblings, 0 replies; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass

Rsync all defconfig files using moveconfig.py

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 configs/am64x_evm_a53_defconfig   | 31 +++++++++++--------------------
 configs/draco_defconfig           |  2 +-
 configs/etamin_defconfig          |  2 +-
 configs/evb-rk3568_defconfig      |  2 +-
 configs/j7200_evm_r5_defconfig    | 15 +++++----------
 configs/j721e_evm_r5_defconfig    | 13 +++++--------
 configs/pxm2_defconfig            |  2 +-
 configs/r8a779a0_falcon_defconfig |  3 +--
 configs/rastaban_defconfig        |  2 +-
 configs/rut_defconfig             |  2 +-
 configs/thuban_defconfig          |  2 +-
 11 files changed, 29 insertions(+), 47 deletions(-)

diff --git a/configs/am64x_evm_a53_defconfig b/configs/am64x_evm_a53_defconfig
index ecbc43dbb63..ba3f9ad3283 100644
--- a/configs/am64x_evm_a53_defconfig
+++ b/configs/am64x_evm_a53_defconfig
@@ -30,8 +30,8 @@ CONFIG_SPL_SYS_MALLOC_SIMPLE=y
 CONFIG_SPL_STACK_R=y
 CONFIG_SPL_SEPARATE_BSS=y
 CONFIG_SPL_DMA=y
-CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_ENV_SUPPORT=y
+CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_DM_MAILBOX=y
 CONFIG_SPL_DM_SPI_FLASH=y
 CONFIG_SPL_POWER_DOMAIN=y
@@ -44,8 +44,11 @@ CONFIG_SPL_USB_GADGET=y
 CONFIG_SPL_DFU=y
 CONFIG_SPL_YMODEM_SUPPORT=y
 CONFIG_CMD_ASKENV=y
+CONFIG_CMD_DFU=y
+CONFIG_CMD_DM=y
 CONFIG_CMD_I2C=y
 CONFIG_CMD_MMC=y
+CONFIG_CMD_USB=y
 CONFIG_CMD_TIME=y
 CONFIG_OF_CONTROL=y
 CONFIG_SPL_OF_CONTROL=y
@@ -66,6 +69,11 @@ CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_CLK=y
 CONFIG_SPL_CLK=y
 CONFIG_CLK_TI_SCI=y
+CONFIG_DFU_MMC=y
+CONFIG_DFU_RAM=y
+CONFIG_DFU_SF=y
+CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000
+CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
 CONFIG_DMA_CHANNELS=y
 CONFIG_TI_K3_NAVSS_UDMA=y
 CONFIG_TI_SCI_PROTOCOL=y
@@ -107,37 +115,20 @@ CONFIG_SYSRESET_TI_SCI=y
 CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_OMAP_TIMER=y
-CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
-CONFIG_CMD_DFU=y
-CONFIG_CMD_DM=y
-CONFIG_CMD_USB=y
-CONFIG_DFU=y
-CONFIG_DFU_OVER_USB=y
-# CONFIG_DFU_TFTP is not set
-CONFIG_DFU_MMC=y
-CONFIG_DFU_RAM=y
-CONFIG_DFU_SF=y
-# CONFIG_DFU_VIRT is not set
-CONFIG_SYS_DFU_DATA_BUF_SIZE=0x40000
-CONFIG_SYS_DFU_MAX_FILE_SIZE=0x800000
 CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_DM_USB_GADGET=y
 CONFIG_SPL_DM_USB_GADGET=y
-CONFIG_USB_HOST=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_CDNS3=y
 CONFIG_USB_CDNS3_GADGET=y
-CONFIG_SPL_USB_CDNS3_GADGET=y
 CONFIG_USB_CDNS3_HOST=y
+CONFIG_SPL_USB_CDNS3_GADGET=y
 CONFIG_SPL_USB_CDNS3_HOST=y
-CONFIG_USB_CDNS3_TI=y
-CONFIG_USB_STORAGE=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_MANUFACTURER="Texas Instruments"
 CONFIG_USB_GADGET_VENDOR_NUM=0x0451
 CONFIG_USB_GADGET_PRODUCT_NUM=0x6165
-CONFIG_USB_GADGET_VBUS_DRAW=2
-CONFIG_USB_GADGET_DUALSPEED=y
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_USB_FUNCTION_MASS_STORAGE=y
+CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
diff --git a/configs/draco_defconfig b/configs/draco_defconfig
index e749608a5cc..5ee0449fc75 100644
--- a/configs/draco_defconfig
+++ b/configs/draco_defconfig
@@ -75,8 +75,8 @@ CONFIG_SPL_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
-# CONFIG_SPL_DM_MMC is not set
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+# CONFIG_SPL_DM_MMC is not set
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/etamin_defconfig b/configs/etamin_defconfig
index 7ae472f413f..ee4e6cccaca 100644
--- a/configs/etamin_defconfig
+++ b/configs/etamin_defconfig
@@ -76,8 +76,8 @@ CONFIG_SPL_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
-# CONFIG_SPL_DM_MMC is not set
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+# CONFIG_SPL_DM_MMC is not set
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/evb-rk3568_defconfig b/configs/evb-rk3568_defconfig
index 03511d790e0..a102a5a9990 100644
--- a/configs/evb-rk3568_defconfig
+++ b/configs/evb-rk3568_defconfig
@@ -2,11 +2,11 @@ CONFIG_ARM=y
 CONFIG_ARCH_ROCKCHIP=y
 CONFIG_SYS_TEXT_BASE=0x00a00000
 CONFIG_NR_DRAM_BANKS=2
+CONFIG_DEFAULT_DEVICE_TREE="rk3568-evb"
 CONFIG_ROCKCHIP_RK3568=y
 CONFIG_TARGET_EVB_RK3568=y
 CONFIG_DEBUG_UART_BASE=0xFE660000
 CONFIG_DEBUG_UART_CLOCK=24000000
-CONFIG_DEFAULT_DEVICE_TREE="rk3568-evb"
 CONFIG_DEBUG_UART=y
 CONFIG_DEFAULT_FDT_FILE="rockchip/rk3568-evb.dtb"
 # CONFIG_DISPLAY_CPUINFO is not set
diff --git a/configs/j7200_evm_r5_defconfig b/configs/j7200_evm_r5_defconfig
index 4a177d2e0f6..b449bdb3b8f 100644
--- a/configs/j7200_evm_r5_defconfig
+++ b/configs/j7200_evm_r5_defconfig
@@ -24,6 +24,7 @@ CONFIG_SPL_SPI_SUPPORT=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
+CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
@@ -75,7 +76,9 @@ CONFIG_SPL_SYSCON=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_CLK=y
 CONFIG_SPL_CLK=y
-# CONFIG_CLK_TI_SCI is not set
+CONFIG_SPL_CLK_CCF=y
+CONFIG_SPL_CLK_K3_PLL=y
+CONFIG_SPL_CLK_K3=y
 CONFIG_DMA_CHANNELS=y
 CONFIG_TI_K3_NAVSS_UDMA=y
 CONFIG_TI_SCI_PROTOCOL=y
@@ -110,7 +113,7 @@ CONFIG_SPL_PINCTRL=y
 # CONFIG_SPL_PINCTRL_GENERIC is not set
 CONFIG_PINCTRL_SINGLE=y
 CONFIG_POWER_DOMAIN=y
-# CONFIG_TI_SCI_POWER_DOMAIN is not set
+CONFIG_TI_POWER_DOMAIN=y
 CONFIG_K3_SYSTEM_CONTROLLER=y
 CONFIG_REMOTEPROC_TI_K3_ARM64=y
 CONFIG_DM_RESET=y
@@ -142,13 +145,5 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x6164
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_FS_EXT4=y
 CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
-CONFIG_SOC_DEVICE=y
-CONFIG_SOC_DEVICE_TI_K3=y
-CONFIG_TI_POWER_DOMAIN=y
-CONFIG_SPL_CLK_CCF=y
 CONFIG_LIB_RATIONAL=y
 CONFIG_SPL_LIB_RATIONAL=y
-CONFIG_SPL_CLK_K3_PLL=y
-CONFIG_SPL_CLK_K3=y
-CONFIG_K3_DM_FW=y
-CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
diff --git a/configs/j721e_evm_r5_defconfig b/configs/j721e_evm_r5_defconfig
index 7253466e2a8..0f8fda795ac 100644
--- a/configs/j721e_evm_r5_defconfig
+++ b/configs/j721e_evm_r5_defconfig
@@ -24,6 +24,7 @@ CONFIG_SPL_SPI_SUPPORT=y
 # CONFIG_SYS_MALLOC_CLEAR_ON_INIT is not set
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_LOAD_FIT_ADDRESS=0x80080000
+CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
 # CONFIG_USE_SPL_FIT_GENERATOR is not set
 CONFIG_USE_BOOTCOMMAND=y
 # CONFIG_DISPLAY_CPUINFO is not set
@@ -72,7 +73,9 @@ CONFIG_SPL_REGMAP=y
 CONFIG_SPL_OF_TRANSLATE=y
 CONFIG_CLK=y
 CONFIG_SPL_CLK=y
-# CONFIG_CLK_TI_SCI is not set
+CONFIG_SPL_CLK_CCF=y
+CONFIG_SPL_CLK_K3_PLL=y
+CONFIG_SPL_CLK_K3=y
 CONFIG_DMA_CHANNELS=y
 CONFIG_TI_K3_NAVSS_UDMA=y
 CONFIG_TI_SCI_PROTOCOL=y
@@ -102,7 +105,7 @@ CONFIG_SPL_PINCTRL=y
 # CONFIG_SPL_PINCTRL_GENERIC is not set
 CONFIG_PINCTRL_SINGLE=y
 CONFIG_POWER_DOMAIN=y
-# CONFIG_TI_SCI_POWER_DOMAIN is not set
+CONFIG_TI_POWER_DOMAIN=y
 CONFIG_DM_PMIC=y
 CONFIG_PMIC_TPS65941=y
 CONFIG_DM_REGULATOR=y
@@ -140,11 +143,5 @@ CONFIG_USB_GADGET_PRODUCT_NUM=0x6163
 CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_FS_EXT4=y
 CONFIG_FS_FAT_MAX_CLUSTSIZE=16384
-CONFIG_TI_POWER_DOMAIN=y
-CONFIG_SPL_CLK_CCF=y
 CONFIG_LIB_RATIONAL=y
 CONFIG_SPL_LIB_RATIONAL=y
-CONFIG_SPL_CLK_K3_PLL=y
-CONFIG_SPL_CLK_K3=y
-CONFIG_K3_DM_FW=y
-CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
index 2059c4e0c5b..7de4cdb52cc 100644
--- a/configs/pxm2_defconfig
+++ b/configs/pxm2_defconfig
@@ -74,8 +74,8 @@ CONFIG_SPL_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
-# CONFIG_SPL_DM_MMC is not set
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+# CONFIG_SPL_DM_MMC is not set
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/r8a779a0_falcon_defconfig b/configs/r8a779a0_falcon_defconfig
index 8df647acfb5..4b80c8f87a9 100644
--- a/configs/r8a779a0_falcon_defconfig
+++ b/configs/r8a779a0_falcon_defconfig
@@ -6,12 +6,12 @@ CONFIG_ENV_SIZE=0x40000
 CONFIG_ENV_OFFSET=0xC00000
 CONFIG_ENV_SECT_SIZE=0x40000
 CONFIG_DM_GPIO=y
+CONFIG_DEFAULT_DEVICE_TREE="r8a779a0-falcon-u-boot"
 CONFIG_SPL_TEXT_BASE=0xe6338000
 CONFIG_RCAR_GEN3=y
 CONFIG_TARGET_FALCON=y
 # CONFIG_PSCI_RESET is not set
 CONFIG_ARMV8_PSCI=y
-CONFIG_DEFAULT_DEVICE_TREE="r8a779a0-falcon-u-boot"
 CONFIG_FIT=y
 CONFIG_SUPPORT_RAW_INITRD=y
 CONFIG_USE_BOOTARGS=y
@@ -42,7 +42,6 @@ CONFIG_CLK_RENESAS=y
 CONFIG_RCAR_GPIO=y
 CONFIG_DM_I2C=y
 CONFIG_SYS_I2C_RCAR_IIC=y
-CONFIG_DM_MMC=y
 CONFIG_MMC_IO_VOLTAGE=y
 CONFIG_MMC_UHS_SUPPORT=y
 CONFIG_MMC_HS200_SUPPORT=y
diff --git a/configs/rastaban_defconfig b/configs/rastaban_defconfig
index 0b086847e4d..54483860822 100644
--- a/configs/rastaban_defconfig
+++ b/configs/rastaban_defconfig
@@ -75,8 +75,8 @@ CONFIG_SPL_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
-# CONFIG_SPL_DM_MMC is not set
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+# CONFIG_SPL_DM_MMC is not set
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/rut_defconfig b/configs/rut_defconfig
index f127b783a54..fa5250e037a 100644
--- a/configs/rut_defconfig
+++ b/configs/rut_defconfig
@@ -74,8 +74,8 @@ CONFIG_SPL_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
-# CONFIG_SPL_DM_MMC is not set
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+# CONFIG_SPL_DM_MMC is not set
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
diff --git a/configs/thuban_defconfig b/configs/thuban_defconfig
index 84eae39310c..67e1e6826f0 100644
--- a/configs/thuban_defconfig
+++ b/configs/thuban_defconfig
@@ -75,8 +75,8 @@ CONFIG_SPL_DM=y
 CONFIG_BOOTCOUNT_LIMIT=y
 CONFIG_BOOTCOUNT_ENV=y
 CONFIG_DFU_NAND=y
-# CONFIG_SPL_DM_MMC is not set
 CONFIG_SYS_DFU_DATA_BUF_SIZE=0x100000
+# CONFIG_SPL_DM_MMC is not set
 CONFIG_MMC_OMAP_HS=y
 CONFIG_MTD=y
 CONFIG_MTD_RAW_NAND=y
-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 2/9] Makefile: Drop include/asm directory as well as symlink
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
  2021-07-02 18:36 ` [PATCH v2 1/9] configs: Resync with savedefconfig Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-28 22:56   ` Tom Rini
  2021-07-02 18:36 ` [PATCH v2 3/9] disk: Tidy up #ifdefs in part_efi Simon Glass
                   ` (7 subsequent siblings)
  9 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass, Masahiro Yamada

At present when using 'make mrproper' on an out-of-tree build, a warning
is shown about include/asm being a directory. With old versions of U-Boot
it is a file, but more recently it has become a directory.

Remove this directory first, since that covers both cases.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 027e31e09e4..187b20df5f7 100644
--- a/Makefile
+++ b/Makefile
@@ -2078,7 +2078,7 @@ CLEAN_FILES += include/bmp_logo.h include/bmp_logo_data.h tools/version.h \
 
 # Directories & files removed with 'make mrproper'
 MRPROPER_DIRS  += include/config include/generated spl tpl \
-		  .tmp_objdiff doc/output
+		  .tmp_objdiff doc/output include/asm
 
 # Remove include/asm symlink created by U-Boot before v2014.01
 MRPROPER_FILES += .config .config.old include/autoconf.mk* include/config.h \
-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 3/9] disk: Tidy up #ifdefs in part_efi
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
  2021-07-02 18:36 ` [PATCH v2 1/9] configs: Resync with savedefconfig Simon Glass
  2021-07-02 18:36 ` [PATCH v2 2/9] Makefile: Drop include/asm directory as well as symlink Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-28 22:56   ` Tom Rini
  2021-07-28 23:21   ` Heinrich Schuchardt
  2021-07-02 18:36 ` [PATCH v2 4/9] Use LIB_UUID with ACPIGEN and FS_BTRFS Simon Glass
                   ` (6 subsequent siblings)
  9 siblings, 2 replies; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass

This file does not correctly handle the various cases, sometimes
producing warnings about partition_basic_data_guid being defined but not
used. Fix it.

There was some discussion about adjusting Kconfig or making
HAVE_BLOCK_DEVICE a prerequisite for PARTITIONS, but apparently this is
not feasible. Such changes can be undertaken separate from the goal of
this series.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v2:
- Update commit message

 disk/part_efi.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/disk/part_efi.c b/disk/part_efi.c
index 0fb7ff0b6bb..fdca91a6974 100644
--- a/disk/part_efi.c
+++ b/disk/part_efi.c
@@ -29,12 +29,13 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-/*
- * GUID for basic data partions.
- */
+#ifdef CONFIG_HAVE_BLOCK_DEVICE
+
+/* GUID for basic data partitons */
+#if CONFIG_IS_ENABLED(EFI_PARTITION)
 static const efi_guid_t partition_basic_data_guid = PARTITION_BASIC_DATA_GUID;
+#endif
 
-#ifdef CONFIG_HAVE_BLOCK_DEVICE
 /**
  * efi_crc32() - EFI version of crc32 function
  * @buf: buffer to calculate crc32 of
@@ -1126,4 +1127,4 @@ U_BOOT_PART_TYPE(a_efi) = {
 	.print		= part_print_ptr(part_print_efi),
 	.test		= part_test_efi,
 };
-#endif
+#endif /* CONFIG_HAVE_BLOCK_DEVICE */
-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 4/9] Use LIB_UUID with ACPIGEN and FS_BTRFS
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
                   ` (2 preceding siblings ...)
  2021-07-02 18:36 ` [PATCH v2 3/9] disk: Tidy up #ifdefs in part_efi Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-28 22:56   ` Tom Rini
  2021-07-02 18:36 ` [PATCH v2 5/9] Allow efi_loader header to be included always Simon Glass
                   ` (5 subsequent siblings)
  9 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass

Since the ACPI-generation code makes use of UUIDs we typically need to
enabled UUID support for it to build. Add a new Kconfig condition.

Use it for BTRFS also.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 drivers/core/Kconfig | 1 +
 fs/btrfs/Kconfig     | 1 +
 2 files changed, 2 insertions(+)

diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index d618e1637b9..9ae188c1dfc 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -325,6 +325,7 @@ config DM_DEV_READ_INLINE
 config ACPIGEN
 	bool "Support ACPI table generation in driver model"
 	default y if SANDBOX || (GENERATE_ACPI_TABLE && !QEMU)
+	select LIB_UUID
 	help
 	  This option enables generation of ACPI tables using driver-model
 	  devices. It adds a new operation struct to each driver, to support
diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
index 2a32f42ad13..a0b48c23b31 100644
--- a/fs/btrfs/Kconfig
+++ b/fs/btrfs/Kconfig
@@ -1,6 +1,7 @@
 config FS_BTRFS
 	bool "Enable BTRFS filesystem support"
 	select CRC32C
+	select LIB_UUID
 	select LZO
 	select ZSTD
 	select RBTREE
-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 5/9] Allow efi_loader header to be included always
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
                   ` (3 preceding siblings ...)
  2021-07-02 18:36 ` [PATCH v2 4/9] Use LIB_UUID with ACPIGEN and FS_BTRFS Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-28 22:56   ` Tom Rini
  2021-07-02 18:36 ` [PATCH v2 6/9] lib: Create a new Kconfig option for charset conversion Simon Glass
                   ` (4 subsequent siblings)
  9 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass

It is bad practice to put function declarations behind an #ifdef since
it makes it impossible to use IS_ENABLED() in the C code. The main reason
for doing this is when an empty static inline function is desired when
the feature is disabled.

To this end, this header provides two different versions of various
functions and macros. Collect them together in one place for clarity.
Allow all the rest of the header to be included, regardless of the
setting of EFI_LOADER.

With the inclusion of blk.h the 'struct blk_desc' declaration is
unnecessary. Drop it while we are here.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v2:
- Update commit message to be clearer
- Drop 'struct blk_desc'
- Move all header inclusions to the top

 include/efi_loader.h | 187 ++++++++++++++++++++++---------------------
 1 file changed, 94 insertions(+), 93 deletions(-)

diff --git a/include/efi_loader.h b/include/efi_loader.h
index 0a9c82a257e..6fb5696056c 100644
--- a/include/efi_loader.h
+++ b/include/efi_loader.h
@@ -15,8 +15,8 @@
 #include <efi_api.h>
 #include <image.h>
 #include <pe.h>
-
-struct blk_desc;
+#include <linux/list.h>
+#include <linux/oid_registry.h>
 
 static inline int guidcmp(const void *g1, const void *g2)
 {
@@ -28,11 +28,100 @@ static inline void *guidcpy(void *dst, const void *src)
 	return memcpy(dst, src, sizeof(efi_guid_t));
 }
 
-/* No need for efi loader support in SPL */
 #if CONFIG_IS_ENABLED(EFI_LOADER)
 
-#include <linux/list.h>
-#include <linux/oid_registry.h>
+/**
+ * __efi_runtime_data - declares a non-const variable for EFI runtime section
+ *
+ * This macro indicates that a variable is non-const and should go into the
+ * EFI runtime section, and thus still be available when the OS is running.
+ *
+ * Only use on variables not declared const.
+ *
+ * Example:
+ *
+ * ::
+ *
+ *   static __efi_runtime_data my_computed_table[256];
+ */
+#define __efi_runtime_data __section(".data.efi_runtime")
+
+/**
+ * __efi_runtime_rodata - declares a read-only variable for EFI runtime section
+ *
+ * This macro indicates that a variable is read-only (const) and should go into
+ * the EFI runtime section, and thus still be available when the OS is running.
+ *
+ * Only use on variables also declared const.
+ *
+ * Example:
+ *
+ * ::
+ *
+ *   static const __efi_runtime_rodata my_const_table[] = { 1, 2, 3 };
+ */
+#define __efi_runtime_rodata __section(".rodata.efi_runtime")
+
+/**
+ * __efi_runtime - declares a function for EFI runtime section
+ *
+ * This macro indicates that a function should go into the EFI runtime section,
+ * and thus still be available when the OS is running.
+ *
+ * Example:
+ *
+ * ::
+ *
+ *   static __efi_runtime compute_my_table(void);
+ */
+#define __efi_runtime __section(".text.efi_runtime")
+
+/*
+ * Call this with mmio_ptr as the _pointer_ to a pointer to an MMIO region
+ * to make it available at runtime
+ */
+efi_status_t efi_add_runtime_mmio(void *mmio_ptr, u64 len);
+
+/*
+ * Special case handler for error/abort that just tries to dtrt to get
+ * back to u-boot world
+ */
+void efi_restore_gd(void);
+/* Call this to set the current device name */
+void efi_set_bootdev(const char *dev, const char *devnr, const char *path,
+		     void *buffer, size_t buffer_size);
+/* Called by networking code to memorize the dhcp ack package */
+void efi_net_set_dhcp_ack(void *pkt, int len);
+/* Print information about all loaded images */
+void efi_print_image_infos(void *pc);
+
+/* Hook at initialization */
+efi_status_t efi_launch_capsules(void);
+
+#else /* CONFIG_IS_ENABLED(EFI_LOADER) */
+
+/* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */
+#define __efi_runtime_data
+#define __efi_runtime_rodata
+#define __efi_runtime
+static inline efi_status_t efi_add_runtime_mmio(void *mmio_ptr, u64 len)
+{
+	return EFI_SUCCESS;
+}
+
+/* No loader configured, stub out EFI_ENTRY */
+static inline void efi_restore_gd(void) { }
+static inline void efi_set_bootdev(const char *dev, const char *devnr,
+				   const char *path, void *buffer,
+				   size_t buffer_size) { }
+static inline void efi_net_set_dhcp_ack(void *pkt, int len) { }
+static inline void efi_print_image_infos(void *pc) { }
+static inline efi_status_t efi_launch_capsules(void)
+{
+	return EFI_SUCCESS;
+}
+
+#endif /* CONFIG_IS_ENABLED(EFI_LOADER) */
 
 /* Maximum number of configuration tables */
 #define EFI_MAX_CONFIGURATION_TABLES 16
@@ -465,8 +554,6 @@ efi_status_t efi_smbios_register(void);
 struct efi_simple_file_system_protocol *
 efi_fs_from_path(struct efi_device_path *fp);
 
-/* Called by networking code to memorize the dhcp ack package */
-void efi_net_set_dhcp_ack(void *pkt, int len);
 /* Called by efi_set_watchdog_timer to reset the timer */
 efi_status_t efi_set_watchdog(unsigned long timeout);
 
@@ -480,14 +567,8 @@ efi_status_t efi_load_pe(struct efi_loaded_image_obj *handle,
 			 struct efi_loaded_image *loaded_image_info);
 /* Called once to store the pristine gd pointer */
 void efi_save_gd(void);
-/* Special case handler for error/abort that just tries to dtrt to get
- * back to u-boot world */
-void efi_restore_gd(void);
 /* Call this to relocate the runtime section to an address space */
 void efi_runtime_relocate(ulong offset, struct efi_mem_desc *map);
-/* Call this to set the current device name */
-void efi_set_bootdev(const char *dev, const char *devnr, const char *path,
-		     void *buffer, size_t buffer_size);
 /* Add a new object to the object list. */
 void efi_add_handle(efi_handle_t obj);
 /* Create handle */
@@ -619,8 +700,6 @@ efi_status_t efi_setup_loaded_image(struct efi_device_path *device_path,
 				    struct efi_device_path *file_path,
 				    struct efi_loaded_image_obj **handle_ptr,
 				    struct efi_loaded_image **info_ptr);
-/* Print information about all loaded images */
-void efi_print_image_infos(void *pc);
 
 #ifdef CONFIG_EFI_LOADER_BOUNCE_BUFFER
 extern void *efi_bounce_buffer;
@@ -682,62 +761,12 @@ ssize_t efi_dp_check_length(const struct efi_device_path *dp,
 	(((_dp)->type == DEVICE_PATH_TYPE_##_type) && \
 	 ((_dp)->sub_type == DEVICE_PATH_SUB_TYPE_##_subtype))
 
-/**
- * __efi_runtime_data - declares a non-const variable for EFI runtime section
- *
- * This macro indicates that a variable is non-const and should go into the
- * EFI runtime section, and thus still be available when the OS is running.
- *
- * Only use on variables not declared const.
- *
- * Example:
- *
- * ::
- *
- *   static __efi_runtime_data my_computed_table[256];
- */
-#define __efi_runtime_data __section(".data.efi_runtime")
-
-/**
- * __efi_runtime_rodata - declares a read-only variable for EFI runtime section
- *
- * This macro indicates that a variable is read-only (const) and should go into
- * the EFI runtime section, and thus still be available when the OS is running.
- *
- * Only use on variables also declared const.
- *
- * Example:
- *
- * ::
- *
- *   static const __efi_runtime_rodata my_const_table[] = { 1, 2, 3 };
- */
-#define __efi_runtime_rodata __section(".rodata.efi_runtime")
-
-/**
- * __efi_runtime - declares a function for EFI runtime section
- *
- * This macro indicates that a function should go into the EFI runtime section,
- * and thus still be available when the OS is running.
- *
- * Example:
- *
- * ::
- *
- *   static __efi_runtime compute_my_table(void);
- */
-#define __efi_runtime __section(".text.efi_runtime")
-
 /* Indicate supported runtime services */
 efi_status_t efi_init_runtime_supported(void);
 
 /* Update CRC32 in table header */
 void __efi_runtime efi_update_table_header_crc32(struct efi_table_hdr *table);
 
-/* Call this with mmio_ptr as the _pointer_ to a pointer to an MMIO region
- * to make it available at runtime */
-efi_status_t efi_add_runtime_mmio(void *mmio_ptr, u64 len);
-
 /* Boards may provide the functions below to implement RTS functionality */
 
 void __efi_runtime EFIAPI efi_reset_system(
@@ -926,34 +955,6 @@ efi_status_t efi_capsule_authenticate(const void *capsule,
 
 #define EFI_CAPSULE_DIR L"\\EFI\\UpdateCapsule\\"
 
-/* Hook at initialization */
-efi_status_t efi_launch_capsules(void);
-
-#else /* CONFIG_IS_ENABLED(EFI_LOADER) */
-
-/* Without CONFIG_EFI_LOADER we don't have a runtime section, stub it out */
-#define __efi_runtime_data
-#define __efi_runtime_rodata
-#define __efi_runtime
-static inline efi_status_t efi_add_runtime_mmio(void *mmio_ptr, u64 len)
-{
-	return EFI_SUCCESS;
-}
-
-/* No loader configured, stub out EFI_ENTRY */
-static inline void efi_restore_gd(void) { }
-static inline void efi_set_bootdev(const char *dev, const char *devnr,
-				   const char *path, void *buffer,
-				   size_t buffer_size) { }
-static inline void efi_net_set_dhcp_ack(void *pkt, int len) { }
-static inline void efi_print_image_infos(void *pc) { }
-static inline efi_status_t efi_launch_capsules(void)
-{
-	return EFI_SUCCESS;
-}
-
-#endif /* CONFIG_IS_ENABLED(EFI_LOADER) */
-
 /**
  * Install the ESRT system table.
  *
-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 6/9] lib: Create a new Kconfig option for charset conversion
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
                   ` (4 preceding siblings ...)
  2021-07-02 18:36 ` [PATCH v2 5/9] Allow efi_loader header to be included always Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-28 22:57   ` Tom Rini
  2021-07-02 18:36 ` [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL Simon Glass
                   ` (3 subsequent siblings)
  9 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass

Rather than looking at two KConfig options in the Makefile, create a new
Kconfig option for compiling lib/charset.c

Enable it for UFS also, which needs this support.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---

(no changes since v1)

 lib/Kconfig  | 8 ++++++++
 lib/Makefile | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/lib/Kconfig b/lib/Kconfig
index ad0cd52edd8..e1415799965 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -40,6 +40,14 @@ config CC_OPTIMIZE_LIBS_FOR_SPEED
 
 	  If unsure, say N.
 
+config CHARSET
+	bool
+	default y if UT_UNICODE || EFI_LOADER || UFS
+	help
+	  Enables support for various conversions between different
+	  character sets, such as between unicode representations and
+	  different 'code pages'.
+
 config DYNAMIC_CRC_TABLE
 	bool "Enable Dynamic tables for CRC"
 	help
diff --git a/lib/Makefile b/lib/Makefile
index 881034f4ae3..2d2b273ccef 100644
--- a/lib/Makefile
+++ b/lib/Makefile
@@ -25,7 +25,7 @@ obj-$(CONFIG_AES) += aes/
 obj-$(CONFIG_$(SPL_TPL_)BINMAN_FDT) += binman.o
 
 ifndef API_BUILD
-ifneq ($(CONFIG_UT_UNICODE)$(CONFIG_EFI_LOADER),)
+ifneq ($(CONFIG_CHARSET),)
 obj-y += charset.o
 endif
 endif
-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
                   ` (5 preceding siblings ...)
  2021-07-02 18:36 ` [PATCH v2 6/9] lib: Create a new Kconfig option for charset conversion Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-26 22:07   ` Tom Rini
  2021-07-02 18:36 ` [PATCH v2 8/9] Add an option for EBBR Simon Glass
                   ` (2 subsequent siblings)
  9 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass

This feature should never have been made available when driver model
or devicetree are disabled. Add these as conditions, so that we don't
create even more barriers to migration.

Add a note about the substantial size increment associated with this
option.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v2:
- Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
- Note the approximate size of this feature in the help

 lib/efi_loader/Kconfig | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 6242caceb7f..466abfed300 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -1,6 +1,6 @@
 config EFI_LOADER
 	bool "Support running UEFI applications"
-	depends on OF_LIBFDT && ( \
+	depends on OF_LIBFDT && DM && OF_CONTROL && ( \
 		ARM && (SYS_CPU = arm1136 || \
 			SYS_CPU = arm1176 || \
 			SYS_CPU = armv7   || \
@@ -25,6 +25,8 @@ config EFI_LOADER
 	  will expose the UEFI API to a loaded application, enabling it to
 	  reuse U-Boot's device drivers.
 
+	  For ARM 32-bit, this adds about 90KB to the size of U-Boot.
+
 if EFI_LOADER
 
 config CMD_BOOTEFI_BOOTMGR
-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 8/9] Add an option for EBBR
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
                   ` (6 preceding siblings ...)
  2021-07-02 18:36 ` [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-29  0:12   ` Heinrich Schuchardt
  2021-07-02 18:36 ` [PATCH v2 9/9] efi: Make EBBR optional Simon Glass
  2021-07-02 19:50 ` [PATCH v2 0/9] efi: Various tidy-ups and drop the default Mark Kettenis
  9 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass

Add a new Kconfig option for EBBR so that the naming is more explicit.
Make it select EFI_LOADER which is required for EBBR to work.

Copy over the same 'default' setting so that there is no change in
which boards enable it.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

Changes in v2:
- Split out new patch to create an option for EBBR

 common/Kconfig.boot    | 16 ++++++++++++++++
 lib/efi_loader/Kconfig |  1 -
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/common/Kconfig.boot b/common/Kconfig.boot
index 89a3161f1fa..111032e1202 100644
--- a/common/Kconfig.boot
+++ b/common/Kconfig.boot
@@ -300,6 +300,22 @@ config LEGACY_IMAGE_FORMAT
 	  loaded. If a board needs the legacy image format support in this
 	  case, enable it here.
 
+config EBBR
+	bool "Enable support for Embeeded Boot Base Requirements (EBBR)"
+	select EFI_LOADER
+	default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
+	help
+	  Enable this to support ARM's EBBR boot method. This bases everything
+	  on UEFI protocols.
+
+	  This Embedded Base Boot Requirements (EBBR) specification defines an
+	  interface between platform firmware and an operating system that is
+	  suitable for embedded platforms. EBBR-compliant platforms present a
+	  consistent interface that will boot an EBBR-compliant operating
+	  system without any custom tailoring required. For example, an Arm
+	  A-class embedded platform will benefit from a standard interface that
+	  supports features such as secure boot and firmware update.
+
 config SUPPORT_RAW_INITRD
 	bool "Enable raw initrd images"
 	help
diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
index 466abfed300..bc5fb3f5e03 100644
--- a/lib/efi_loader/Kconfig
+++ b/lib/efi_loader/Kconfig
@@ -10,7 +10,6 @@ config EFI_LOADER
 	depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
 	# We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
 	depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
-	default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
 	select LIB_UUID
 	select HAVE_BLOCK_DEVICE
 	select REGEX
-- 
2.32.0.93.g670b81a890-goog


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

* [PATCH v2 9/9] efi: Make EBBR optional
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
                   ` (7 preceding siblings ...)
  2021-07-02 18:36 ` [PATCH v2 8/9] Add an option for EBBR Simon Glass
@ 2021-07-02 18:36 ` Simon Glass
  2021-07-02 20:11   ` Tom Rini
  2021-07-02 19:50 ` [PATCH v2 0/9] efi: Various tidy-ups and drop the default Mark Kettenis
  9 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 18:36 UTC (permalink / raw)
  To: U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	Heinrich Schuchardt, Simon Glass, Alexander Graf

Avoid enabling the options (EBBR / EFI_LOADER) by default, to save space.

Resync the CONFIG options also.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

(no changes since v1)

 common/Kconfig.boot                                      | 2 +-
 configs/am335x_igep003x_defconfig                        | 1 -
 configs/am335x_pdu001_defconfig                          | 1 -
 configs/apalis-imx8_defconfig                            | 1 -
 configs/apalis-imx8x_defconfig                           | 1 -
 configs/aristainetos2c_defconfig                         | 1 -
 configs/aristainetos2ccslb_defconfig                     | 1 -
 ...vnet_ultrazedev_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/cgtqmx8_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/dragonboard820c_defconfig                        | 1 -
 configs/efi-x86_app_defconfig                            | 1 -
 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/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 -
 configs/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 -
 configs/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 -
 configs/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/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/roc-cc-rk3308_defconfig                          | 1 -
 configs/rock-pi-n10-rk3399pro_defconfig                  | 1 -
 configs/rock-pi-n8-rk3288_defconfig                      | 1 -
 configs/sama5d27_wlsom1_ek_mmc_defconfig                 | 1 -
 configs/sama5d27_wlsom1_ek_qspiflash_defconfig           | 1 -
 configs/sama5d2_icp_mmc_defconfig                        | 1 -
 configs/sama7g5ek_mmc1_defconfig                         | 1 -
 configs/sama7g5ek_mmc_defconfig                          | 1 -
 configs/sandbox64_defconfig                              | 9 ---------
 configs/sandbox_defconfig                                | 9 ---------
 configs/sandbox_flattree_defconfig                       | 2 --
 configs/sandbox_noinst_defconfig                         | 2 --
 configs/sandbox_spl_defconfig                            | 2 --
 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/tools-only_defconfig                             | 1 -
 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 -
 configs/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 -
 179 files changed, 1 insertion(+), 230 deletions(-)

diff --git a/common/Kconfig.boot b/common/Kconfig.boot
index 111032e1202..442b63d06b8 100644
--- a/common/Kconfig.boot
+++ b/common/Kconfig.boot
@@ -303,7 +303,7 @@ config LEGACY_IMAGE_FORMAT
 config EBBR
 	bool "Enable support for Embeeded Boot Base Requirements (EBBR)"
 	select EFI_LOADER
-	default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
+	default y if sandbox
 	help
 	  Enable this to support ARM's EBBR boot method. This bases everything
 	  on UEFI protocols.
diff --git a/configs/am335x_igep003x_defconfig b/configs/am335x_igep003x_defconfig
index 5b9b370d30d..9da90a9bc35 100644
--- a/configs/am335x_igep003x_defconfig
+++ b/configs/am335x_igep003x_defconfig
@@ -79,4 +79,3 @@ CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_OMAP3_SPI=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
-# CONFIG_GENERATE_SMBIOS_TABLE is not set
diff --git a/configs/am335x_pdu001_defconfig b/configs/am335x_pdu001_defconfig
index 6315d449a23..767b727233f 100644
--- a/configs/am335x_pdu001_defconfig
+++ b/configs/am335x_pdu001_defconfig
@@ -53,4 +53,3 @@ CONFIG_DM_REGULATOR_FIXED=y
 CONFIG_DM_REGULATOR_TPS65910=y
 CONFIG_CONS_INDEX=4
 # CONFIG_SPL_USE_TINY_PRINTF is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/apalis-imx8_defconfig b/configs/apalis-imx8_defconfig
index 59179e2bd3a..7d8949e657d 100644
--- a/configs/apalis-imx8_defconfig
+++ b/configs/apalis-imx8_defconfig
@@ -65,4 +65,3 @@ CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
 CONFIG_DM_THERMAL=y
 CONFIG_IMX_SCU_THERMAL=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/apalis-imx8x_defconfig b/configs/apalis-imx8x_defconfig
index fc537839b87..336b392215f 100644
--- a/configs/apalis-imx8x_defconfig
+++ b/configs/apalis-imx8x_defconfig
@@ -74,4 +74,3 @@ CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
 CONFIG_DM_THERMAL=y
 CONFIG_IMX_SCU_THERMAL=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/aristainetos2c_defconfig b/configs/aristainetos2c_defconfig
index d0e83508940..0605a1ac713 100644
--- a/configs/aristainetos2c_defconfig
+++ b/configs/aristainetos2c_defconfig
@@ -122,4 +122,3 @@ CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_VIDEO_BMP_RLE8=y
 CONFIG_BMP_16BPP=y
 CONFIG_IMX_WATCHDOG=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/aristainetos2ccslb_defconfig b/configs/aristainetos2ccslb_defconfig
index cad9c8b44d5..5f566825fce 100644
--- a/configs/aristainetos2ccslb_defconfig
+++ b/configs/aristainetos2ccslb_defconfig
@@ -122,4 +122,3 @@ CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_VIDEO_BMP_RLE8=y
 CONFIG_BMP_16BPP=y
 CONFIG_IMX_WATCHDOG=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
index dbbe2d5d66c..7fcb1dc46d9 100644
--- a/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
+++ b/configs/avnet_ultrazedev_cc_v1_0_ultrazedev_som_v1_0_defconfig
@@ -63,4 +63,3 @@ CONFIG_SPI=y
 CONFIG_ZYNQMP_GQSPI=y
 CONFIG_PANIC_HANG=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/bcm7260_defconfig b/configs/bcm7260_defconfig
index a42a6acb06d..75373dacb8d 100644
--- a/configs/bcm7260_defconfig
+++ b/configs/bcm7260_defconfig
@@ -31,4 +31,3 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_MMC_SDHCI=y
 CONFIG_MMC_SDHCI_BCMSTB=y
 CONFIG_MTD=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/bcm7445_defconfig b/configs/bcm7445_defconfig
index 96e8da0748a..6477b93f6f7 100644
--- a/configs/bcm7445_defconfig
+++ b/configs/bcm7445_defconfig
@@ -36,4 +36,3 @@ CONFIG_DM_SPI_FLASH=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_BCMSTB_SPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/bcm963158_ram_defconfig b/configs/bcm963158_ram_defconfig
index 4eb3986c618..c52337ff0b7 100644
--- a/configs/bcm963158_ram_defconfig
+++ b/configs/bcm963158_ram_defconfig
@@ -54,4 +54,3 @@ CONFIG_BCM63XX_HSSPI=y
 CONFIG_SYSRESET=y
 CONFIG_SYSRESET_WATCHDOG=y
 CONFIG_WDT_BCM6345=y
-# CONFIG_GENERATE_SMBIOS_TABLE is not set
diff --git a/configs/bcm968580xref_ram_defconfig b/configs/bcm968580xref_ram_defconfig
index 09d09eede6e..d09ed75a189 100644
--- a/configs/bcm968580xref_ram_defconfig
+++ b/configs/bcm968580xref_ram_defconfig
@@ -51,4 +51,3 @@ CONFIG_BCM63XX_HSSPI=y
 CONFIG_SYSRESET=y
 CONFIG_SYSRESET_WATCHDOG=y
 CONFIG_WDT_BCM6345=y
-# CONFIG_GENERATE_SMBIOS_TABLE is not set
diff --git a/configs/bitmain_antminer_s9_defconfig b/configs/bitmain_antminer_s9_defconfig
index 299206e85b3..26b7522a401 100644
--- a/configs/bitmain_antminer_s9_defconfig
+++ b/configs/bitmain_antminer_s9_defconfig
@@ -74,4 +74,3 @@ CONFIG_ZYNQ_SERIAL=y
 # CONFIG_WATCHDOG is not set
 CONFIG_WDT=y
 CONFIG_WDT_CDNS=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/bk4r1_defconfig b/configs/bk4r1_defconfig
index 20262e8be1d..80ccb5f3b55 100644
--- a/configs/bk4r1_defconfig
+++ b/configs/bk4r1_defconfig
@@ -86,4 +86,3 @@ CONFIG_FSL_LPUART=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_QSPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/brppt1_mmc_defconfig b/configs/brppt1_mmc_defconfig
index 759880246ff..3702ed6dd10 100644
--- a/configs/brppt1_mmc_defconfig
+++ b/configs/brppt1_mmc_defconfig
@@ -98,4 +98,3 @@ CONFIG_USB_GADGET=y
 CONFIG_FAT_WRITE=y
 CONFIG_LZO=y
 # CONFIG_OF_LIBFDT_OVERLAY is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/brppt1_nand_defconfig b/configs/brppt1_nand_defconfig
index 97b69c1a13c..836801c83f7 100644
--- a/configs/brppt1_nand_defconfig
+++ b/configs/brppt1_nand_defconfig
@@ -104,4 +104,3 @@ CONFIG_USB_GADGET=y
 CONFIG_FAT_WRITE=y
 CONFIG_LZO=y
 # CONFIG_OF_LIBFDT_OVERLAY is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/brppt1_spi_defconfig b/configs/brppt1_spi_defconfig
index b834c210266..84e67a83ad6 100644
--- a/configs/brppt1_spi_defconfig
+++ b/configs/brppt1_spi_defconfig
@@ -114,4 +114,3 @@ CONFIG_USB_GADGET=y
 CONFIG_FAT_WRITE=y
 CONFIG_LZO=y
 # CONFIG_OF_LIBFDT_OVERLAY is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/brppt2_defconfig b/configs/brppt2_defconfig
index 1f466bea5a7..5d986c254a4 100644
--- a/configs/brppt2_defconfig
+++ b/configs/brppt2_defconfig
@@ -97,4 +97,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_SPL_TINY_MEMSET=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/brsmarc1_defconfig b/configs/brsmarc1_defconfig
index 6df2ffc831f..39ac68e2989 100644
--- a/configs/brsmarc1_defconfig
+++ b/configs/brsmarc1_defconfig
@@ -114,4 +114,3 @@ CONFIG_USB_GADGET=y
 CONFIG_SPL_TINY_MEMSET=y
 CONFIG_SHA1=y
 CONFIG_SHA256=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/brxre1_defconfig b/configs/brxre1_defconfig
index af5d5a65b40..26b4f14e878 100644
--- a/configs/brxre1_defconfig
+++ b/configs/brxre1_defconfig
@@ -94,4 +94,3 @@ CONFIG_USB_GADGET=y
 CONFIG_SYS_WHITE_ON_BLACK=y
 CONFIG_SPL_TINY_MEMSET=y
 # CONFIG_OF_LIBFDT_OVERLAY is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/cgtqmx8_defconfig b/configs/cgtqmx8_defconfig
index 6373512ee6c..59d0c30b1c6 100644
--- a/configs/cgtqmx8_defconfig
+++ b/configs/cgtqmx8_defconfig
@@ -80,4 +80,3 @@ CONFIG_SPL_DM_REGULATOR_GPIO=y
 CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
 CONFIG_SPL_TINY_MEMSET=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/chromebook_coral_defconfig b/configs/chromebook_coral_defconfig
index eb0884f1f5d..b2cd46f19d2 100644
--- a/configs/chromebook_coral_defconfig
+++ b/configs/chromebook_coral_defconfig
@@ -115,4 +115,3 @@ CONFIG_CMD_DHRYSTONE=y
 CONFIG_TPM=y
 # CONFIG_GZIP is not set
 CONFIG_BLOBLIST_TABLES=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/chromebook_link_defconfig b/configs/chromebook_link_defconfig
index ad9e9dd961e..eebe2a15253 100644
--- a/configs/chromebook_link_defconfig
+++ b/configs/chromebook_link_defconfig
@@ -71,4 +71,3 @@ CONFIG_VIDEO_IVYBRIDGE_IGD=y
 CONFIG_CMD_DHRYSTONE=y
 CONFIG_TPM=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/colibri-imx8x_defconfig b/configs/colibri-imx8x_defconfig
index a0816acc27c..53d21c045fa 100644
--- a/configs/colibri-imx8x_defconfig
+++ b/configs/colibri-imx8x_defconfig
@@ -62,4 +62,3 @@ CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
 CONFIG_DM_THERMAL=y
 CONFIG_IMX_SCU_THERMAL=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/colibri_vf_defconfig b/configs/colibri_vf_defconfig
index 722c9938f50..f8725c636c3 100644
--- a/configs/colibri_vf_defconfig
+++ b/configs/colibri_vf_defconfig
@@ -101,4 +101,3 @@ CONFIG_VIDEO_FSL_DCU_FB=y
 CONFIG_SPLASH_SCREEN_ALIGN=y
 CONFIG_OF_LIBFDT_OVERLAY=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
-# CONFIG_EFI_UNICODE_CAPITALIZATION is not set
diff --git a/configs/controlcenterdc_defconfig b/configs/controlcenterdc_defconfig
index a8d961a7c50..df406887195 100644
--- a/configs/controlcenterdc_defconfig
+++ b/configs/controlcenterdc_defconfig
@@ -83,4 +83,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_EHCI_HCD=y
 CONFIG_USB_STORAGE=y
 CONFIG_TPM=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/crs305-1g-4s-bit_defconfig b/configs/crs305-1g-4s-bit_defconfig
index f924efb6e02..df68a68e47b 100644
--- a/configs/crs305-1g-4s-bit_defconfig
+++ b/configs/crs305-1g-4s-bit_defconfig
@@ -44,4 +44,3 @@ CONFIG_PCI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_SYS_NS16550=y
 CONFIG_KIRKWOOD_SPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/crs305-1g-4s_defconfig b/configs/crs305-1g-4s_defconfig
index 677e248e6b8..5888b37957f 100644
--- a/configs/crs305-1g-4s_defconfig
+++ b/configs/crs305-1g-4s_defconfig
@@ -45,4 +45,3 @@ CONFIG_PCI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_SYS_NS16550=y
 CONFIG_KIRKWOOD_SPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/crs326-24g-2s-bit_defconfig b/configs/crs326-24g-2s-bit_defconfig
index 61bb79e63ef..85b4d1b0b4e 100644
--- a/configs/crs326-24g-2s-bit_defconfig
+++ b/configs/crs326-24g-2s-bit_defconfig
@@ -44,4 +44,3 @@ CONFIG_PCI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_SYS_NS16550=y
 CONFIG_KIRKWOOD_SPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/crs326-24g-2s_defconfig b/configs/crs326-24g-2s_defconfig
index 87e64e93dd3..61e6b9c4328 100644
--- a/configs/crs326-24g-2s_defconfig
+++ b/configs/crs326-24g-2s_defconfig
@@ -44,4 +44,3 @@ CONFIG_PCI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_SYS_NS16550=y
 CONFIG_KIRKWOOD_SPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/crs328-4c-20s-4s-bit_defconfig b/configs/crs328-4c-20s-4s-bit_defconfig
index 19cdd5bdf82..630ee325ed8 100644
--- a/configs/crs328-4c-20s-4s-bit_defconfig
+++ b/configs/crs328-4c-20s-4s-bit_defconfig
@@ -44,4 +44,3 @@ CONFIG_PCI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_SYS_NS16550=y
 CONFIG_KIRKWOOD_SPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/crs328-4c-20s-4s_defconfig b/configs/crs328-4c-20s-4s_defconfig
index 703fcaceb55..922524b46b8 100644
--- a/configs/crs328-4c-20s-4s_defconfig
+++ b/configs/crs328-4c-20s-4s_defconfig
@@ -44,4 +44,3 @@ CONFIG_PCI=y
 CONFIG_PCI_MVEBU=y
 CONFIG_SYS_NS16550=y
 CONFIG_KIRKWOOD_SPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/deneb_defconfig b/configs/deneb_defconfig
index 5318d7d6127..51a15243765 100644
--- a/configs/deneb_defconfig
+++ b/configs/deneb_defconfig
@@ -106,4 +106,3 @@ CONFIG_DM_THERMAL=y
 CONFIG_IMX_SCU_THERMAL=y
 # CONFIG_SPL_WDT is not set
 CONFIG_SPL_TINY_MEMSET=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/dragonboard820c_defconfig b/configs/dragonboard820c_defconfig
index 3a9cf0a5ef0..456606ac6cd 100644
--- a/configs/dragonboard820c_defconfig
+++ b/configs/dragonboard820c_defconfig
@@ -14,7 +14,6 @@ CONFIG_BOOTARGS="console=ttyMSM0,115200n8"
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_MISC_INIT_R=y
 CONFIG_SYS_PROMPT="dragonboard820c => "
-CONFIG_CMD_BOOTEFI_HELLO=y
 CONFIG_CMD_MD5SUM=y
 CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_GPIO=y
diff --git a/configs/efi-x86_app_defconfig b/configs/efi-x86_app_defconfig
index e9ee66250cf..b1efafe5066 100644
--- a/configs/efi-x86_app_defconfig
+++ b/configs/efi-x86_app_defconfig
@@ -36,4 +36,3 @@ CONFIG_SYSCON=y
 # CONFIG_REGEX is not set
 # CONFIG_GZIP is not set
 CONFIG_EFI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/evb-ast2600_defconfig b/configs/evb-ast2600_defconfig
index f24425997d7..ee8f8ce4ba3 100644
--- a/configs/evb-ast2600_defconfig
+++ b/configs/evb-ast2600_defconfig
@@ -65,4 +65,3 @@ CONFIG_SPL_SYSRESET=y
 CONFIG_WDT=y
 CONFIG_HEXDUMP=y
 # CONFIG_SPL_HEXDUMP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/evb-px30_defconfig b/configs/evb-px30_defconfig
index 8bcf8edec5b..02fd45ef835 100644
--- a/configs/evb-px30_defconfig
+++ b/configs/evb-px30_defconfig
@@ -105,4 +105,3 @@ CONFIG_SPL_TINY_MEMSET=y
 CONFIG_TPL_TINY_MEMSET=y
 CONFIG_LZO=y
 CONFIG_ERRNO_STR=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/evb-rk3308_defconfig b/configs/evb-rk3308_defconfig
index f34f3497f4e..94c2cadb33a 100644
--- a/configs/evb-rk3308_defconfig
+++ b/configs/evb-rk3308_defconfig
@@ -73,4 +73,3 @@ CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_SPL_TINY_MEMSET=y
 CONFIG_LZO=y
 CONFIG_ERRNO_STR=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/firefly-px30_defconfig b/configs/firefly-px30_defconfig
index d902ab7a9b3..011efff6ff7 100644
--- a/configs/firefly-px30_defconfig
+++ b/configs/firefly-px30_defconfig
@@ -104,4 +104,3 @@ CONFIG_SPL_TINY_MEMSET=y
 CONFIG_TPL_TINY_MEMSET=y
 CONFIG_LZO=y
 CONFIG_ERRNO_STR=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/ge_bx50v3_defconfig b/configs/ge_bx50v3_defconfig
index b831850ec0f..2bb2a137fd8 100644
--- a/configs/ge_bx50v3_defconfig
+++ b/configs/ge_bx50v3_defconfig
@@ -98,4 +98,3 @@ CONFIG_VIDEO_IPUV3=y
 CONFIG_WATCHDOG_TIMEOUT_MSECS=8000
 CONFIG_IMX_WATCHDOG=y
 CONFIG_BCH=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/giedi_defconfig b/configs/giedi_defconfig
index 8b653be1e51..a4534956b42 100644
--- a/configs/giedi_defconfig
+++ b/configs/giedi_defconfig
@@ -106,4 +106,3 @@ CONFIG_DM_THERMAL=y
 CONFIG_IMX_SCU_THERMAL=y
 # CONFIG_SPL_WDT is not set
 CONFIG_SPL_TINY_MEMSET=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/grpeach_defconfig b/configs/grpeach_defconfig
index d497ac80076..1249c18edda 100644
--- a/configs/grpeach_defconfig
+++ b/configs/grpeach_defconfig
@@ -65,4 +65,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_R8A66597_HCD=y
 CONFIG_USB_STORAGE=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/imx8mm-cl-iot-gate_defconfig b/configs/imx8mm-cl-iot-gate_defconfig
index f46f45bda91..c76213b98cd 100644
--- a/configs/imx8mm-cl-iot-gate_defconfig
+++ b/configs/imx8mm-cl-iot-gate_defconfig
@@ -35,8 +35,6 @@ CONFIG_SPL_I2C_SUPPORT=y
 CONFIG_SPL_POWER_SUPPORT=y
 CONFIG_SPL_WATCHDOG_SUPPORT=y
 CONFIG_SYS_PROMPT="u-boot=> "
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_EEPROM=y
 CONFIG_CMD_SHA1SUM=y
 CONFIG_CMD_BIND=y
@@ -51,7 +49,6 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_CACHE=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_RTC=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_GETTIME=y
@@ -141,8 +138,3 @@ CONFIG_TPM=y
 CONFIG_LZO=y
 CONFIG_BZIP2=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_EFI_SET_TIME=y
-CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
-CONFIG_EFI_CAPSULE_ON_DISK=y
-CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
-CONFIG_EFI_SECURE_BOOT=y
diff --git a/configs/imx8qm_mek_defconfig b/configs/imx8qm_mek_defconfig
index 7589967e21c..388d917a9a7 100644
--- a/configs/imx8qm_mek_defconfig
+++ b/configs/imx8qm_mek_defconfig
@@ -84,4 +84,3 @@ CONFIG_SPL_DM_REGULATOR_GPIO=y
 CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
 CONFIG_SPL_TINY_MEMSET=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/imx8qm_rom7720_a1_4G_defconfig b/configs/imx8qm_rom7720_a1_4G_defconfig
index 7e1070fd25a..a947bf704ea 100644
--- a/configs/imx8qm_rom7720_a1_4G_defconfig
+++ b/configs/imx8qm_rom7720_a1_4G_defconfig
@@ -81,4 +81,3 @@ CONFIG_SPL_DM_REGULATOR_GPIO=y
 CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
 CONFIG_SPL_TINY_MEMSET=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/imx8qxp_mek_defconfig b/configs/imx8qxp_mek_defconfig
index a8e8df7fe61..60732181374 100644
--- a/configs/imx8qxp_mek_defconfig
+++ b/configs/imx8qxp_mek_defconfig
@@ -88,4 +88,3 @@ CONFIG_FSL_LPUART=y
 CONFIG_DM_THERMAL=y
 CONFIG_IMX_SCU_THERMAL=y
 CONFIG_SPL_TINY_MEMSET=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/kontron_sl28_defconfig b/configs/kontron_sl28_defconfig
index 29a45ec54bc..3efc44fa85a 100644
--- a/configs/kontron_sl28_defconfig
+++ b/configs/kontron_sl28_defconfig
@@ -36,7 +36,6 @@ CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT=y
 CONFIG_SPL_SPI_LOAD=y
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GREPENV=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_GPT=y
 CONFIG_CMD_I2C=y
@@ -44,7 +43,6 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_CACHE=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_RNG=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
diff --git a/configs/kp_imx53_defconfig b/configs/kp_imx53_defconfig
index 4a2d8afe4ee..658750d5367 100644
--- a/configs/kp_imx53_defconfig
+++ b/configs/kp_imx53_defconfig
@@ -57,4 +57,3 @@ CONFIG_USB=y
 CONFIG_USB_EHCI_MX5=y
 CONFIG_USB_STORAGE=y
 CONFIG_HEXDUMP=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig b/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig
index 4179e56f8fa..37fd68f7fae 100644
--- a/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1028aqds_tfa_SECURE_BOOT_defconfig
@@ -87,4 +87,3 @@ CONFIG_WDT=y
 CONFIG_WDT_SP805=y
 CONFIG_RSA=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1028aqds_tfa_defconfig b/configs/ls1028aqds_tfa_defconfig
index 788b87cd677..21b91aa6f80 100644
--- a/configs/ls1028aqds_tfa_defconfig
+++ b/configs/ls1028aqds_tfa_defconfig
@@ -92,4 +92,3 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_WDT=y
 CONFIG_WDT_SP805=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1028aqds_tfa_lpuart_defconfig b/configs/ls1028aqds_tfa_lpuart_defconfig
index 23caf764633..5f2b1b3b016 100644
--- a/configs/ls1028aqds_tfa_lpuart_defconfig
+++ b/configs/ls1028aqds_tfa_lpuart_defconfig
@@ -92,4 +92,3 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_WDT=y
 CONFIG_WDT_SP805=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig
index e3d9a75dc90..2645d0486fc 100644
--- a/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1028ardb_tfa_SECURE_BOOT_defconfig
@@ -82,4 +82,3 @@ CONFIG_WDT=y
 CONFIG_WDT_SP805=y
 CONFIG_RSA=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1028ardb_tfa_defconfig b/configs/ls1028ardb_tfa_defconfig
index b8841d5b17a..36ef8494a95 100644
--- a/configs/ls1028ardb_tfa_defconfig
+++ b/configs/ls1028ardb_tfa_defconfig
@@ -91,4 +91,3 @@ CONFIG_USB_ETHER_RTL8152=y
 CONFIG_WDT=y
 CONFIG_WDT_SP805=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_defconfig b/configs/ls1043aqds_defconfig
index 5e04dca25c8..3af70d7d26f 100644
--- a/configs/ls1043aqds_defconfig
+++ b/configs/ls1043aqds_defconfig
@@ -68,4 +68,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_lpuart_defconfig b/configs/ls1043aqds_lpuart_defconfig
index 8f479b7cb22..5c11a46e371 100644
--- a/configs/ls1043aqds_lpuart_defconfig
+++ b/configs/ls1043aqds_lpuart_defconfig
@@ -70,4 +70,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_nand_defconfig b/configs/ls1043aqds_nand_defconfig
index f0951cdf3e0..cdd1d98653e 100644
--- a/configs/ls1043aqds_nand_defconfig
+++ b/configs/ls1043aqds_nand_defconfig
@@ -84,4 +84,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_nor_ddr3_defconfig b/configs/ls1043aqds_nor_ddr3_defconfig
index 1de948f48cb..b0f6315e711 100644
--- a/configs/ls1043aqds_nor_ddr3_defconfig
+++ b/configs/ls1043aqds_nor_ddr3_defconfig
@@ -69,4 +69,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_qspi_defconfig b/configs/ls1043aqds_qspi_defconfig
index 8a98ce99776..959c1e6f09d 100644
--- a/configs/ls1043aqds_qspi_defconfig
+++ b/configs/ls1043aqds_qspi_defconfig
@@ -65,4 +65,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_sdcard_ifc_defconfig b/configs/ls1043aqds_sdcard_ifc_defconfig
index 11b46211dcc..325a3faed1e 100644
--- a/configs/ls1043aqds_sdcard_ifc_defconfig
+++ b/configs/ls1043aqds_sdcard_ifc_defconfig
@@ -85,4 +85,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_sdcard_qspi_defconfig b/configs/ls1043aqds_sdcard_qspi_defconfig
index 1fe1dee7a99..4a56ece412d 100644
--- a/configs/ls1043aqds_sdcard_qspi_defconfig
+++ b/configs/ls1043aqds_sdcard_qspi_defconfig
@@ -79,4 +79,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_tfa_SECURE_BOOT_defconfig b/configs/ls1043aqds_tfa_SECURE_BOOT_defconfig
index 29e47cd55a5..9e3d549bf77 100644
--- a/configs/ls1043aqds_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1043aqds_tfa_SECURE_BOOT_defconfig
@@ -71,4 +71,3 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043aqds_tfa_defconfig b/configs/ls1043aqds_tfa_defconfig
index 4d6a644a02f..c5f0389cb90 100644
--- a/configs/ls1043aqds_tfa_defconfig
+++ b/configs/ls1043aqds_tfa_defconfig
@@ -78,4 +78,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043ardb_SECURE_BOOT_defconfig b/configs/ls1043ardb_SECURE_BOOT_defconfig
index a4d4547b44a..765053430a1 100644
--- a/configs/ls1043ardb_SECURE_BOOT_defconfig
+++ b/configs/ls1043ardb_SECURE_BOOT_defconfig
@@ -61,4 +61,3 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043ardb_defconfig b/configs/ls1043ardb_defconfig
index fb592097364..b6276ef42cf 100644
--- a/configs/ls1043ardb_defconfig
+++ b/configs/ls1043ardb_defconfig
@@ -61,4 +61,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043ardb_nand_SECURE_BOOT_defconfig b/configs/ls1043ardb_nand_SECURE_BOOT_defconfig
index cfba38129e3..065fa30bd53 100644
--- a/configs/ls1043ardb_nand_SECURE_BOOT_defconfig
+++ b/configs/ls1043ardb_nand_SECURE_BOOT_defconfig
@@ -81,4 +81,3 @@ CONFIG_USB_XHCI_DWC3=y
 # CONFIG_SPL_USE_TINY_PRINTF is not set
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043ardb_nand_defconfig b/configs/ls1043ardb_nand_defconfig
index 8eb756023c8..33071da078a 100644
--- a/configs/ls1043ardb_nand_defconfig
+++ b/configs/ls1043ardb_nand_defconfig
@@ -80,4 +80,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 # CONFIG_SPL_USE_TINY_PRINTF is not set
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig b/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
index cf306234948..a665ceaa753 100644
--- a/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
+++ b/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
@@ -83,4 +83,3 @@ CONFIG_USB_XHCI_DWC3=y
 # CONFIG_SPL_USE_TINY_PRINTF is not set
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043ardb_sdcard_defconfig b/configs/ls1043ardb_sdcard_defconfig
index 10e1e01e816..316d78c3d93 100644
--- a/configs/ls1043ardb_sdcard_defconfig
+++ b/configs/ls1043ardb_sdcard_defconfig
@@ -80,4 +80,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 # CONFIG_SPL_USE_TINY_PRINTF is not set
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1043ardb_tfa_SECURE_BOOT_defconfig
index 5438106c959..3cc96e64774 100644
--- a/configs/ls1043ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1043ardb_tfa_SECURE_BOOT_defconfig
@@ -62,4 +62,3 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1043ardb_tfa_defconfig b/configs/ls1043ardb_tfa_defconfig
index dcb9a750b02..50e010c6c0c 100644
--- a/configs/ls1043ardb_tfa_defconfig
+++ b/configs/ls1043ardb_tfa_defconfig
@@ -65,4 +65,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_SECURE_BOOT_defconfig b/configs/ls1046aqds_SECURE_BOOT_defconfig
index 3177a03a79f..b744452b309 100644
--- a/configs/ls1046aqds_SECURE_BOOT_defconfig
+++ b/configs/ls1046aqds_SECURE_BOOT_defconfig
@@ -69,4 +69,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_defconfig b/configs/ls1046aqds_defconfig
index 9fd216ba54a..ef90e3a2ea4 100644
--- a/configs/ls1046aqds_defconfig
+++ b/configs/ls1046aqds_defconfig
@@ -71,4 +71,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_lpuart_defconfig b/configs/ls1046aqds_lpuart_defconfig
index eab291a22fb..f365d1b4fee 100644
--- a/configs/ls1046aqds_lpuart_defconfig
+++ b/configs/ls1046aqds_lpuart_defconfig
@@ -73,4 +73,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_nand_defconfig b/configs/ls1046aqds_nand_defconfig
index 5daac1f408c..acfec67f221 100644
--- a/configs/ls1046aqds_nand_defconfig
+++ b/configs/ls1046aqds_nand_defconfig
@@ -79,4 +79,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_qspi_defconfig b/configs/ls1046aqds_qspi_defconfig
index b1152cbef15..d98006e5eb4 100644
--- a/configs/ls1046aqds_qspi_defconfig
+++ b/configs/ls1046aqds_qspi_defconfig
@@ -69,4 +69,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_sdcard_ifc_defconfig b/configs/ls1046aqds_sdcard_ifc_defconfig
index abaec2105fa..8eefcac54e7 100644
--- a/configs/ls1046aqds_sdcard_ifc_defconfig
+++ b/configs/ls1046aqds_sdcard_ifc_defconfig
@@ -89,4 +89,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_sdcard_qspi_defconfig b/configs/ls1046aqds_sdcard_qspi_defconfig
index 4b1628b1081..bce5f72087e 100644
--- a/configs/ls1046aqds_sdcard_qspi_defconfig
+++ b/configs/ls1046aqds_sdcard_qspi_defconfig
@@ -84,4 +84,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_tfa_SECURE_BOOT_defconfig b/configs/ls1046aqds_tfa_SECURE_BOOT_defconfig
index af2267b0318..8d934afd105 100644
--- a/configs/ls1046aqds_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1046aqds_tfa_SECURE_BOOT_defconfig
@@ -71,4 +71,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046aqds_tfa_defconfig b/configs/ls1046aqds_tfa_defconfig
index f64d0d6c2d3..0314d3f24e2 100644
--- a/configs/ls1046aqds_tfa_defconfig
+++ b/configs/ls1046aqds_tfa_defconfig
@@ -81,4 +81,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046ardb_emmc_defconfig b/configs/ls1046ardb_emmc_defconfig
index dc2369422c3..8deb8ca13b5 100644
--- a/configs/ls1046ardb_emmc_defconfig
+++ b/configs/ls1046ardb_emmc_defconfig
@@ -81,4 +81,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046ardb_qspi_SECURE_BOOT_defconfig b/configs/ls1046ardb_qspi_SECURE_BOOT_defconfig
index eb14baa7264..dcb3d806ada 100644
--- a/configs/ls1046ardb_qspi_SECURE_BOOT_defconfig
+++ b/configs/ls1046ardb_qspi_SECURE_BOOT_defconfig
@@ -64,4 +64,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046ardb_qspi_defconfig b/configs/ls1046ardb_qspi_defconfig
index 3dd546f90d2..f8166ff1b5e 100644
--- a/configs/ls1046ardb_qspi_defconfig
+++ b/configs/ls1046ardb_qspi_defconfig
@@ -67,4 +67,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046ardb_qspi_spl_defconfig b/configs/ls1046ardb_qspi_spl_defconfig
index 73f5a53445b..b8d41081e14 100644
--- a/configs/ls1046ardb_qspi_spl_defconfig
+++ b/configs/ls1046ardb_qspi_spl_defconfig
@@ -86,4 +86,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_SPL_GZIP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046ardb_sdcard_SECURE_BOOT_defconfig b/configs/ls1046ardb_sdcard_SECURE_BOOT_defconfig
index 3b191ecf27f..4b067f16aaa 100644
--- a/configs/ls1046ardb_sdcard_SECURE_BOOT_defconfig
+++ b/configs/ls1046ardb_sdcard_SECURE_BOOT_defconfig
@@ -81,4 +81,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046ardb_sdcard_defconfig b/configs/ls1046ardb_sdcard_defconfig
index 0b9de843109..892f2e39933 100644
--- a/configs/ls1046ardb_sdcard_defconfig
+++ b/configs/ls1046ardb_sdcard_defconfig
@@ -80,4 +80,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1046ardb_tfa_SECURE_BOOT_defconfig
index 1ac6720b0b5..5f9153e3e42 100644
--- a/configs/ls1046ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1046ardb_tfa_SECURE_BOOT_defconfig
@@ -63,4 +63,3 @@ CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1046ardb_tfa_defconfig b/configs/ls1046ardb_tfa_defconfig
index 226ebb0311d..6182f1852db 100644
--- a/configs/ls1046ardb_tfa_defconfig
+++ b/configs/ls1046ardb_tfa_defconfig
@@ -68,4 +68,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1088aqds_qspi_SECURE_BOOT_defconfig b/configs/ls1088aqds_qspi_SECURE_BOOT_defconfig
index 9dc5f8dbb28..561f4cdd5c4 100644
--- a/configs/ls1088aqds_qspi_SECURE_BOOT_defconfig
+++ b/configs/ls1088aqds_qspi_SECURE_BOOT_defconfig
@@ -74,4 +74,3 @@ CONFIG_USB_DWC3=y
 CONFIG_USB_GADGET=y
 CONFIG_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1088aqds_qspi_defconfig b/configs/ls1088aqds_qspi_defconfig
index 91903bd1106..608c07b6989 100644
--- a/configs/ls1088aqds_qspi_defconfig
+++ b/configs/ls1088aqds_qspi_defconfig
@@ -75,4 +75,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_GADGET=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1088aqds_tfa_defconfig b/configs/ls1088aqds_tfa_defconfig
index c678fe00750..2c5c94b2083 100644
--- a/configs/ls1088aqds_tfa_defconfig
+++ b/configs/ls1088aqds_tfa_defconfig
@@ -100,4 +100,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_GADGET=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1088ardb_qspi_SECURE_BOOT_defconfig b/configs/ls1088ardb_qspi_SECURE_BOOT_defconfig
index a78103c3b36..e65c73c600a 100644
--- a/configs/ls1088ardb_qspi_SECURE_BOOT_defconfig
+++ b/configs/ls1088ardb_qspi_SECURE_BOOT_defconfig
@@ -76,4 +76,3 @@ CONFIG_USB_DWC3=y
 CONFIG_USB_GADGET=y
 CONFIG_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1088ardb_qspi_defconfig b/configs/ls1088ardb_qspi_defconfig
index c29a3a606b2..03af177c277 100644
--- a/configs/ls1088ardb_qspi_defconfig
+++ b/configs/ls1088ardb_qspi_defconfig
@@ -77,4 +77,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_USB_DWC3=y
 CONFIG_USB_GADGET=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1088ardb_tfa_SECURE_BOOT_defconfig b/configs/ls1088ardb_tfa_SECURE_BOOT_defconfig
index 224cc63296a..b08ae88d68b 100644
--- a/configs/ls1088ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls1088ardb_tfa_SECURE_BOOT_defconfig
@@ -85,4 +85,3 @@ CONFIG_USB_GADGET=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls1088ardb_tfa_defconfig b/configs/ls1088ardb_tfa_defconfig
index 6e7ecf95e7e..17caed91ca6 100644
--- a/configs/ls1088ardb_tfa_defconfig
+++ b/configs/ls1088ardb_tfa_defconfig
@@ -92,4 +92,3 @@ CONFIG_USB_HOST_ETHER=y
 CONFIG_USB_ETHER_ASIX=y
 CONFIG_USB_ETHER_ASIX88179=y
 CONFIG_USB_ETHER_RTL8152=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2080aqds_SECURE_BOOT_defconfig b/configs/ls2080aqds_SECURE_BOOT_defconfig
index f9841499830..8d7732569ba 100644
--- a/configs/ls2080aqds_SECURE_BOOT_defconfig
+++ b/configs/ls2080aqds_SECURE_BOOT_defconfig
@@ -67,4 +67,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2080aqds_defconfig b/configs/ls2080aqds_defconfig
index 9a69d143d15..ed6753e3a01 100644
--- a/configs/ls2080aqds_defconfig
+++ b/configs/ls2080aqds_defconfig
@@ -68,4 +68,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2080aqds_nand_defconfig b/configs/ls2080aqds_nand_defconfig
index bb36da157b0..738ca7efefc 100644
--- a/configs/ls2080aqds_nand_defconfig
+++ b/configs/ls2080aqds_nand_defconfig
@@ -75,4 +75,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2080aqds_qspi_defconfig b/configs/ls2080aqds_qspi_defconfig
index cbdf7334562..e4f1d1b4af5 100644
--- a/configs/ls2080aqds_qspi_defconfig
+++ b/configs/ls2080aqds_qspi_defconfig
@@ -67,4 +67,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2080aqds_sdcard_defconfig b/configs/ls2080aqds_sdcard_defconfig
index 0b13a4c4145..eb402ad7e9a 100644
--- a/configs/ls2080aqds_sdcard_defconfig
+++ b/configs/ls2080aqds_sdcard_defconfig
@@ -74,4 +74,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2080ardb_SECURE_BOOT_defconfig b/configs/ls2080ardb_SECURE_BOOT_defconfig
index bf716f8026e..27fa14fb815 100644
--- a/configs/ls2080ardb_SECURE_BOOT_defconfig
+++ b/configs/ls2080ardb_SECURE_BOOT_defconfig
@@ -65,4 +65,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2080ardb_defconfig b/configs/ls2080ardb_defconfig
index af300af1727..12627791975 100644
--- a/configs/ls2080ardb_defconfig
+++ b/configs/ls2080ardb_defconfig
@@ -66,4 +66,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2080ardb_nand_defconfig b/configs/ls2080ardb_nand_defconfig
index a1f2f2b4db6..9a0ba4f4802 100644
--- a/configs/ls2080ardb_nand_defconfig
+++ b/configs/ls2080ardb_nand_defconfig
@@ -71,4 +71,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2081ardb_defconfig b/configs/ls2081ardb_defconfig
index 3a995e29f86..bb4de0cf1a7 100644
--- a/configs/ls2081ardb_defconfig
+++ b/configs/ls2081ardb_defconfig
@@ -64,4 +64,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2088aqds_tfa_defconfig b/configs/ls2088aqds_tfa_defconfig
index f54edb61321..bf094f14440 100644
--- a/configs/ls2088aqds_tfa_defconfig
+++ b/configs/ls2088aqds_tfa_defconfig
@@ -89,4 +89,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2088ardb_qspi_SECURE_BOOT_defconfig b/configs/ls2088ardb_qspi_SECURE_BOOT_defconfig
index bc88ce34184..2cc45d7b02c 100644
--- a/configs/ls2088ardb_qspi_SECURE_BOOT_defconfig
+++ b/configs/ls2088ardb_qspi_SECURE_BOOT_defconfig
@@ -66,4 +66,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2088ardb_qspi_defconfig b/configs/ls2088ardb_qspi_defconfig
index 9551b6872fb..9ef20ce4d40 100644
--- a/configs/ls2088ardb_qspi_defconfig
+++ b/configs/ls2088ardb_qspi_defconfig
@@ -71,4 +71,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2088ardb_tfa_SECURE_BOOT_defconfig b/configs/ls2088ardb_tfa_SECURE_BOOT_defconfig
index 7dfc438b95f..3002cee0fd0 100644
--- a/configs/ls2088ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/ls2088ardb_tfa_SECURE_BOOT_defconfig
@@ -82,4 +82,3 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/ls2088ardb_tfa_defconfig b/configs/ls2088ardb_tfa_defconfig
index 9d8f3d25495..5bd81b1f2cf 100644
--- a/configs/ls2088ardb_tfa_defconfig
+++ b/configs/ls2088ardb_tfa_defconfig
@@ -87,4 +87,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig b/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
index 9935946074e..4bdffa96326 100644
--- a/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
+++ b/configs/lx2160aqds_tfa_SECURE_BOOT_defconfig
@@ -85,4 +85,3 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/lx2160aqds_tfa_defconfig b/configs/lx2160aqds_tfa_defconfig
index 1d7a7512096..77c01b84560 100644
--- a/configs/lx2160aqds_tfa_defconfig
+++ b/configs/lx2160aqds_tfa_defconfig
@@ -91,4 +91,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_WDT=y
 CONFIG_WDT_SBSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig b/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
index 40d6f2a35d3..1837ce999f8 100644
--- a/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
+++ b/configs/lx2160ardb_tfa_SECURE_BOOT_defconfig
@@ -76,4 +76,3 @@ CONFIG_USB_XHCI_DWC3=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/lx2160ardb_tfa_defconfig b/configs/lx2160ardb_tfa_defconfig
index 4a747fcdbde..8d91df81c10 100644
--- a/configs/lx2160ardb_tfa_defconfig
+++ b/configs/lx2160ardb_tfa_defconfig
@@ -86,4 +86,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_WDT=y
 CONFIG_WDT_SBSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/lx2160ardb_tfa_stmm_defconfig b/configs/lx2160ardb_tfa_stmm_defconfig
index f7fb60e2e1a..b9c9f5e7a71 100644
--- a/configs/lx2160ardb_tfa_stmm_defconfig
+++ b/configs/lx2160ardb_tfa_stmm_defconfig
@@ -25,7 +25,6 @@ CONFIG_BOOTARGS="console=ttyAMA0,115200 root=/dev/ram0 earlycon=pl011,mmio32,0x2
 # CONFIG_USE_BOOTCOMMAND is not set
 CONFIG_MISC_INIT_R=y
 CONFIG_CMD_GREPENV=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_EEPROM=y
 CONFIG_CMD_DM=y
 CONFIG_CMD_GPIO=y
@@ -35,7 +34,6 @@ CONFIG_CMD_MMC=y
 CONFIG_CMD_PCI=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_CACHE=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_MP=y
 CONFIG_OF_CONTROL=y
 CONFIG_ENV_OVERWRITE=y
@@ -84,5 +82,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
-CONFIG_EFI_MM_COMM_TEE=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/lx2162aqds_tfa_SECURE_BOOT_defconfig b/configs/lx2162aqds_tfa_SECURE_BOOT_defconfig
index e1619827d02..a375bb48375 100644
--- a/configs/lx2162aqds_tfa_SECURE_BOOT_defconfig
+++ b/configs/lx2162aqds_tfa_SECURE_BOOT_defconfig
@@ -88,4 +88,3 @@ CONFIG_WDT_SBSA=y
 CONFIG_RSA=y
 CONFIG_SPL_RSA=y
 CONFIG_RSA_SOFTWARE_EXP=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/lx2162aqds_tfa_defconfig b/configs/lx2162aqds_tfa_defconfig
index e404f7a0308..979a034f12e 100644
--- a/configs/lx2162aqds_tfa_defconfig
+++ b/configs/lx2162aqds_tfa_defconfig
@@ -95,4 +95,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_WDT=y
 CONFIG_WDT_SBSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/lx2162aqds_tfa_verified_boot_defconfig b/configs/lx2162aqds_tfa_verified_boot_defconfig
index 96f190610c4..1d247aba168 100644
--- a/configs/lx2162aqds_tfa_verified_boot_defconfig
+++ b/configs/lx2162aqds_tfa_verified_boot_defconfig
@@ -96,4 +96,3 @@ CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_XHCI_DWC3=y
 CONFIG_WDT=y
 CONFIG_WDT_SBSA=y
-CONFIG_EFI_LOADER_BOUNCE_BUFFER=y
diff --git a/configs/mt7623n_bpir2_defconfig b/configs/mt7623n_bpir2_defconfig
index bd35dbac4db..6657d496206 100644
--- a/configs/mt7623n_bpir2_defconfig
+++ b/configs/mt7623n_bpir2_defconfig
@@ -52,4 +52,3 @@ CONFIG_TIMER=y
 CONFIG_MTK_TIMER=y
 CONFIG_WDT_MTK=y
 CONFIG_LZMA=y
-# CONFIG_EFI_GRUB_ARM32_WORKAROUND is not set
diff --git a/configs/mt7629_rfb_defconfig b/configs/mt7629_rfb_defconfig
index a624e706d27..9ec71610406 100644
--- a/configs/mt7629_rfb_defconfig
+++ b/configs/mt7629_rfb_defconfig
@@ -93,4 +93,3 @@ CONFIG_USB_KEYBOARD=y
 CONFIG_WDT_MTK=y
 CONFIG_LZMA=y
 CONFIG_SPL_LZMA=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/mt8183_pumpkin_defconfig b/configs/mt8183_pumpkin_defconfig
index 4ff2cdfb2f1..58d64ac4285 100644
--- a/configs/mt8183_pumpkin_defconfig
+++ b/configs/mt8183_pumpkin_defconfig
@@ -76,4 +76,3 @@ CONFIG_WDT=y
 CONFIG_WDT_MTK=y
 # CONFIG_REGEX is not set
 CONFIG_OF_LIBFDT_OVERLAY=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/mt8516_pumpkin_defconfig b/configs/mt8516_pumpkin_defconfig
index 945643ab255..6dc915091bd 100644
--- a/configs/mt8516_pumpkin_defconfig
+++ b/configs/mt8516_pumpkin_defconfig
@@ -74,4 +74,3 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0e8d
 CONFIG_USB_GADGET_PRODUCT_NUM=0x201c
 CONFIG_WDT=y
 CONFIG_WDT_MTK=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/mvebu_puzzle-m801-88f8040_defconfig b/configs/mvebu_puzzle-m801-88f8040_defconfig
index dd5ac764198..184cd098e89 100644
--- a/configs/mvebu_puzzle-m801-88f8040_defconfig
+++ b/configs/mvebu_puzzle-m801-88f8040_defconfig
@@ -77,4 +77,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_XHCI_HCD=y
 CONFIG_USB_EHCI_HCD=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/mx6memcal_defconfig b/configs/mx6memcal_defconfig
index 41ff942cf1c..914612ae183 100644
--- a/configs/mx6memcal_defconfig
+++ b/configs/mx6memcal_defconfig
@@ -52,4 +52,3 @@ CONFIG_USB_GADGET_VENDOR_NUM=0x0525
 CONFIG_USB_GADGET_PRODUCT_NUM=0xa4a5
 CONFIG_CI_UDC=y
 CONFIG_OF_LIBFDT=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/octeontx2_95xx_defconfig b/configs/octeontx2_95xx_defconfig
index 25791910c69..acb00210fbd 100644
--- a/configs/octeontx2_95xx_defconfig
+++ b/configs/octeontx2_95xx_defconfig
@@ -24,7 +24,6 @@ CONFIG_BOOTARGS="console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Marvell> "
-# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
 CONFIG_CMD_MD5SUM=y
 CONFIG_MD5SUM_VERIFY=y
 CONFIG_CMD_MX_CYCLIC=y
diff --git a/configs/octeontx2_96xx_defconfig b/configs/octeontx2_96xx_defconfig
index a1d4ecde85c..fc1d2f83f6c 100644
--- a/configs/octeontx2_96xx_defconfig
+++ b/configs/octeontx2_96xx_defconfig
@@ -24,7 +24,6 @@ CONFIG_BOOTARGS="console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Marvell> "
-# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
 CONFIG_CMD_MD5SUM=y
 CONFIG_MD5SUM_VERIFY=y
 CONFIG_CMD_MX_CYCLIC=y
diff --git a/configs/octeontx_81xx_defconfig b/configs/octeontx_81xx_defconfig
index 72394a7bb40..cc1cb299e17 100644
--- a/configs/octeontx_81xx_defconfig
+++ b/configs/octeontx_81xx_defconfig
@@ -26,7 +26,6 @@ CONFIG_BOOTARGS="console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Marvell> "
-# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
 CONFIG_CMD_MD5SUM=y
 CONFIG_MD5SUM_VERIFY=y
 CONFIG_CMD_MX_CYCLIC=y
diff --git a/configs/octeontx_83xx_defconfig b/configs/octeontx_83xx_defconfig
index a82c405b3af..748b4f7010f 100644
--- a/configs/octeontx_83xx_defconfig
+++ b/configs/octeontx_83xx_defconfig
@@ -24,7 +24,6 @@ CONFIG_BOOTARGS="console=ttyAMA0,115200n8 earlycon=pl011,0x87e028000000 maxcpus=
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_HUSH_PARSER=y
 CONFIG_SYS_PROMPT="Marvell> "
-# CONFIG_CMD_BOOTEFI_HELLO_COMPILE is not set
 CONFIG_CMD_MD5SUM=y
 CONFIG_MD5SUM_VERIFY=y
 CONFIG_CMD_MX_CYCLIC=y
diff --git a/configs/omap4_sdp4430_defconfig b/configs/omap4_sdp4430_defconfig
index f90b2814288..43570efbd78 100644
--- a/configs/omap4_sdp4430_defconfig
+++ b/configs/omap4_sdp4430_defconfig
@@ -44,4 +44,3 @@ CONFIG_USB_OMAP3=y
 CONFIG_USB_GADGET=y
 CONFIG_FAT_WRITE=y
 # CONFIG_REGEX is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/opos6uldev_defconfig b/configs/opos6uldev_defconfig
index e1b39435696..52ece40e4e2 100644
--- a/configs/opos6uldev_defconfig
+++ b/configs/opos6uldev_defconfig
@@ -114,4 +114,3 @@ CONFIG_BMP_16BPP=y
 CONFIG_BMP_24BPP=y
 CONFIG_BMP_32BPP=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/pcm052_defconfig b/configs/pcm052_defconfig
index 260d3d459b4..fad0c778934 100644
--- a/configs/pcm052_defconfig
+++ b/configs/pcm052_defconfig
@@ -70,4 +70,3 @@ CONFIG_FSL_LPUART=y
 CONFIG_SPI=y
 CONFIG_DM_SPI=y
 CONFIG_FSL_QSPI=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/phycore-am335x-r2-regor_defconfig b/configs/phycore-am335x-r2-regor_defconfig
index 87de31d63a9..d8d89836145 100644
--- a/configs/phycore-am335x-r2-regor_defconfig
+++ b/configs/phycore-am335x-r2-regor_defconfig
@@ -84,4 +84,3 @@ CONFIG_USB_MUSB_TI=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_ETHER=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/phycore-am335x-r2-wega_defconfig b/configs/phycore-am335x-r2-wega_defconfig
index 591ac755321..7a0cd1f7480 100644
--- a/configs/phycore-am335x-r2-wega_defconfig
+++ b/configs/phycore-am335x-r2-wega_defconfig
@@ -85,4 +85,3 @@ CONFIG_USB_MUSB_TI=y
 CONFIG_USB_GADGET=y
 CONFIG_USB_ETHER=y
 CONFIG_FDT_FIXUP_PARTITIONS=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/qemu-riscv32_defconfig b/configs/qemu-riscv32_defconfig
index 8ac16cf4186..8c961f6b653 100644
--- a/configs/qemu-riscv32_defconfig
+++ b/configs/qemu-riscv32_defconfig
@@ -6,8 +6,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 # CONFIG_CMD_MII is not set
 CONFIG_OF_PRIOR_STAGE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
diff --git a/configs/qemu-riscv32_smode_defconfig b/configs/qemu-riscv32_smode_defconfig
index 05eda439618..a32f498e68d 100644
--- a/configs/qemu-riscv32_smode_defconfig
+++ b/configs/qemu-riscv32_smode_defconfig
@@ -7,8 +7,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 # CONFIG_CMD_MII is not set
 CONFIG_OF_PRIOR_STAGE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
diff --git a/configs/qemu-riscv64_defconfig b/configs/qemu-riscv64_defconfig
index daf5d655d01..f80d75ad76b 100644
--- a/configs/qemu-riscv64_defconfig
+++ b/configs/qemu-riscv64_defconfig
@@ -7,8 +7,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 # CONFIG_CMD_MII is not set
 CONFIG_OF_PRIOR_STAGE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
diff --git a/configs/qemu-riscv64_smode_defconfig b/configs/qemu-riscv64_smode_defconfig
index 0000564e41e..1b73e866f59 100644
--- a/configs/qemu-riscv64_smode_defconfig
+++ b/configs/qemu-riscv64_smode_defconfig
@@ -8,8 +8,6 @@ CONFIG_DISTRO_DEFAULTS=y
 CONFIG_FIT=y
 CONFIG_DISPLAY_CPUINFO=y
 CONFIG_DISPLAY_BOARDINFO=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 # CONFIG_CMD_MII is not set
 CONFIG_OF_PRIOR_STAGE=y
 CONFIG_SYS_RELOC_GD_ENV_ADDR=y
diff --git a/configs/qemu-x86_64_defconfig b/configs/qemu-x86_64_defconfig
index 3a3b81c8b83..9b09817250d 100644
--- a/configs/qemu-x86_64_defconfig
+++ b/configs/qemu-x86_64_defconfig
@@ -39,8 +39,6 @@ CONFIG_SPL_PCI=y
 CONFIG_SPL_PCH_SUPPORT=y
 CONFIG_SPL_RTC_SUPPORT=y
 CONFIG_CMD_CPU=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_IDE=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
diff --git a/configs/qemu-x86_defconfig b/configs/qemu-x86_defconfig
index 6be7ce0c6e6..48c6cf6b4f6 100644
--- a/configs/qemu-x86_defconfig
+++ b/configs/qemu-x86_defconfig
@@ -21,8 +21,6 @@ CONFIG_DISPLAY_BOARDINFO_LATE=y
 CONFIG_LAST_STAGE_INIT=y
 CONFIG_PCI_INIT_R=y
 CONFIG_CMD_CPU=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_IDE=y
 CONFIG_CMD_SPI=y
 CONFIG_CMD_USB=y
diff --git a/configs/qemu_arm64_defconfig b/configs/qemu_arm64_defconfig
index f6e586627a8..2f7f64e5cab 100644
--- a/configs/qemu_arm64_defconfig
+++ b/configs/qemu_arm64_defconfig
@@ -15,8 +15,6 @@ CONFIG_USE_PREBOOT=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_PCI_INIT_R=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_DFU=y
 CONFIG_CMD_MTD=y
 CONFIG_CMD_PCI=y
diff --git a/configs/qemu_arm_defconfig b/configs/qemu_arm_defconfig
index 278d8f41f48..350d545f015 100644
--- a/configs/qemu_arm_defconfig
+++ b/configs/qemu_arm_defconfig
@@ -17,8 +17,6 @@ CONFIG_USE_PREBOOT=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_PCI_INIT_R=y
-CONFIG_CMD_BOOTEFI_SELFTEST=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_DFU=y
 CONFIG_CMD_MTD=y
 CONFIG_CMD_PCI=y
diff --git a/configs/roc-cc-rk3308_defconfig b/configs/roc-cc-rk3308_defconfig
index 77eaefcac9d..afbc11a1db3 100644
--- a/configs/roc-cc-rk3308_defconfig
+++ b/configs/roc-cc-rk3308_defconfig
@@ -73,4 +73,3 @@ CONFIG_USB_GADGET_DOWNLOAD=y
 CONFIG_SPL_TINY_MEMSET=y
 CONFIG_LZO=y
 CONFIG_ERRNO_STR=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/rock-pi-n10-rk3399pro_defconfig b/configs/rock-pi-n10-rk3399pro_defconfig
index 14740dfcef1..a2cec2b2c22 100644
--- a/configs/rock-pi-n10-rk3399pro_defconfig
+++ b/configs/rock-pi-n10-rk3399pro_defconfig
@@ -62,7 +62,6 @@ CONFIG_USB_DWC3=y
 CONFIG_USB_DWC3_GENERIC=y
 CONFIG_ROCKCHIP_USB2_PHY=y
 CONFIG_USB_KEYBOARD=y
-# CONFIG_USB_KEYBOARD_FN_KEYS is not set
 CONFIG_USB_GADGET=y
 CONFIG_DM_VIDEO=y
 CONFIG_DISPLAY=y
diff --git a/configs/rock-pi-n8-rk3288_defconfig b/configs/rock-pi-n8-rk3288_defconfig
index 935f569db5c..0a0715a11e5 100644
--- a/configs/rock-pi-n8-rk3288_defconfig
+++ b/configs/rock-pi-n8-rk3288_defconfig
@@ -71,7 +71,6 @@ CONFIG_USB_EHCI_GENERIC=y
 CONFIG_USB_DWC2=y
 CONFIG_ROCKCHIP_USB2_PHY=y
 CONFIG_USB_KEYBOARD=y
-# CONFIG_USB_KEYBOARD_FN_KEYS is not set
 CONFIG_USB_GADGET=y
 CONFIG_USB_GADGET_DWC2_OTG=y
 CONFIG_DM_VIDEO=y
diff --git a/configs/sama5d27_wlsom1_ek_mmc_defconfig b/configs/sama5d27_wlsom1_ek_mmc_defconfig
index 1ca5e44a796..4bc6d54c35b 100644
--- a/configs/sama5d27_wlsom1_ek_mmc_defconfig
+++ b/configs/sama5d27_wlsom1_ek_mmc_defconfig
@@ -106,4 +106,3 @@ CONFIG_W1_GPIO=y
 CONFIG_W1_EEPROM=y
 CONFIG_W1_EEPROM_DS24XXX=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-# CONFIG_EFI_LOADER_HII is not set
diff --git a/configs/sama5d27_wlsom1_ek_qspiflash_defconfig b/configs/sama5d27_wlsom1_ek_qspiflash_defconfig
index 04d7e423999..afd1be89a8d 100644
--- a/configs/sama5d27_wlsom1_ek_qspiflash_defconfig
+++ b/configs/sama5d27_wlsom1_ek_qspiflash_defconfig
@@ -118,4 +118,3 @@ CONFIG_W1_GPIO=y
 CONFIG_W1_EEPROM=y
 CONFIG_W1_EEPROM_DS24XXX=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-# CONFIG_EFI_LOADER_HII is not set
diff --git a/configs/sama5d2_icp_mmc_defconfig b/configs/sama5d2_icp_mmc_defconfig
index d4d2d0542d8..fb95b115fc2 100644
--- a/configs/sama5d2_icp_mmc_defconfig
+++ b/configs/sama5d2_icp_mmc_defconfig
@@ -77,4 +77,3 @@ CONFIG_TIMER=y
 CONFIG_SPL_TIMER=y
 CONFIG_ATMEL_PIT_TIMER=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-# CONFIG_EFI_LOADER_HII is not set
diff --git a/configs/sama7g5ek_mmc1_defconfig b/configs/sama7g5ek_mmc1_defconfig
index e076e07e11c..6c781335b52 100644
--- a/configs/sama7g5ek_mmc1_defconfig
+++ b/configs/sama7g5ek_mmc1_defconfig
@@ -68,4 +68,3 @@ CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
 CONFIG_MCHP_PIT64B_TIMER=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-# CONFIG_EFI_LOADER_HII is not set
diff --git a/configs/sama7g5ek_mmc_defconfig b/configs/sama7g5ek_mmc_defconfig
index 96549c23f81..0c1cdfec940 100644
--- a/configs/sama7g5ek_mmc_defconfig
+++ b/configs/sama7g5ek_mmc_defconfig
@@ -68,4 +68,3 @@ CONFIG_ATMEL_USART=y
 CONFIG_TIMER=y
 CONFIG_MCHP_PIT64B_TIMER=y
 CONFIG_OF_LIBFDT_OVERLAY=y
-# CONFIG_EFI_LOADER_HII is not set
diff --git a/configs/sandbox64_defconfig b/configs/sandbox64_defconfig
index a8bb5607245..b6fe47f7ede 100644
--- a/configs/sandbox64_defconfig
+++ b/configs/sandbox64_defconfig
@@ -25,14 +25,12 @@ CONFIG_MISC_INIT_F=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_LICENSE=y
 CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTEFI_HELLO=y
 # CONFIG_CMD_ELF is not set
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GREPENV=y
 CONFIG_CMD_ERASEENV=y
 CONFIG_CMD_ENV_CALLBACK=y
 CONFIG_CMD_ENV_FLAGS=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_NVEDIT_INFO=y
 CONFIG_CMD_NVEDIT_LOAD=y
 CONFIG_CMD_NVEDIT_SELECT=y
@@ -63,7 +61,6 @@ CONFIG_CMD_DNS=y
 CONFIG_CMD_LINK_LOCAL=y
 CONFIG_CMD_ETHSW=y
 CONFIG_CMD_BMP=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_RTC=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
@@ -113,7 +110,6 @@ CONFIG_CPU=y
 CONFIG_DM_DEMO=y
 CONFIG_DM_DEMO_SIMPLE=y
 CONFIG_DM_DEMO_SHAPE=y
-CONFIG_DFU_SF=y
 CONFIG_FASTBOOT_FLASH=y
 CONFIG_FASTBOOT_FLASH_MMC_DEV=0
 CONFIG_GPIO_HOG=y
@@ -233,11 +229,6 @@ CONFIG_CMD_DHRYSTONE=y
 CONFIG_TPM=y
 CONFIG_LZ4=y
 CONFIG_ERRNO_STR=y
-CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
-CONFIG_EFI_CAPSULE_ON_DISK=y
-CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
-CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
-CONFIG_EFI_SECURE_BOOT=y
 CONFIG_TEST_FDTDEC=y
 CONFIG_UNIT_TEST=y
 CONFIG_UT_TIME=y
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
index f16e2d5d23d..d60795eea5a 100644
--- a/configs/sandbox_defconfig
+++ b/configs/sandbox_defconfig
@@ -29,7 +29,6 @@ CONFIG_ANDROID_AB=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_LICENSE=y
 CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTEFI_HELLO=y
 CONFIG_CMD_ABOOTIMG=y
 # CONFIG_CMD_ELF is not set
 CONFIG_CMD_ASKENV=y
@@ -37,7 +36,6 @@ CONFIG_CMD_GREPENV=y
 CONFIG_CMD_ERASEENV=y
 CONFIG_CMD_ENV_CALLBACK=y
 CONFIG_CMD_ENV_FLAGS=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_NVEDIT_INFO=y
 CONFIG_CMD_NVEDIT_LOAD=y
 CONFIG_CMD_NVEDIT_SELECT=y
@@ -77,7 +75,6 @@ CONFIG_CMD_LINK_LOCAL=y
 CONFIG_CMD_ETHSW=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_BOOTCOUNT=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_RTC=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
@@ -138,7 +135,6 @@ CONFIG_CPU=y
 CONFIG_DM_DEMO=y
 CONFIG_DM_DEMO_SIMPLE=y
 CONFIG_DM_DEMO_SHAPE=y
-CONFIG_DFU_SF=y
 CONFIG_DMA=y
 CONFIG_DMA_CHANNELS=y
 CONFIG_SANDBOX_DMA=y
@@ -281,11 +277,6 @@ CONFIG_CMD_DHRYSTONE=y
 CONFIG_TPM=y
 CONFIG_LZ4=y
 CONFIG_ERRNO_STR=y
-CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
-CONFIG_EFI_CAPSULE_ON_DISK=y
-CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
-CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
-CONFIG_EFI_SECURE_BOOT=y
 CONFIG_TEST_FDTDEC=y
 CONFIG_UNIT_TEST=y
 CONFIG_UT_TIME=y
diff --git a/configs/sandbox_flattree_defconfig b/configs/sandbox_flattree_defconfig
index 1c39a545c85..dd69338b738 100644
--- a/configs/sandbox_flattree_defconfig
+++ b/configs/sandbox_flattree_defconfig
@@ -22,7 +22,6 @@ CONFIG_MISC_INIT_F=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_LICENSE=y
 CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTEFI_HELLO=y
 # CONFIG_CMD_ELF is not set
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GREPENV=y
@@ -52,7 +51,6 @@ CONFIG_CMD_CDP=y
 CONFIG_CMD_SNTP=y
 CONFIG_CMD_DNS=y
 CONFIG_CMD_LINK_LOCAL=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_RTC=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
diff --git a/configs/sandbox_noinst_defconfig b/configs/sandbox_noinst_defconfig
index 9f415cd8756..b372454bacb 100644
--- a/configs/sandbox_noinst_defconfig
+++ b/configs/sandbox_noinst_defconfig
@@ -35,7 +35,6 @@ CONFIG_SPL_RTC_SUPPORT=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_LICENSE=y
 CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTEFI_HELLO=y
 # CONFIG_CMD_ELF is not set
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GREPENV=y
@@ -69,7 +68,6 @@ CONFIG_CMD_SNTP=y
 CONFIG_CMD_DNS=y
 CONFIG_CMD_LINK_LOCAL=y
 CONFIG_CMD_BMP=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_SOUND=y
diff --git a/configs/sandbox_spl_defconfig b/configs/sandbox_spl_defconfig
index 8bc1373ec31..ced8ffc9b1d 100644
--- a/configs/sandbox_spl_defconfig
+++ b/configs/sandbox_spl_defconfig
@@ -36,7 +36,6 @@ CONFIG_SPL_RTC_SUPPORT=y
 CONFIG_CMD_CPU=y
 CONFIG_CMD_LICENSE=y
 CONFIG_CMD_BOOTZ=y
-CONFIG_CMD_BOOTEFI_HELLO=y
 # CONFIG_CMD_ELF is not set
 CONFIG_CMD_ASKENV=y
 CONFIG_CMD_GREPENV=y
@@ -70,7 +69,6 @@ CONFIG_CMD_SNTP=y
 CONFIG_CMD_DNS=y
 CONFIG_CMD_LINK_LOCAL=y
 CONFIG_CMD_BMP=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_SOUND=y
diff --git a/configs/sipeed_maix_bitm_defconfig b/configs/sipeed_maix_bitm_defconfig
index 33c67c0b540..6bcf7f3d892 100644
--- a/configs/sipeed_maix_bitm_defconfig
+++ b/configs/sipeed_maix_bitm_defconfig
@@ -18,4 +18,3 @@ CONFIG_SF_DEFAULT_BUS=3
 # CONFIG_DM_ETH is not set
 CONFIG_FS_EXT4=y
 CONFIG_FS_FAT=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/sipeed_maix_smode_defconfig b/configs/sipeed_maix_smode_defconfig
index c20c389cace..af7581cfa11 100644
--- a/configs/sipeed_maix_smode_defconfig
+++ b/configs/sipeed_maix_smode_defconfig
@@ -18,4 +18,3 @@ CONFIG_SF_DEFAULT_BUS=3
 # CONFIG_DM_ETH is not set
 CONFIG_FS_EXT4=y
 CONFIG_FS_FAT=y
-# CONFIG_EFI_UNICODE_CAPITALIZATION is not set
diff --git a/configs/socfpga_de1_soc_defconfig b/configs/socfpga_de1_soc_defconfig
index b99a22bd68d..e9947509f52 100644
--- a/configs/socfpga_de1_soc_defconfig
+++ b/configs/socfpga_de1_soc_defconfig
@@ -50,4 +50,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_DWC2=y
 # CONFIG_SPL_WDT is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/somlabs_visionsom_6ull_defconfig b/configs/somlabs_visionsom_6ull_defconfig
index 52e34e3b3f7..7c510b4857d 100644
--- a/configs/somlabs_visionsom_6ull_defconfig
+++ b/configs/somlabs_visionsom_6ull_defconfig
@@ -54,4 +54,3 @@ CONFIG_USB=y
 CONFIG_DM_USB=y
 CONFIG_USB_STORAGE=y
 CONFIG_LZO=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/stemmy_defconfig b/configs/stemmy_defconfig
index 79c05acc6ac..cf0ed40b481 100644
--- a/configs/stemmy_defconfig
+++ b/configs/stemmy_defconfig
@@ -15,4 +15,3 @@ CONFIG_CMD_GETTIME=y
 CONFIG_EFI_PARTITION=y
 # CONFIG_NET is not set
 # CONFIG_MMC_HW_PARTITIONING is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/stm32mp15_basic_defconfig b/configs/stm32mp15_basic_defconfig
index e199f2b7f98..d4ebed5df23 100644
--- a/configs/stm32mp15_basic_defconfig
+++ b/configs/stm32mp15_basic_defconfig
@@ -35,7 +35,6 @@ CONFIG_SPL_SPI_FLASH_MTD=y
 CONFIG_SYS_PROMPT="STM32MP> "
 CONFIG_CMD_ADTIMG=y
 CONFIG_CMD_ERASEENV=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_CMD_UNZIP=y
@@ -52,7 +51,6 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_PMIC=y
@@ -168,7 +166,6 @@ CONFIG_BMP_32BPP=y
 CONFIG_WDT=y
 CONFIG_WDT_STM32MP=y
 CONFIG_ERRNO_STR=y
-# CONFIG_HEXDUMP is not set
 CONFIG_FDT_FIXUP_PARTITIONS=y
 # CONFIG_LMB_USE_MAX_REGIONS is not set
 CONFIG_LMB_MEMORY_REGIONS=2
diff --git a/configs/stm32mp15_trusted_defconfig b/configs/stm32mp15_trusted_defconfig
index 5bc5e794003..420590c2cfc 100644
--- a/configs/stm32mp15_trusted_defconfig
+++ b/configs/stm32mp15_trusted_defconfig
@@ -18,7 +18,6 @@ CONFIG_BOOTCOMMAND="run bootcmd_stm32mp"
 CONFIG_SYS_PROMPT="STM32MP> "
 CONFIG_CMD_ADTIMG=y
 CONFIG_CMD_ERASEENV=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_MEMINFO=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_CMD_UNZIP=y
@@ -35,7 +34,6 @@ CONFIG_CMD_USB=y
 CONFIG_CMD_USB_MASS_STORAGE=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_PMIC=y
@@ -150,7 +148,6 @@ CONFIG_BMP_32BPP=y
 CONFIG_WDT=y
 CONFIG_WDT_STM32MP=y
 CONFIG_ERRNO_STR=y
-# CONFIG_HEXDUMP is not set
 CONFIG_FDT_FIXUP_PARTITIONS=y
 # CONFIG_LMB_USE_MAX_REGIONS is not set
 CONFIG_LMB_MEMORY_REGIONS=2
diff --git a/configs/tbs2910_defconfig b/configs/tbs2910_defconfig
index a1f1884bd2f..57c04be75ee 100644
--- a/configs/tbs2910_defconfig
+++ b/configs/tbs2910_defconfig
@@ -108,4 +108,3 @@ CONFIG_VIDEO_IPUV3=y
 CONFIG_VIDEO_BMP_RLE8=y
 # CONFIG_GZIP is not set
 CONFIG_OF_LIBFDT_ASSUME_MASK=0xff
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/tools-only_defconfig b/configs/tools-only_defconfig
index c6f287e9cbf..bf57e81266b 100644
--- a/configs/tools-only_defconfig
+++ b/configs/tools-only_defconfig
@@ -30,4 +30,3 @@ CONFIG_SYSRESET=y
 # CONFIG_VIRTIO_MMIO is not set
 # CONFIG_VIRTIO_PCI is not set
 # CONFIG_VIRTIO_SANDBOX is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/vf610twr_defconfig b/configs/vf610twr_defconfig
index 24a7bdedf0a..1af5088430a 100644
--- a/configs/vf610twr_defconfig
+++ b/configs/vf610twr_defconfig
@@ -47,4 +47,3 @@ CONFIG_PHY_MICREL_KSZ8XXX=y
 CONFIG_MII=y
 CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/vf610twr_nand_defconfig b/configs/vf610twr_nand_defconfig
index 7cf8ae66042..a41384fa360 100644
--- a/configs/vf610twr_nand_defconfig
+++ b/configs/vf610twr_nand_defconfig
@@ -47,4 +47,3 @@ CONFIG_PHY_MICREL_KSZ8XXX=y
 CONFIG_MII=y
 CONFIG_DM_SERIAL=y
 CONFIG_FSL_LPUART=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xenguest_arm64_defconfig b/configs/xenguest_arm64_defconfig
index e1707614979..929c249fa69 100644
--- a/configs/xenguest_arm64_defconfig
+++ b/configs/xenguest_arm64_defconfig
@@ -36,4 +36,3 @@ CONFIG_DM=y
 # CONFIG_MMC is not set
 # CONFIG_REQUIRE_SERIAL_CONSOLE is not set
 CONFIG_DM_SERIAL=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_versal_mini_defconfig b/configs/xilinx_versal_mini_defconfig
index 7f75f9bb9ce..5731a1f2767 100644
--- a/configs/xilinx_versal_mini_defconfig
+++ b/configs/xilinx_versal_mini_defconfig
@@ -56,4 +56,3 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 # CONFIG_MMC is not set
 CONFIG_ARM_DCC=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_versal_mini_emmc0_defconfig b/configs/xilinx_versal_mini_emmc0_defconfig
index 7547b2699cb..fd1954b0821 100644
--- a/configs/xilinx_versal_mini_emmc0_defconfig
+++ b/configs/xilinx_versal_mini_emmc0_defconfig
@@ -56,4 +56,3 @@ CONFIG_MMC_SDHCI_ZYNQ=y
 CONFIG_ARM_DCC=y
 CONFIG_FAT_WRITE=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_versal_mini_emmc1_defconfig b/configs/xilinx_versal_mini_emmc1_defconfig
index 0854d50eb49..8bd94b0137d 100644
--- a/configs/xilinx_versal_mini_emmc1_defconfig
+++ b/configs/xilinx_versal_mini_emmc1_defconfig
@@ -56,4 +56,3 @@ CONFIG_MMC_SDHCI_ZYNQ=y
 CONFIG_ARM_DCC=y
 CONFIG_FAT_WRITE=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_versal_virt_defconfig b/configs/xilinx_versal_virt_defconfig
index 121c3ae7205..cbd7adc0d63 100644
--- a/configs/xilinx_versal_virt_defconfig
+++ b/configs/xilinx_versal_virt_defconfig
@@ -19,7 +19,6 @@ CONFIG_USE_PREBOOT=y
 CONFIG_BOARD_EARLY_INIT_R=y
 CONFIG_SYS_PROMPT="Versal> "
 CONFIG_CMD_BOOTMENU=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_ALT_MEMTEST=y
 CONFIG_CMD_CLK=y
@@ -34,7 +33,6 @@ CONFIG_CMD_SF_TEST=y
 CONFIG_CMD_USB=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_CACHE=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_TIMER=y
 CONFIG_CMD_EXT4_WRITE=y
diff --git a/configs/xilinx_zynqmp_mini_defconfig b/configs/xilinx_zynqmp_mini_defconfig
index b0fd8617583..427d019e455 100644
--- a/configs/xilinx_zynqmp_mini_defconfig
+++ b/configs/xilinx_zynqmp_mini_defconfig
@@ -56,4 +56,3 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_zynqmp_mini_emmc0_defconfig b/configs/xilinx_zynqmp_mini_emmc0_defconfig
index f9b2c0ade45..13d58b9bd25 100644
--- a/configs/xilinx_zynqmp_mini_emmc0_defconfig
+++ b/configs/xilinx_zynqmp_mini_emmc0_defconfig
@@ -61,4 +61,3 @@ CONFIG_MMC_SDHCI_ZYNQ=y
 CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_zynqmp_mini_emmc1_defconfig b/configs/xilinx_zynqmp_mini_emmc1_defconfig
index 996e65d58cf..879d6760fe5 100644
--- a/configs/xilinx_zynqmp_mini_emmc1_defconfig
+++ b/configs/xilinx_zynqmp_mini_emmc1_defconfig
@@ -61,4 +61,3 @@ CONFIG_MMC_SDHCI_ZYNQ=y
 CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_zynqmp_mini_nand_defconfig b/configs/xilinx_zynqmp_mini_nand_defconfig
index dbe5c42ffb1..1213d9c9578 100644
--- a/configs/xilinx_zynqmp_mini_nand_defconfig
+++ b/configs/xilinx_zynqmp_mini_nand_defconfig
@@ -56,4 +56,3 @@ CONFIG_SYS_NAND_MAX_CHIPS=2
 CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_zynqmp_mini_nand_single_defconfig b/configs/xilinx_zynqmp_mini_nand_single_defconfig
index e16b9f4127a..b3ff78b7399 100644
--- a/configs/xilinx_zynqmp_mini_nand_single_defconfig
+++ b/configs/xilinx_zynqmp_mini_nand_single_defconfig
@@ -55,4 +55,3 @@ CONFIG_NAND_ARASAN=y
 CONFIG_ARM_DCC=y
 CONFIG_PANIC_HANG=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_zynqmp_mini_qspi_defconfig b/configs/xilinx_zynqmp_mini_qspi_defconfig
index 5d653714982..664a333b0ba 100644
--- a/configs/xilinx_zynqmp_mini_qspi_defconfig
+++ b/configs/xilinx_zynqmp_mini_qspi_defconfig
@@ -65,4 +65,3 @@ CONFIG_SPI=y
 CONFIG_ZYNQMP_GQSPI=y
 CONFIG_PANIC_HANG=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_zynqmp_r5_defconfig b/configs/xilinx_zynqmp_r5_defconfig
index 143c253f0ef..95dcf29547c 100644
--- a/configs/xilinx_zynqmp_r5_defconfig
+++ b/configs/xilinx_zynqmp_r5_defconfig
@@ -19,4 +19,3 @@ CONFIG_SYS_RELOC_GD_ENV_ADDR=y
 CONFIG_ZYNQ_SERIAL=y
 CONFIG_TIMER=y
 CONFIG_CADENCE_TTC_TIMER=y
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig
index d7a6a3b4ac0..c4ec3c028a1 100644
--- a/configs/xilinx_zynqmp_virt_defconfig
+++ b/configs/xilinx_zynqmp_virt_defconfig
@@ -33,7 +33,6 @@ CONFIG_SPL_ATF=y
 CONFIG_SPL_ATF_NO_PLATFORM_PARAM=y
 CONFIG_CMD_BOOTMENU=y
 CONFIG_CMD_THOR_DOWNLOAD=y
-CONFIG_CMD_NVEDIT_EFI=y
 CONFIG_CMD_MEMTEST=y
 CONFIG_SYS_ALT_MEMTEST=y
 CONFIG_CMD_BIND=y
@@ -58,7 +57,6 @@ CONFIG_CMD_WDT=y
 CONFIG_CMD_TFTPPUT=y
 CONFIG_CMD_BMP=y
 CONFIG_CMD_CACHE=y
-CONFIG_CMD_EFIDEBUG=y
 CONFIG_CMD_TIME=y
 CONFIG_CMD_GETTIME=y
 CONFIG_CMD_TIMER=y
@@ -188,11 +186,4 @@ CONFIG_WDT_CDNS=y
 CONFIG_PANIC_HANG=y
 CONFIG_TPM=y
 CONFIG_SPL_GZIP=y
-# CONFIG_SPL_HEXDUMP is not set
 CONFIG_OF_LIBFDT_OVERLAY=y
-CONFIG_EFI_SET_TIME=y
-CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y
-CONFIG_EFI_CAPSULE_ON_DISK=y
-CONFIG_EFI_CAPSULE_FIRMWARE_FIT=y
-CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y
-CONFIG_EFI_SECURE_BOOT=y
diff --git a/configs/zynq_cse_nand_defconfig b/configs/zynq_cse_nand_defconfig
index 2386da77ed6..990eaf87ed1 100644
--- a/configs/zynq_cse_nand_defconfig
+++ b/configs/zynq_cse_nand_defconfig
@@ -59,4 +59,3 @@ CONFIG_MTD_RAW_NAND=y
 CONFIG_NAND_ZYNQ=y
 CONFIG_ARM_DCC=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/zynq_cse_nor_defconfig b/configs/zynq_cse_nor_defconfig
index d19170da8e4..8bf78672940 100644
--- a/configs/zynq_cse_nor_defconfig
+++ b/configs/zynq_cse_nor_defconfig
@@ -62,4 +62,3 @@ CONFIG_SYS_FLASH_USE_BUFFER_WRITE=y
 CONFIG_SYS_FLASH_CFI=y
 CONFIG_ARM_DCC=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
diff --git a/configs/zynq_cse_qspi_defconfig b/configs/zynq_cse_qspi_defconfig
index 3d0f742798f..db8f711ea89 100644
--- a/configs/zynq_cse_qspi_defconfig
+++ b/configs/zynq_cse_qspi_defconfig
@@ -72,4 +72,3 @@ CONFIG_SPI_FLASH_WINBOND=y
 CONFIG_ARM_DCC=y
 CONFIG_ZYNQ_QSPI=y
 # CONFIG_GZIP is not set
-# CONFIG_EFI_LOADER is not set
-- 
2.32.0.93.g670b81a890-goog


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

* Re: [PATCH v2 0/9] efi: Various tidy-ups and drop the default
  2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
                   ` (8 preceding siblings ...)
  2021-07-02 18:36 ` [PATCH v2 9/9] efi: Make EBBR optional Simon Glass
@ 2021-07-02 19:50 ` Mark Kettenis
  2021-07-02 20:04   ` Simon Glass
  9 siblings, 1 reply; 36+ messages in thread
From: Mark Kettenis @ 2021-07-02 19:50 UTC (permalink / raw)
  To: Simon Glass
  Cc: u-boot, ilias.apalodimas, pali, xypron.glpk, sjg, agraf, yamada.masahiro

> From: Simon Glass <sjg@chromium.org>
> Date: Fri,  2 Jul 2021 12:36:11 -0600
> 
> 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.
> 
> The final patch makes EBBR optional. 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.

I don't understand why you're pushing this series in a form that
still disables EFI_LOADER by default after last weeks discussions.


> Changes in v2:
> - Update commit message
> - Update commit message to be clearer
> - Drop 'struct blk_desc'
> - Move all header inclusions to the top
> - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> - Note the approximate size of this feature in the help
> - Split out new patch to create an option for EBBR
> 
> Simon Glass (9):
>   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
>   Make EFI_LOADER depend on DM and OF_CONTROL
>   Add an option for EBBR
>   efi: Make EBBR optional
> 
>  Makefile                                      |   2 +-
>  common/Kconfig.boot                           |  16 ++
>  configs/am335x_igep003x_defconfig             |   1 -
>  configs/am335x_pdu001_defconfig               |   1 -
>  configs/am64x_evm_a53_defconfig               |  31 ++-
>  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/cgtqmx8_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/evb-rk3568_defconfig                  |   2 +-
>  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/r8a779a0_falcon_defconfig             |   3 +-
>  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/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/sandbox64_defconfig                   |   9 -
>  configs/sandbox_defconfig                     |   9 -
>  configs/sandbox_flattree_defconfig            |   2 -
>  configs/sandbox_noinst_defconfig              |   2 -
>  configs/sandbox_spl_defconfig                 |   2 -
>  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/tools-only_defconfig                  |   1 -
>  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                          | 187 +++++++++---------
>  lib/Kconfig                                   |   8 +
>  lib/Makefile                                  |   2 +-
>  lib/efi_loader/Kconfig                        |   5 +-
>  198 files changed, 160 insertions(+), 378 deletions(-)
> 
> -- 
> 2.32.0.93.g670b81a890-goog
> 
> 

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

* Re: [PATCH v2 0/9] efi: Various tidy-ups and drop the default
  2021-07-02 19:50 ` [PATCH v2 0/9] efi: Various tidy-ups and drop the default Mark Kettenis
@ 2021-07-02 20:04   ` Simon Glass
  2021-07-02 20:19     ` Tom Rini
  0 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 20:04 UTC (permalink / raw)
  To: Mark Kettenis
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Heinrich Schuchardt, Alex Graf, Masahiro Yamada

Hi Mark,

On Fri, 2 Jul 2021 at 13:50, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
>
> > From: Simon Glass <sjg@chromium.org>
> > Date: Fri,  2 Jul 2021 12:36:11 -0600
> >
> > 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.
> >
> > The final patch makes EBBR optional. 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.
>
> I don't understand why you're pushing this series in a form that
> still disables EFI_LOADER by default after last weeks discussions.

I moved the change to non-default to the last patch. Even if that is
not a good idea, the rest of the series stands.

But more specifically to your question, I have not seen any discussion
about the size issues identified. Nor has there been any comment on my
suggestion in the cover letter for distros to define CONFIG_EBBR
themselves when building U-Boot. I still think turning it off by
default makes sense given the current situation.

Regards,
Simon

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

* Re: [PATCH v2 9/9] efi: Make EBBR optional
  2021-07-02 18:36 ` [PATCH v2 9/9] efi: Make EBBR optional Simon Glass
@ 2021-07-02 20:11   ` Tom Rini
  2021-07-02 20:38     ` Simon Glass
  0 siblings, 1 reply; 36+ messages in thread
From: Tom Rini @ 2021-07-02 20:11 UTC (permalink / raw)
  To: Simon Glass
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Heinrich Schuchardt, Alexander Graf

[-- Attachment #1: Type: text/plain, Size: 476 bytes --]

On Fri, Jul 02, 2021 at 12:36:20PM -0600, Simon Glass wrote:

> Avoid enabling the options (EBBR / EFI_LOADER) by default, to save space.
> 
> Resync the CONFIG options also.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

NAK.  It's very much intentional that we have EFI_LOADER, and then
looking ahead, any other options that would be required to be EBBR
compliant, be enabled by default on platforms that can support them,
rather than optional.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 0/9] efi: Various tidy-ups and drop the default
  2021-07-02 20:04   ` Simon Glass
@ 2021-07-02 20:19     ` Tom Rini
  2021-07-02 20:50       ` Simon Glass
  0 siblings, 1 reply; 36+ messages in thread
From: Tom Rini @ 2021-07-02 20:19 UTC (permalink / raw)
  To: Simon Glass
  Cc: Mark Kettenis, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Heinrich Schuchardt, Alex Graf, Masahiro Yamada

[-- Attachment #1: Type: text/plain, Size: 3513 bytes --]

On Fri, Jul 02, 2021 at 02:04:40PM -0600, Simon Glass wrote:
> Hi Mark,
> 
> On Fri, 2 Jul 2021 at 13:50, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> >
> > > From: Simon Glass <sjg@chromium.org>
> > > Date: Fri,  2 Jul 2021 12:36:11 -0600
> > >
> > > 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.
> > >
> > > The final patch makes EBBR optional. 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.
> >
> > I don't understand why you're pushing this series in a form that
> > still disables EFI_LOADER by default after last weeks discussions.
> 
> I moved the change to non-default to the last patch. Even if that is
> not a good idea, the rest of the series stands.
> 
> But more specifically to your question, I have not seen any discussion
> about the size issues identified. Nor has there been any comment on my
> suggestion in the cover letter for distros to define CONFIG_EBBR
> themselves when building U-Boot. I still think turning it off by
> default makes sense given the current situation.

It's not "distros", it's board vendors.  And then SoM vendors.  And
their customers.  Based on what I see, the default values get re-used
95% of the time, or more.  The things we want to Just Work need to be
enabled by default.  What distros want is for vendors to include
firmware in non-volatile storage, not to rebuild every board firmware
and have to ship that, and even less to have to tell users to
reconfigure things and then build.

It's also at this point counter-productive.  If you want to run an off
the shelf distro on aarch64, it's almost certainly going to use
EFI_LOADER.  What I wasn't sure about was armv7, but that was confirmed
to be used by default in Fedora and OpenBSD and encouraged (I'll assume
I just didn't find the right install media) for Debian.  I'd rather talk
with someone in Armbian about why they don't use EFI_LOADER than try and
convince Fedora to go and use extlinux.conf more (and that leaves out
entirely *BSD which is not what I want to do either!).

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 9/9] efi: Make EBBR optional
  2021-07-02 20:11   ` Tom Rini
@ 2021-07-02 20:38     ` Simon Glass
  2021-07-29  0:35       ` Heinrich Schuchardt
  0 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-02 20:38 UTC (permalink / raw)
  To: Tom Rini
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Heinrich Schuchardt, Alexander Graf

Hi Tom,

On Fri, 2 Jul 2021 at 14:11, Tom Rini <trini@konsulko.com> wrote:
>
> On Fri, Jul 02, 2021 at 12:36:20PM -0600, Simon Glass wrote:
>
> > Avoid enabling the options (EBBR / EFI_LOADER) by default, to save space.
> >
> > Resync the CONFIG options also.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
>
> NAK.  It's very much intentional that we have EFI_LOADER, and then
> looking ahead, any other options that would be required to be EBBR
> compliant, be enabled by default on platforms that can support them,
> rather than optional.

As you can tell, I'm not convinced that EBBR is a good idea, even
though I can see it is expedient. Anyway I do appreciate your clear
guidance and direction on this sort of thing and I'm sure many others
do also.

Regards,
Simon

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

* Re: [PATCH v2 0/9] efi: Various tidy-ups and drop the default
  2021-07-02 20:19     ` Tom Rini
@ 2021-07-02 20:50       ` Simon Glass
  0 siblings, 0 replies; 36+ messages in thread
From: Simon Glass @ 2021-07-02 20:50 UTC (permalink / raw)
  To: Tom Rini
  Cc: Mark Kettenis, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Heinrich Schuchardt, Alex Graf, Masahiro Yamada

Hi Tom,

On Fri, 2 Jul 2021 at 14:19, Tom Rini <trini@konsulko.com> wrote:
>
> On Fri, Jul 02, 2021 at 02:04:40PM -0600, Simon Glass wrote:
> > Hi Mark,
> >
> > On Fri, 2 Jul 2021 at 13:50, Mark Kettenis <mark.kettenis@xs4all.nl> wrote:
> > >
> > > > From: Simon Glass <sjg@chromium.org>
> > > > Date: Fri,  2 Jul 2021 12:36:11 -0600
> > > >
> > > > 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.
> > > >
> > > > The final patch makes EBBR optional. 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.
> > >
> > > I don't understand why you're pushing this series in a form that
> > > still disables EFI_LOADER by default after last weeks discussions.
> >
> > I moved the change to non-default to the last patch. Even if that is
> > not a good idea, the rest of the series stands.
> >
> > But more specifically to your question, I have not seen any discussion
> > about the size issues identified. Nor has there been any comment on my
> > suggestion in the cover letter for distros to define CONFIG_EBBR
> > themselves when building U-Boot. I still think turning it off by
> > default makes sense given the current situation.
>
> It's not "distros", it's board vendors.  And then SoM vendors.  And
> their customers.  Based on what I see, the default values get re-used
> 95% of the time, or more.  The things we want to Just Work need to be
> enabled by default.  What distros want is for vendors to include
> firmware in non-volatile storage, not to rebuild every board firmware
> and have to ship that, and even less to have to tell users to
> reconfigure things and then build.
>
> It's also at this point counter-productive.  If you want to run an off
> the shelf distro on aarch64, it's almost certainly going to use
> EFI_LOADER.  What I wasn't sure about was armv7, but that was confirmed
> to be used by default in Fedora and OpenBSD and encouraged (I'll assume
> I just didn't find the right install media) for Debian.  I'd rather talk
> with someone in Armbian about why they don't use EFI_LOADER than try and
> convince Fedora to go and use extlinux.conf more (and that leaves out
> entirely *BSD which is not what I want to do either!).

I don't know why Armbian is different and I am not going to advocate
for extlinux.conf either.

There's got to be a better way.

Regards,
Simon

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-02 18:36 ` [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL Simon Glass
@ 2021-07-26 22:07   ` Tom Rini
  2021-07-28 23:45     ` Heinrich Schuchardt
  0 siblings, 1 reply; 36+ messages in thread
From: Tom Rini @ 2021-07-26 22:07 UTC (permalink / raw)
  To: Simon Glass
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Heinrich Schuchardt

[-- Attachment #1: Type: text/plain, Size: 1536 bytes --]

On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:

> This feature should never have been made available when driver model
> or devicetree are disabled. Add these as conditions, so that we don't
> create even more barriers to migration.
> 
> Add a note about the substantial size increment associated with this
> option.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
> 
> Changes in v2:
> - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> - Note the approximate size of this feature in the help
> 
>  lib/efi_loader/Kconfig | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> index 6242caceb7f..466abfed300 100644
> --- a/lib/efi_loader/Kconfig
> +++ b/lib/efi_loader/Kconfig
> @@ -1,6 +1,6 @@
>  config EFI_LOADER
>  	bool "Support running UEFI applications"
> -	depends on OF_LIBFDT && ( \
> +	depends on OF_LIBFDT && DM && OF_CONTROL && ( \
>  		ARM && (SYS_CPU = arm1136 || \
>  			SYS_CPU = arm1176 || \
>  			SYS_CPU = armv7   || \
> @@ -25,6 +25,8 @@ config EFI_LOADER
>  	  will expose the UEFI API to a loaded application, enabling it to
>  	  reuse U-Boot's device drivers.
>  
> +	  For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> +
>  if EFI_LOADER
>  
>  config CMD_BOOTEFI_BOOTMGR

Note that we have platforms today with EFI_LOADER without OF_CONTROL, so
this isn't strictly the right requirements.  What do you think here
Heinrich?


-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 2/9] Makefile: Drop include/asm directory as well as symlink
  2021-07-02 18:36 ` [PATCH v2 2/9] Makefile: Drop include/asm directory as well as symlink Simon Glass
@ 2021-07-28 22:56   ` Tom Rini
  0 siblings, 0 replies; 36+ messages in thread
From: Tom Rini @ 2021-07-28 22:56 UTC (permalink / raw)
  To: Simon Glass
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Heinrich Schuchardt, Masahiro Yamada

[-- Attachment #1: Type: text/plain, Size: 447 bytes --]

On Fri, Jul 02, 2021 at 12:36:13PM -0600, Simon Glass wrote:

> At present when using 'make mrproper' on an out-of-tree build, a warning
> is shown about include/asm being a directory. With old versions of U-Boot
> it is a file, but more recently it has become a directory.
> 
> Remove this directory first, since that covers both cases.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 3/9] disk: Tidy up #ifdefs in part_efi
  2021-07-02 18:36 ` [PATCH v2 3/9] disk: Tidy up #ifdefs in part_efi Simon Glass
@ 2021-07-28 22:56   ` Tom Rini
  2021-07-28 23:21   ` Heinrich Schuchardt
  1 sibling, 0 replies; 36+ messages in thread
From: Tom Rini @ 2021-07-28 22:56 UTC (permalink / raw)
  To: Simon Glass
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Heinrich Schuchardt

[-- Attachment #1: Type: text/plain, Size: 559 bytes --]

On Fri, Jul 02, 2021 at 12:36:14PM -0600, Simon Glass wrote:

> This file does not correctly handle the various cases, sometimes
> producing warnings about partition_basic_data_guid being defined but not
> used. Fix it.
> 
> There was some discussion about adjusting Kconfig or making
> HAVE_BLOCK_DEVICE a prerequisite for PARTITIONS, but apparently this is
> not feasible. Such changes can be undertaken separate from the goal of
> this series.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 4/9] Use LIB_UUID with ACPIGEN and FS_BTRFS
  2021-07-02 18:36 ` [PATCH v2 4/9] Use LIB_UUID with ACPIGEN and FS_BTRFS Simon Glass
@ 2021-07-28 22:56   ` Tom Rini
  0 siblings, 0 replies; 36+ messages in thread
From: Tom Rini @ 2021-07-28 22:56 UTC (permalink / raw)
  To: Simon Glass
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Heinrich Schuchardt

[-- Attachment #1: Type: text/plain, Size: 340 bytes --]

On Fri, Jul 02, 2021 at 12:36:15PM -0600, Simon Glass wrote:

> Since the ACPI-generation code makes use of UUIDs we typically need to
> enabled UUID support for it to build. Add a new Kconfig condition.
> 
> Use it for BTRFS also.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 5/9] Allow efi_loader header to be included always
  2021-07-02 18:36 ` [PATCH v2 5/9] Allow efi_loader header to be included always Simon Glass
@ 2021-07-28 22:56   ` Tom Rini
  0 siblings, 0 replies; 36+ messages in thread
From: Tom Rini @ 2021-07-28 22:56 UTC (permalink / raw)
  To: Simon Glass
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Heinrich Schuchardt

[-- Attachment #1: Type: text/plain, Size: 778 bytes --]

On Fri, Jul 02, 2021 at 12:36:16PM -0600, Simon Glass wrote:

> It is bad practice to put function declarations behind an #ifdef since
> it makes it impossible to use IS_ENABLED() in the C code. The main reason
> for doing this is when an empty static inline function is desired when
> the feature is disabled.
> 
> To this end, this header provides two different versions of various
> functions and macros. Collect them together in one place for clarity.
> Allow all the rest of the header to be included, regardless of the
> setting of EFI_LOADER.
> 
> With the inclusion of blk.h the 'struct blk_desc' declaration is
> unnecessary. Drop it while we are here.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 6/9] lib: Create a new Kconfig option for charset conversion
  2021-07-02 18:36 ` [PATCH v2 6/9] lib: Create a new Kconfig option for charset conversion Simon Glass
@ 2021-07-28 22:57   ` Tom Rini
  0 siblings, 0 replies; 36+ messages in thread
From: Tom Rini @ 2021-07-28 22:57 UTC (permalink / raw)
  To: Simon Glass
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Heinrich Schuchardt

[-- Attachment #1: Type: text/plain, Size: 402 bytes --]

On Fri, Jul 02, 2021 at 12:36:17PM -0600, Simon Glass wrote:

> Rather than looking at two KConfig options in the Makefile, create a new
> Kconfig option for compiling lib/charset.c
> 
> Enable it for UFS also, which needs this support.
> 
> Signed-off-by: Simon Glass <sjg@chromium.org>
> Reviewed-by: Heinrich Schuchardt <xypron.glpk@gmx.de>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 3/9] disk: Tidy up #ifdefs in part_efi
  2021-07-02 18:36 ` [PATCH v2 3/9] disk: Tidy up #ifdefs in part_efi Simon Glass
  2021-07-28 22:56   ` Tom Rini
@ 2021-07-28 23:21   ` Heinrich Schuchardt
  1 sibling, 0 replies; 36+ messages in thread
From: Heinrich Schuchardt @ 2021-07-28 23:21 UTC (permalink / raw)
  To: Simon Glass, U-Boot Mailing List
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis



On 7/2/21 8:36 PM, Simon Glass wrote:
> This file does not correctly handle the various cases, sometimes
> producing warnings about partition_basic_data_guid being defined but not
> used. Fix it.
>
> There was some discussion about adjusting Kconfig or making
> HAVE_BLOCK_DEVICE a prerequisite for PARTITIONS, but apparently this is
> not feasible. Such changes can be undertaken separate from the goal of
> this series.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> Changes in v2:
> - Update commit message
>
>   disk/part_efi.c | 11 ++++++-----
>   1 file changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/disk/part_efi.c b/disk/part_efi.c
> index 0fb7ff0b6bb..fdca91a6974 100644
> --- a/disk/part_efi.c
> +++ b/disk/part_efi.c
> @@ -29,12 +29,13 @@
>
>   DECLARE_GLOBAL_DATA_PTR;
>
> -/*
> - * GUID for basic data partions.
> - */
> +#ifdef CONFIG_HAVE_BLOCK_DEVICE
> +
> +/* GUID for basic data partitons */
> +#if CONFIG_IS_ENABLED(EFI_PARTITION)

We are using -fdata-sections. Doesn't the linker eliminate unused statics?

Best regards

Heinrich

>   static const efi_guid_t partition_basic_data_guid = PARTITION_BASIC_DATA_GUID;
> +#endif
>
> -#ifdef CONFIG_HAVE_BLOCK_DEVICE
>   /**
>    * efi_crc32() - EFI version of crc32 function
>    * @buf: buffer to calculate crc32 of
> @@ -1126,4 +1127,4 @@ U_BOOT_PART_TYPE(a_efi) = {
>   	.print		= part_print_ptr(part_print_efi),
>   	.test		= part_test_efi,
>   };
> -#endif
> +#endif /* CONFIG_HAVE_BLOCK_DEVICE */
>

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-26 22:07   ` Tom Rini
@ 2021-07-28 23:45     ` Heinrich Schuchardt
  2021-07-28 23:55       ` Tom Rini
  0 siblings, 1 reply; 36+ messages in thread
From: Heinrich Schuchardt @ 2021-07-28 23:45 UTC (permalink / raw)
  To: Simon Glass
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Tom Rini



On 7/27/21 12:07 AM, Tom Rini wrote:
> On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
>
>> This feature should never have been made available when driver model
>> or devicetree are disabled. Add these as conditions, so that we don't
>> create even more barriers to migration.
>>
>> Add a note about the substantial size increment associated with this
>> option.
>>
>> Signed-off-by: Simon Glass <sjg@chromium.org>
>> ---
>>
>> Changes in v2:
>> - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
>> - Note the approximate size of this feature in the help
>>
>>   lib/efi_loader/Kconfig | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
>> index 6242caceb7f..466abfed300 100644
>> --- a/lib/efi_loader/Kconfig
>> +++ b/lib/efi_loader/Kconfig
>> @@ -1,6 +1,6 @@
>>   config EFI_LOADER
>>   	bool "Support running UEFI applications"
>> -	depends on OF_LIBFDT && ( \
>> +	depends on OF_LIBFDT && DM && OF_CONTROL && ( \

Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
of this symbol?

Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
Why are these separate symbols? Isn't this symbol to be eliminated, too?

lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
on CONFIG_DM) would make more sense to me. But only in a patch
eliminating the non-BLK code.

>>   		ARM && (SYS_CPU = arm1136 || \
>>   			SYS_CPU = arm1176 || \
>>   			SYS_CPU = armv7   || \
>> @@ -25,6 +25,8 @@ config EFI_LOADER
>>   	  will expose the UEFI API to a loaded application, enabling it to
>>   	  reuse U-Boot's device drivers.
>>
>> +	  For ARM 32-bit, this adds about 90KB to the size of U-Boot.
>> +

There is no unit ISO prefix K. Do you mean KiB?

90 KiB may be the value today. Will you update it regularly? Otherwise
don't put a number here.

I can't see that the effect on size is truly architecture specific. Why
do you refer to 32bit ARM?

Such a comment would better fit into a documentation chapter on
downsizing U-Boot.

Best regards

Heinrich

>>   if EFI_LOADER
>>
>>   config CMD_BOOTEFI_BOOTMGR
>
> Note that we have platforms today with EFI_LOADER without OF_CONTROL, so
> this isn't strictly the right requirements.  What do you think here
> Heinrich?
>
>

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-28 23:45     ` Heinrich Schuchardt
@ 2021-07-28 23:55       ` Tom Rini
  2021-07-29  1:44         ` Simon Glass
  0 siblings, 1 reply; 36+ messages in thread
From: Tom Rini @ 2021-07-28 23:55 UTC (permalink / raw)
  To: Heinrich Schuchardt
  Cc: Simon Glass, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

[-- Attachment #1: Type: text/plain, Size: 3027 bytes --]

On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> 
> 
> On 7/27/21 12:07 AM, Tom Rini wrote:
> > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > 
> > > This feature should never have been made available when driver model
> > > or devicetree are disabled. Add these as conditions, so that we don't
> > > create even more barriers to migration.
> > > 
> > > Add a note about the substantial size increment associated with this
> > > option.
> > > 
> > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > ---
> > > 
> > > Changes in v2:
> > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > - Note the approximate size of this feature in the help
> > > 
> > >   lib/efi_loader/Kconfig | 4 +++-
> > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > 
> > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > index 6242caceb7f..466abfed300 100644
> > > --- a/lib/efi_loader/Kconfig
> > > +++ b/lib/efi_loader/Kconfig
> > > @@ -1,6 +1,6 @@
> > >   config EFI_LOADER
> > >   	bool "Support running UEFI applications"
> > > -	depends on OF_LIBFDT && ( \
> > > +	depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> 
> Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> of this symbol?

No, but I did send out a message about that today as we're very close.
Much closer than I had expected us to be.

> Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?

Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.

> Why are these separate symbols? Isn't this symbol to be eliminated, too?

Simon?

> lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> on CONFIG_DM) would make more sense to me. But only in a patch
> eliminating the non-BLK code.

I just know that off-hand, partition + disk + block has some corner
case, but maybe that corner case is unintentional in terms of usage
today.

> > >   		ARM && (SYS_CPU = arm1136 || \
> > >   			SYS_CPU = arm1176 || \
> > >   			SYS_CPU = armv7   || \
> > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > >   	  will expose the UEFI API to a loaded application, enabling it to
> > >   	  reuse U-Boot's device drivers.
> > > 
> > > +	  For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > +
> 
> There is no unit ISO prefix K. Do you mean KiB?
> 
> 90 KiB may be the value today. Will you update it regularly? Otherwise
> don't put a number here.
> 
> I can't see that the effect on size is truly architecture specific. Why
> do you refer to 32bit ARM?
> 
> Such a comment would better fit into a documentation chapter on
> downsizing U-Boot.

Yes, we should probably drop that specific note.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 8/9] Add an option for EBBR
  2021-07-02 18:36 ` [PATCH v2 8/9] Add an option for EBBR Simon Glass
@ 2021-07-29  0:12   ` Heinrich Schuchardt
  2021-07-29  0:40     ` Tom Rini
  0 siblings, 1 reply; 36+ messages in thread
From: Heinrich Schuchardt @ 2021-07-29  0:12 UTC (permalink / raw)
  To: Simon Glass
  Cc: Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	U-Boot Mailing List, Tom Rini



On 7/2/21 8:36 PM, Simon Glass wrote:
> Add a new Kconfig option for EBBR so that the naming is more explicit.
> Make it select EFI_LOADER which is required for EBBR to work.
>
> Copy over the same 'default' setting so that there is no change in
> which boards enable it.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
> Changes in v2:
> - Split out new patch to create an option for EBBR
>
>   common/Kconfig.boot    | 16 ++++++++++++++++
>   lib/efi_loader/Kconfig |  1 -
>   2 files changed, 16 insertions(+), 1 deletion(-)
>
> diff --git a/common/Kconfig.boot b/common/Kconfig.boot
> index 89a3161f1fa..111032e1202 100644
> --- a/common/Kconfig.boot
> +++ b/common/Kconfig.boot
> @@ -300,6 +300,22 @@ config LEGACY_IMAGE_FORMAT
>   	  loaded. If a board needs the legacy image format support in this
>   	  case, enable it here.
>
> +config EBBR
> +	bool "Enable support for Embeeded Boot Base Requirements (EBBR)"
> +	select EFI_LOADER
> +	default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8

This won't work. You cannot have UEFI neither on big-endian systems nor
on any other architecture not mentioned in the UEFI specification.

Why do you want to exclude arm1136 and arm1176?

> +	help
> +	  Enable this to support ARM's EBBR boot method. This bases everything
> +	  on UEFI protocols.´

EBBR is explitely not ARM specific. EBBR is not a boot method but a
subset of the UEFI specification.

> +
> +	  This Embedded Base Boot Requirements (EBBR) specification defines an
> +	  interface between platform firmware and an operating system that is
> +	  suitable for embedded platforms. EBBR-compliant platforms present a
> +	  consistent interface that will boot an EBBR-compliant operating
> +	  system without any custom tailoring required. For example, an Arm
> +	  A-class embedded platform will benefit from a standard interface that
> +	  supports features such as secure boot and firmware update.

Which user will ever have heard of the EBBR specification? Referencing
it in Kconfig will lead to confusion.

This new symbol is redundant. If you think that a better name for
EFI_LOADER is needed, please suggest one.

Best regards

Heinrich

> +
>   config SUPPORT_RAW_INITRD
>   	bool "Enable raw initrd images"
>   	help
> diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> index 466abfed300..bc5fb3f5e03 100644
> --- a/lib/efi_loader/Kconfig
> +++ b/lib/efi_loader/Kconfig
> @@ -10,7 +10,6 @@ config EFI_LOADER
>   	depends on !EFI_STUB || !X86_64 || EFI_STUB_64BIT
>   	# We need EFI_STUB_32BIT to be set on x86_32 with EFI_STUB
>   	depends on !EFI_STUB || !X86 || X86_64 || EFI_STUB_32BIT
> -	default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
>   	select LIB_UUID
>   	select HAVE_BLOCK_DEVICE
>   	select REGEX
>

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

* Re: [PATCH v2 9/9] efi: Make EBBR optional
  2021-07-02 20:38     ` Simon Glass
@ 2021-07-29  0:35       ` Heinrich Schuchardt
  0 siblings, 0 replies; 36+ messages in thread
From: Heinrich Schuchardt @ 2021-07-29  0:35 UTC (permalink / raw)
  To: Simon Glass, Tom Rini
  Cc: U-Boot Mailing List, Ilias Apalodimas, Pali Rohár,
	Mark Kettenis, Alexander Graf



On 7/2/21 10:38 PM, Simon Glass wrote:
> Hi Tom,
>
> On Fri, 2 Jul 2021 at 14:11, Tom Rini <trini@konsulko.com> wrote:
>>
>> On Fri, Jul 02, 2021 at 12:36:20PM -0600, Simon Glass wrote:
>>
>>> Avoid enabling the options (EBBR / EFI_LOADER) by default, to save space.
>>>
>>> Resync the CONFIG options also.
>>>
>>> Signed-off-by: Simon Glass <sjg@chromium.org>
>>
>> NAK.  It's very much intentional that we have EFI_LOADER, and then
>> looking ahead, any other options that would be required to be EBBR
>> compliant, be enabled by default on platforms that can support them,
>> rather than optional.
>
> As you can tell, I'm not convinced that EBBR is a good idea, even
> though I can see it is expedient. Anyway I do appreciate your clear
> guidance and direction on this sort of thing and I'm sure many others > do also.

Having a bunch of non-standardized methods to start an operating system
is not really compelling. Currently UEFI is the only widespread,
operating system independent boot standard.

Best regards

Heinrich

>
> Regards,
> Simon
>

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

* Re: [PATCH v2 8/9] Add an option for EBBR
  2021-07-29  0:12   ` Heinrich Schuchardt
@ 2021-07-29  0:40     ` Tom Rini
  0 siblings, 0 replies; 36+ messages in thread
From: Tom Rini @ 2021-07-29  0:40 UTC (permalink / raw)
  To: Heinrich Schuchardt
  Cc: Simon Glass, Ilias Apalodimas, Pali Rohár, Mark Kettenis,
	U-Boot Mailing List

[-- Attachment #1: Type: text/plain, Size: 2800 bytes --]

On Thu, Jul 29, 2021 at 02:12:19AM +0200, Heinrich Schuchardt wrote:
> 
> 
> On 7/2/21 8:36 PM, Simon Glass wrote:
> > Add a new Kconfig option for EBBR so that the naming is more explicit.
> > Make it select EFI_LOADER which is required for EBBR to work.
> > 
> > Copy over the same 'default' setting so that there is no change in
> > which boards enable it.
> > 
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > ---
> > 
> > Changes in v2:
> > - Split out new patch to create an option for EBBR
> > 
> >   common/Kconfig.boot    | 16 ++++++++++++++++
> >   lib/efi_loader/Kconfig |  1 -
> >   2 files changed, 16 insertions(+), 1 deletion(-)
> > 
> > diff --git a/common/Kconfig.boot b/common/Kconfig.boot
> > index 89a3161f1fa..111032e1202 100644
> > --- a/common/Kconfig.boot
> > +++ b/common/Kconfig.boot
> > @@ -300,6 +300,22 @@ config LEGACY_IMAGE_FORMAT
> >   	  loaded. If a board needs the legacy image format support in this
> >   	  case, enable it here.
> > 
> > +config EBBR
> > +	bool "Enable support for Embeeded Boot Base Requirements (EBBR)"
> > +	select EFI_LOADER
> > +	default y if !ARM || SYS_CPU = armv7 || SYS_CPU = armv8
> 
> This won't work. You cannot have UEFI neither on big-endian systems nor
> on any other architecture not mentioned in the UEFI specification.
> 
> Why do you want to exclude arm1136 and arm1176?

This is just moving the default y logic from EFI_LOADER over here.

> > +	help
> > +	  Enable this to support ARM's EBBR boot method. This bases everything
> > +	  on UEFI protocols.´
> 
> EBBR is explitely not ARM specific. EBBR is not a boot method but a
> subset of the UEFI specification.
> 
> > +
> > +	  This Embedded Base Boot Requirements (EBBR) specification defines an
> > +	  interface between platform firmware and an operating system that is
> > +	  suitable for embedded platforms. EBBR-compliant platforms present a
> > +	  consistent interface that will boot an EBBR-compliant operating
> > +	  system without any custom tailoring required. For example, an Arm
> > +	  A-class embedded platform will benefit from a standard interface that
> > +	  supports features such as secure boot and firmware update.
> 
> Which user will ever have heard of the EBBR specification? Referencing
> it in Kconfig will lead to confusion.
> 
> This new symbol is redundant. If you think that a better name for
> EFI_LOADER is needed, please suggest one.

At this point in time, yes, there's no need for a separate EBBR symbol
as everything we need to be compliant comes down to "enable EFI_LOADER".
It is possible that in the future we may need / want a specific symbol
to ensure we have all of the required EBBR functionality as some of it
may end up being non-default.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-28 23:55       ` Tom Rini
@ 2021-07-29  1:44         ` Simon Glass
  2021-07-29 13:52           ` Tom Rini
  0 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-29  1:44 UTC (permalink / raw)
  To: Tom Rini
  Cc: Heinrich Schuchardt, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

Hi,

On Wed, 28 Jul 2021 at 17:55, Tom Rini <trini@konsulko.com> wrote:
>
> On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> >
> >
> > On 7/27/21 12:07 AM, Tom Rini wrote:
> > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > >
> > > > This feature should never have been made available when driver model
> > > > or devicetree are disabled. Add these as conditions, so that we don't
> > > > create even more barriers to migration.
> > > >
> > > > Add a note about the substantial size increment associated with this
> > > > option.
> > > >
> > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > ---
> > > >
> > > > Changes in v2:
> > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > > - Note the approximate size of this feature in the help
> > > >
> > > >   lib/efi_loader/Kconfig | 4 +++-
> > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > > index 6242caceb7f..466abfed300 100644
> > > > --- a/lib/efi_loader/Kconfig
> > > > +++ b/lib/efi_loader/Kconfig
> > > > @@ -1,6 +1,6 @@
> > > >   config EFI_LOADER
> > > >           bool "Support running UEFI applications"
> > > > - depends on OF_LIBFDT && ( \
> > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> >
> > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> > of this symbol?
>
> No, but I did send out a message about that today as we're very close.
> Much closer than I had expected us to be.

Note we will still have SPL_DM, I think.

>
> > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
>
> Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
> https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
> so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.
>
> > Why are these separate symbols? Isn't this symbol to be eliminated, too?
>
> Simon?

If we do eliminate DM it will be in a separate series. Like Tom I am
pleasantly surprised at how close we are.

But please let's consider patches on their merits. It is fine to reply
with a wishlist but even better to reply with a follow-up patch.

Somewhat related, I think we need to create a separate symbol which
means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing.

Also I think we should push of-platdata, since otherwise we're going
to hit the same problem of migrating SPL boards to DM one day.

>
> > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> > on CONFIG_DM) would make more sense to me. But only in a patch
> > eliminating the non-BLK code.
>
> I just know that off-hand, partition + disk + block has some corner
> case, but maybe that corner case is unintentional in terms of usage
> today.
>
> > > >                   ARM && (SYS_CPU = arm1136 || \
> > > >                           SYS_CPU = arm1176 || \
> > > >                           SYS_CPU = armv7   || \
> > > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > > >             will expose the UEFI API to a loaded application, enabling it to
> > > >             reuse U-Boot's device drivers.
> > > >
> > > > +   For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > > +
> >
> > There is no unit ISO prefix K. Do you mean KiB?
> >
> > 90 KiB may be the value today. Will you update it regularly? Otherwise
> > don't put a number here.
> >
> > I can't see that the effect on size is truly architecture specific. Why
> > do you refer to 32bit ARM?
> >
> > Such a comment would better fit into a documentation chapter on
> > downsizing U-Boot.
>
> Yes, we should probably drop that specific note.

From my POV I really like these notes in Kconfig. They appear in a few
places and provide people with rough guidance. I'd like to see more of
them. I don't know how we can keep them up-to-date, although I'd argue
that they should stay constant, if we are holding to our no-bloat
ideal.

Perhaps the problem here is that EFI_LOADER is quite monolithic and
still under development, so the size is TBD. On that basic I'm fine to
drop it.

Regards,
Simon

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-29  1:44         ` Simon Glass
@ 2021-07-29 13:52           ` Tom Rini
  2021-07-30 19:02             ` Simon Glass
  0 siblings, 1 reply; 36+ messages in thread
From: Tom Rini @ 2021-07-29 13:52 UTC (permalink / raw)
  To: Simon Glass
  Cc: Heinrich Schuchardt, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

[-- Attachment #1: Type: text/plain, Size: 4866 bytes --]

On Wed, Jul 28, 2021 at 07:44:37PM -0600, Simon Glass wrote:
> Hi,
> 
> On Wed, 28 Jul 2021 at 17:55, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> > >
> > >
> > > On 7/27/21 12:07 AM, Tom Rini wrote:
> > > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > > >
> > > > > This feature should never have been made available when driver model
> > > > > or devicetree are disabled. Add these as conditions, so that we don't
> > > > > create even more barriers to migration.
> > > > >
> > > > > Add a note about the substantial size increment associated with this
> > > > > option.
> > > > >
> > > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > > ---
> > > > >
> > > > > Changes in v2:
> > > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > > > - Note the approximate size of this feature in the help
> > > > >
> > > > >   lib/efi_loader/Kconfig | 4 +++-
> > > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > > >
> > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > > > index 6242caceb7f..466abfed300 100644
> > > > > --- a/lib/efi_loader/Kconfig
> > > > > +++ b/lib/efi_loader/Kconfig
> > > > > @@ -1,6 +1,6 @@
> > > > >   config EFI_LOADER
> > > > >           bool "Support running UEFI applications"
> > > > > - depends on OF_LIBFDT && ( \
> > > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> > >
> > > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> > > of this symbol?
> >
> > No, but I did send out a message about that today as we're very close.
> > Much closer than I had expected us to be.
> 
> Note we will still have SPL_DM, I think.

Right.

> > > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
> >
> > Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
> > https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
> > so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.
> >
> > > Why are these separate symbols? Isn't this symbol to be eliminated, too?
> >
> > Simon?
> 
> If we do eliminate DM it will be in a separate series. Like Tom I am
> pleasantly surprised at how close we are.
> 
> But please let's consider patches on their merits. It is fine to reply
> with a wishlist but even better to reply with a follow-up patch.

OK.  So, build-wise, EFI_LOADER does not require OF_CONTROL.

> Somewhat related, I think we need to create a separate symbol which
> means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing.
> 
> Also I think we should push of-platdata, since otherwise we're going
> to hit the same problem of migrating SPL boards to DM one day.

Note that we don't have CONFIG_OF_PLATDATA just
CONFIG_(SPL|TPL)_OF_PLATDATA.

> > > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> > > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> > > on CONFIG_DM) would make more sense to me. But only in a patch
> > > eliminating the non-BLK code.
> >
> > I just know that off-hand, partition + disk + block has some corner
> > case, but maybe that corner case is unintentional in terms of usage
> > today.
> >
> > > > >                   ARM && (SYS_CPU = arm1136 || \
> > > > >                           SYS_CPU = arm1176 || \
> > > > >                           SYS_CPU = armv7   || \
> > > > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > > > >             will expose the UEFI API to a loaded application, enabling it to
> > > > >             reuse U-Boot's device drivers.
> > > > >
> > > > > +   For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > > > +
> > >
> > > There is no unit ISO prefix K. Do you mean KiB?
> > >
> > > 90 KiB may be the value today. Will you update it regularly? Otherwise
> > > don't put a number here.
> > >
> > > I can't see that the effect on size is truly architecture specific. Why
> > > do you refer to 32bit ARM?
> > >
> > > Such a comment would better fit into a documentation chapter on
> > > downsizing U-Boot.
> >
> > Yes, we should probably drop that specific note.
> 
> From my POV I really like these notes in Kconfig. They appear in a few
> places and provide people with rough guidance. I'd like to see more of
> them. I don't know how we can keep them up-to-date, although I'd argue
> that they should stay constant, if we are holding to our no-bloat
> ideal.

I feel like EFI gets a bit of an undeserved reputation here.  It's not
growing any worse than the rest of the world is over fixes and error
correction (which is to say, 16/32/40 bytes here and there).  And
there's not "big" new default features coming in.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-29 13:52           ` Tom Rini
@ 2021-07-30 19:02             ` Simon Glass
  2021-07-30 21:33               ` Tom Rini
  0 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-30 19:02 UTC (permalink / raw)
  To: Tom Rini
  Cc: Heinrich Schuchardt, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

Hi Tom,

On Thu, 29 Jul 2021 at 07:52, Tom Rini <trini@konsulko.com> wrote:
>
> On Wed, Jul 28, 2021 at 07:44:37PM -0600, Simon Glass wrote:
> > Hi,
> >
> > On Wed, 28 Jul 2021 at 17:55, Tom Rini <trini@konsulko.com> wrote:
> > >
> > > On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> > > >
> > > >
> > > > On 7/27/21 12:07 AM, Tom Rini wrote:
> > > > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > > > >
> > > > > > This feature should never have been made available when driver model
> > > > > > or devicetree are disabled. Add these as conditions, so that we don't
> > > > > > create even more barriers to migration.
> > > > > >
> > > > > > Add a note about the substantial size increment associated with this
> > > > > > option.
> > > > > >
> > > > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > > > ---
> > > > > >
> > > > > > Changes in v2:
> > > > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > > > > - Note the approximate size of this feature in the help
> > > > > >
> > > > > >   lib/efi_loader/Kconfig | 4 +++-
> > > > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > >
> > > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > > > > index 6242caceb7f..466abfed300 100644
> > > > > > --- a/lib/efi_loader/Kconfig
> > > > > > +++ b/lib/efi_loader/Kconfig
> > > > > > @@ -1,6 +1,6 @@
> > > > > >   config EFI_LOADER
> > > > > >           bool "Support running UEFI applications"
> > > > > > - depends on OF_LIBFDT && ( \
> > > > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> > > >
> > > > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> > > > of this symbol?
> > >
> > > No, but I did send out a message about that today as we're very close.
> > > Much closer than I had expected us to be.
> >
> > Note we will still have SPL_DM, I think.
>
> Right.
>
> > > > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
> > >
> > > Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
> > > https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
> > > so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.
> > >
> > > > Why are these separate symbols? Isn't this symbol to be eliminated, too?
> > >
> > > Simon?
> >
> > If we do eliminate DM it will be in a separate series. Like Tom I am
> > pleasantly surprised at how close we are.
> >
> > But please let's consider patches on their merits. It is fine to reply
> > with a wishlist but even better to reply with a follow-up patch.
>
> OK.  So, build-wise, EFI_LOADER does not require OF_CONTROL.

I strongly believe it should (and it should have 5 years ago too). New
features should not be built on pre-migration stuff.

>
> > Somewhat related, I think we need to create a separate symbol which
> > means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing.
> >
> > Also I think we should push of-platdata, since otherwise we're going
> > to hit the same problem of migrating SPL boards to DM one day.
>
> Note that we don't have CONFIG_OF_PLATDATA just
> CONFIG_(SPL|TPL)_OF_PLATDATA.

Indeed. But we haven't defined it because we don't want to permit it.
It is just for constrained environments and we assume that U-Boot
proper has enough space (how else could it load Linux?)

>
> > > > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> > > > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> > > > on CONFIG_DM) would make more sense to me. But only in a patch
> > > > eliminating the non-BLK code.
> > >
> > > I just know that off-hand, partition + disk + block has some corner
> > > case, but maybe that corner case is unintentional in terms of usage
> > > today.
> > >
> > > > > >                   ARM && (SYS_CPU = arm1136 || \
> > > > > >                           SYS_CPU = arm1176 || \
> > > > > >                           SYS_CPU = armv7   || \
> > > > > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > > > > >             will expose the UEFI API to a loaded application, enabling it to
> > > > > >             reuse U-Boot's device drivers.
> > > > > >
> > > > > > +   For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > > > > +
> > > >
> > > > There is no unit ISO prefix K. Do you mean KiB?
> > > >
> > > > 90 KiB may be the value today. Will you update it regularly? Otherwise
> > > > don't put a number here.
> > > >
> > > > I can't see that the effect on size is truly architecture specific. Why
> > > > do you refer to 32bit ARM?
> > > >
> > > > Such a comment would better fit into a documentation chapter on
> > > > downsizing U-Boot.
> > >
> > > Yes, we should probably drop that specific note.
> >
> > From my POV I really like these notes in Kconfig. They appear in a few
> > places and provide people with rough guidance. I'd like to see more of
> > them. I don't know how we can keep them up-to-date, although I'd argue
> > that they should stay constant, if we are holding to our no-bloat
> > ideal.
>
> I feel like EFI gets a bit of an undeserved reputation here.  It's not
> growing any worse than the rest of the world is over fixes and error
> correction (which is to say, 16/32/40 bytes here and there).  And
> there's not "big" new default features coming in.

We can agree on the 'reputation' bit but I can't think of a more
deserving feature :-)

I keep getting the capsule-update series in my inbox, for example and
I know there is TPM stuff in the works.

Regards,
Simon

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-30 19:02             ` Simon Glass
@ 2021-07-30 21:33               ` Tom Rini
  2021-07-30 21:48                 ` Simon Glass
  0 siblings, 1 reply; 36+ messages in thread
From: Tom Rini @ 2021-07-30 21:33 UTC (permalink / raw)
  To: Simon Glass
  Cc: Heinrich Schuchardt, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

[-- Attachment #1: Type: text/plain, Size: 6682 bytes --]

On Fri, Jul 30, 2021 at 01:02:18PM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Thu, 29 Jul 2021 at 07:52, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Wed, Jul 28, 2021 at 07:44:37PM -0600, Simon Glass wrote:
> > > Hi,
> > >
> > > On Wed, 28 Jul 2021 at 17:55, Tom Rini <trini@konsulko.com> wrote:
> > > >
> > > > On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> > > > >
> > > > >
> > > > > On 7/27/21 12:07 AM, Tom Rini wrote:
> > > > > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > > > > >
> > > > > > > This feature should never have been made available when driver model
> > > > > > > or devicetree are disabled. Add these as conditions, so that we don't
> > > > > > > create even more barriers to migration.
> > > > > > >
> > > > > > > Add a note about the substantial size increment associated with this
> > > > > > > option.
> > > > > > >
> > > > > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > > > > ---
> > > > > > >
> > > > > > > Changes in v2:
> > > > > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > > > > > - Note the approximate size of this feature in the help
> > > > > > >
> > > > > > >   lib/efi_loader/Kconfig | 4 +++-
> > > > > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > > >
> > > > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > > > > > index 6242caceb7f..466abfed300 100644
> > > > > > > --- a/lib/efi_loader/Kconfig
> > > > > > > +++ b/lib/efi_loader/Kconfig
> > > > > > > @@ -1,6 +1,6 @@
> > > > > > >   config EFI_LOADER
> > > > > > >           bool "Support running UEFI applications"
> > > > > > > - depends on OF_LIBFDT && ( \
> > > > > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> > > > >
> > > > > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> > > > > of this symbol?
> > > >
> > > > No, but I did send out a message about that today as we're very close.
> > > > Much closer than I had expected us to be.
> > >
> > > Note we will still have SPL_DM, I think.
> >
> > Right.
> >
> > > > > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
> > > >
> > > > Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
> > > > https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
> > > > so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.
> > > >
> > > > > Why are these separate symbols? Isn't this symbol to be eliminated, too?
> > > >
> > > > Simon?
> > >
> > > If we do eliminate DM it will be in a separate series. Like Tom I am
> > > pleasantly surprised at how close we are.
> > >
> > > But please let's consider patches on their merits. It is fine to reply
> > > with a wishlist but even better to reply with a follow-up patch.
> >
> > OK.  So, build-wise, EFI_LOADER does not require OF_CONTROL.
> 
> I strongly believe it should (and it should have 5 years ago too). New
> features should not be built on pre-migration stuff.

Well, what legacy interfaces is it using?  That's something to figure
out and address as needed. 

> > > Somewhat related, I think we need to create a separate symbol which
> > > means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing.
> > >
> > > Also I think we should push of-platdata, since otherwise we're going
> > > to hit the same problem of migrating SPL boards to DM one day.
> >
> > Note that we don't have CONFIG_OF_PLATDATA just
> > CONFIG_(SPL|TPL)_OF_PLATDATA.
> 
> Indeed. But we haven't defined it because we don't want to permit it.
> It is just for constrained environments and we assume that U-Boot
> proper has enough space (how else could it load Linux?)

If OF_PLATDATA for U-Boot itself makes sense or not is a separate
discussion to have.

> > > > > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> > > > > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> > > > > on CONFIG_DM) would make more sense to me. But only in a patch
> > > > > eliminating the non-BLK code.
> > > >
> > > > I just know that off-hand, partition + disk + block has some corner
> > > > case, but maybe that corner case is unintentional in terms of usage
> > > > today.
> > > >
> > > > > > >                   ARM && (SYS_CPU = arm1136 || \
> > > > > > >                           SYS_CPU = arm1176 || \
> > > > > > >                           SYS_CPU = armv7   || \
> > > > > > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > > > > > >             will expose the UEFI API to a loaded application, enabling it to
> > > > > > >             reuse U-Boot's device drivers.
> > > > > > >
> > > > > > > +   For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > > > > > +
> > > > >
> > > > > There is no unit ISO prefix K. Do you mean KiB?
> > > > >
> > > > > 90 KiB may be the value today. Will you update it regularly? Otherwise
> > > > > don't put a number here.
> > > > >
> > > > > I can't see that the effect on size is truly architecture specific. Why
> > > > > do you refer to 32bit ARM?
> > > > >
> > > > > Such a comment would better fit into a documentation chapter on
> > > > > downsizing U-Boot.
> > > >
> > > > Yes, we should probably drop that specific note.
> > >
> > > From my POV I really like these notes in Kconfig. They appear in a few
> > > places and provide people with rough guidance. I'd like to see more of
> > > them. I don't know how we can keep them up-to-date, although I'd argue
> > > that they should stay constant, if we are holding to our no-bloat
> > > ideal.
> >
> > I feel like EFI gets a bit of an undeserved reputation here.  It's not
> > growing any worse than the rest of the world is over fixes and error
> > correction (which is to say, 16/32/40 bytes here and there).  And
> > there's not "big" new default features coming in.
> 
> We can agree on the 'reputation' bit but I can't think of a more
> deserving feature :-)
> 
> I keep getting the capsule-update series in my inbox, for example and
> I know there is TPM stuff in the works.

Yes, but TPM and capsule-update won't be default enabled for all
platforms.  I run every PR I get (and branch I make and merge) through a
before/after world build and use buildman's sizes tools to check (aside,
I'd love some csv output format for that, but I haven't gotten around to
thinking on how to do that) and that's where I'm coming from on this.  I
am keeping an eye out for default new features everywhere, and default
new functionality everywhere.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-30 21:33               ` Tom Rini
@ 2021-07-30 21:48                 ` Simon Glass
  2021-07-30 22:08                   ` Tom Rini
  0 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2021-07-30 21:48 UTC (permalink / raw)
  To: Tom Rini
  Cc: Heinrich Schuchardt, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

Hi Tom,

On Fri, 30 Jul 2021 at 15:33, Tom Rini <trini@konsulko.com> wrote:
>
> On Fri, Jul 30, 2021 at 01:02:18PM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Thu, 29 Jul 2021 at 07:52, Tom Rini <trini@konsulko.com> wrote:
> > >
> > > On Wed, Jul 28, 2021 at 07:44:37PM -0600, Simon Glass wrote:
> > > > Hi,
> > > >
> > > > On Wed, 28 Jul 2021 at 17:55, Tom Rini <trini@konsulko.com> wrote:
> > > > >
> > > > > On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> > > > > >
> > > > > >
> > > > > > On 7/27/21 12:07 AM, Tom Rini wrote:
> > > > > > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > > > > > >
> > > > > > > > This feature should never have been made available when driver model
> > > > > > > > or devicetree are disabled. Add these as conditions, so that we don't
> > > > > > > > create even more barriers to migration.
> > > > > > > >
> > > > > > > > Add a note about the substantial size increment associated with this
> > > > > > > > option.
> > > > > > > >
> > > > > > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > > > > > ---
> > > > > > > >
> > > > > > > > Changes in v2:
> > > > > > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > > > > > > - Note the approximate size of this feature in the help
> > > > > > > >
> > > > > > > >   lib/efi_loader/Kconfig | 4 +++-
> > > > > > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > > > >
> > > > > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > > > > > > index 6242caceb7f..466abfed300 100644
> > > > > > > > --- a/lib/efi_loader/Kconfig
> > > > > > > > +++ b/lib/efi_loader/Kconfig
> > > > > > > > @@ -1,6 +1,6 @@
> > > > > > > >   config EFI_LOADER
> > > > > > > >           bool "Support running UEFI applications"
> > > > > > > > - depends on OF_LIBFDT && ( \
> > > > > > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> > > > > >
> > > > > > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> > > > > > of this symbol?
> > > > >
> > > > > No, but I did send out a message about that today as we're very close.
> > > > > Much closer than I had expected us to be.
> > > >
> > > > Note we will still have SPL_DM, I think.
> > >
> > > Right.
> > >
> > > > > > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
> > > > >
> > > > > Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
> > > > > https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
> > > > > so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.
> > > > >
> > > > > > Why are these separate symbols? Isn't this symbol to be eliminated, too?
> > > > >
> > > > > Simon?
> > > >
> > > > If we do eliminate DM it will be in a separate series. Like Tom I am
> > > > pleasantly surprised at how close we are.
> > > >
> > > > But please let's consider patches on their merits. It is fine to reply
> > > > with a wishlist but even better to reply with a follow-up patch.
> > >
> > > OK.  So, build-wise, EFI_LOADER does not require OF_CONTROL.
> >
> > I strongly believe it should (and it should have 5 years ago too). New
> > features should not be built on pre-migration stuff.
>
> Well, what legacy interfaces is it using?  That's something to figure
> out and address as needed.

It was built on non-DM and I believe it still has code for non-DM
(e.g. look for DM_MMC). Without DM, OF_CONTROL has no purpose IMO.

Perhaps Heinrich has cleaned a lot of that old cruft out now?

>
> > > > Somewhat related, I think we need to create a separate symbol which
> > > > means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing.
> > > >
> > > > Also I think we should push of-platdata, since otherwise we're going
> > > > to hit the same problem of migrating SPL boards to DM one day.
> > >
> > > Note that we don't have CONFIG_OF_PLATDATA just
> > > CONFIG_(SPL|TPL)_OF_PLATDATA.
> >
> > Indeed. But we haven't defined it because we don't want to permit it.
> > It is just for constrained environments and we assume that U-Boot
> > proper has enough space (how else could it load Linux?)
>
> If OF_PLATDATA for U-Boot itself makes sense or not is a separate
> discussion to have.

OK, I'd love to hear the reasoning on that one day.

>
> > > > > > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> > > > > > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> > > > > > on CONFIG_DM) would make more sense to me. But only in a patch
> > > > > > eliminating the non-BLK code.
> > > > >
> > > > > I just know that off-hand, partition + disk + block has some corner
> > > > > case, but maybe that corner case is unintentional in terms of usage
> > > > > today.
> > > > >
> > > > > > > >                   ARM && (SYS_CPU = arm1136 || \
> > > > > > > >                           SYS_CPU = arm1176 || \
> > > > > > > >                           SYS_CPU = armv7   || \
> > > > > > > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > > > > > > >             will expose the UEFI API to a loaded application, enabling it to
> > > > > > > >             reuse U-Boot's device drivers.
> > > > > > > >
> > > > > > > > +   For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > > > > > > +
> > > > > >
> > > > > > There is no unit ISO prefix K. Do you mean KiB?
> > > > > >
> > > > > > 90 KiB may be the value today. Will you update it regularly? Otherwise
> > > > > > don't put a number here.
> > > > > >
> > > > > > I can't see that the effect on size is truly architecture specific. Why
> > > > > > do you refer to 32bit ARM?
> > > > > >
> > > > > > Such a comment would better fit into a documentation chapter on
> > > > > > downsizing U-Boot.
> > > > >
> > > > > Yes, we should probably drop that specific note.
> > > >
> > > > From my POV I really like these notes in Kconfig. They appear in a few
> > > > places and provide people with rough guidance. I'd like to see more of
> > > > them. I don't know how we can keep them up-to-date, although I'd argue
> > > > that they should stay constant, if we are holding to our no-bloat
> > > > ideal.
> > >
> > > I feel like EFI gets a bit of an undeserved reputation here.  It's not
> > > growing any worse than the rest of the world is over fixes and error
> > > correction (which is to say, 16/32/40 bytes here and there).  And
> > > there's not "big" new default features coming in.
> >
> > We can agree on the 'reputation' bit but I can't think of a more
> > deserving feature :-)
> >
> > I keep getting the capsule-update series in my inbox, for example and
> > I know there is TPM stuff in the works.
>
> Yes, but TPM and capsule-update won't be default enabled for all
> platforms.  I run every PR I get (and branch I make and merge) through a
> before/after world build and use buildman's sizes tools to check (aside,
> I'd love some csv output format for that, but I haven't gotten around to
> thinking on how to do that) and that's where I'm coming from on this.  I
> am keeping an eye out for default new features everywhere, and default
> new functionality everywhere.

We could have buildman output some stats file as 'artifacts' in gitlab
perhaps, then have a script that picks them up and stores them
somewhere for analysis?

Regards,
Simon

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-30 21:48                 ` Simon Glass
@ 2021-07-30 22:08                   ` Tom Rini
  2022-03-28  6:35                     ` Simon Glass
  0 siblings, 1 reply; 36+ messages in thread
From: Tom Rini @ 2021-07-30 22:08 UTC (permalink / raw)
  To: Simon Glass
  Cc: Heinrich Schuchardt, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

[-- Attachment #1: Type: text/plain, Size: 9066 bytes --]

On Fri, Jul 30, 2021 at 03:48:15PM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Fri, 30 Jul 2021 at 15:33, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Fri, Jul 30, 2021 at 01:02:18PM -0600, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Thu, 29 Jul 2021 at 07:52, Tom Rini <trini@konsulko.com> wrote:
> > > >
> > > > On Wed, Jul 28, 2021 at 07:44:37PM -0600, Simon Glass wrote:
> > > > > Hi,
> > > > >
> > > > > On Wed, 28 Jul 2021 at 17:55, Tom Rini <trini@konsulko.com> wrote:
> > > > > >
> > > > > > On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> > > > > > >
> > > > > > >
> > > > > > > On 7/27/21 12:07 AM, Tom Rini wrote:
> > > > > > > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > > > > > > >
> > > > > > > > > This feature should never have been made available when driver model
> > > > > > > > > or devicetree are disabled. Add these as conditions, so that we don't
> > > > > > > > > create even more barriers to migration.
> > > > > > > > >
> > > > > > > > > Add a note about the substantial size increment associated with this
> > > > > > > > > option.
> > > > > > > > >
> > > > > > > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > > > > > > ---
> > > > > > > > >
> > > > > > > > > Changes in v2:
> > > > > > > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > > > > > > > - Note the approximate size of this feature in the help
> > > > > > > > >
> > > > > > > > >   lib/efi_loader/Kconfig | 4 +++-
> > > > > > > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > > > > >
> > > > > > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > > > > > > > index 6242caceb7f..466abfed300 100644
> > > > > > > > > --- a/lib/efi_loader/Kconfig
> > > > > > > > > +++ b/lib/efi_loader/Kconfig
> > > > > > > > > @@ -1,6 +1,6 @@
> > > > > > > > >   config EFI_LOADER
> > > > > > > > >           bool "Support running UEFI applications"
> > > > > > > > > - depends on OF_LIBFDT && ( \
> > > > > > > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> > > > > > >
> > > > > > > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> > > > > > > of this symbol?
> > > > > >
> > > > > > No, but I did send out a message about that today as we're very close.
> > > > > > Much closer than I had expected us to be.
> > > > >
> > > > > Note we will still have SPL_DM, I think.
> > > >
> > > > Right.
> > > >
> > > > > > > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
> > > > > >
> > > > > > Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
> > > > > > https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
> > > > > > so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.
> > > > > >
> > > > > > > Why are these separate symbols? Isn't this symbol to be eliminated, too?
> > > > > >
> > > > > > Simon?
> > > > >
> > > > > If we do eliminate DM it will be in a separate series. Like Tom I am
> > > > > pleasantly surprised at how close we are.
> > > > >
> > > > > But please let's consider patches on their merits. It is fine to reply
> > > > > with a wishlist but even better to reply with a follow-up patch.
> > > >
> > > > OK.  So, build-wise, EFI_LOADER does not require OF_CONTROL.
> > >
> > > I strongly believe it should (and it should have 5 years ago too). New
> > > features should not be built on pre-migration stuff.
> >
> > Well, what legacy interfaces is it using?  That's something to figure
> > out and address as needed.
> 
> It was built on non-DM and I believe it still has code for non-DM
> (e.g. look for DM_MMC). Without DM, OF_CONTROL has no purpose IMO.
> 
> Perhaps Heinrich has cleaned a lot of that old cruft out now?

Now that DM_MMC and DM_VIDEO are mandatory, there is some cruft that can
be removed, both there and probably tree-wide.  But that's not the same
as OF_CONTROL.  Not all DM_xxx requires OF_CONTROL support.

> > > > > Somewhat related, I think we need to create a separate symbol which
> > > > > means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing.
> > > > >
> > > > > Also I think we should push of-platdata, since otherwise we're going
> > > > > to hit the same problem of migrating SPL boards to DM one day.
> > > >
> > > > Note that we don't have CONFIG_OF_PLATDATA just
> > > > CONFIG_(SPL|TPL)_OF_PLATDATA.
> > >
> > > Indeed. But we haven't defined it because we don't want to permit it.
> > > It is just for constrained environments and we assume that U-Boot
> > > proper has enough space (how else could it load Linux?)
> >
> > If OF_PLATDATA for U-Boot itself makes sense or not is a separate
> > discussion to have.
> 
> OK, I'd love to hear the reasoning on that one day.

This might come up again real soon now in the context of nokia_rx51 and
migrating away from the very old MUSB gadget driver and to modern
DM_USB_GADGET.  The platform is DM=y and OF_CONTROL=n and hard space
constrained.

> > > > > > > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> > > > > > > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> > > > > > > on CONFIG_DM) would make more sense to me. But only in a patch
> > > > > > > eliminating the non-BLK code.
> > > > > >
> > > > > > I just know that off-hand, partition + disk + block has some corner
> > > > > > case, but maybe that corner case is unintentional in terms of usage
> > > > > > today.
> > > > > >
> > > > > > > > >                   ARM && (SYS_CPU = arm1136 || \
> > > > > > > > >                           SYS_CPU = arm1176 || \
> > > > > > > > >                           SYS_CPU = armv7   || \
> > > > > > > > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > > > > > > > >             will expose the UEFI API to a loaded application, enabling it to
> > > > > > > > >             reuse U-Boot's device drivers.
> > > > > > > > >
> > > > > > > > > +   For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > > > > > > > +
> > > > > > >
> > > > > > > There is no unit ISO prefix K. Do you mean KiB?
> > > > > > >
> > > > > > > 90 KiB may be the value today. Will you update it regularly? Otherwise
> > > > > > > don't put a number here.
> > > > > > >
> > > > > > > I can't see that the effect on size is truly architecture specific. Why
> > > > > > > do you refer to 32bit ARM?
> > > > > > >
> > > > > > > Such a comment would better fit into a documentation chapter on
> > > > > > > downsizing U-Boot.
> > > > > >
> > > > > > Yes, we should probably drop that specific note.
> > > > >
> > > > > From my POV I really like these notes in Kconfig. They appear in a few
> > > > > places and provide people with rough guidance. I'd like to see more of
> > > > > them. I don't know how we can keep them up-to-date, although I'd argue
> > > > > that they should stay constant, if we are holding to our no-bloat
> > > > > ideal.
> > > >
> > > > I feel like EFI gets a bit of an undeserved reputation here.  It's not
> > > > growing any worse than the rest of the world is over fixes and error
> > > > correction (which is to say, 16/32/40 bytes here and there).  And
> > > > there's not "big" new default features coming in.
> > >
> > > We can agree on the 'reputation' bit but I can't think of a more
> > > deserving feature :-)
> > >
> > > I keep getting the capsule-update series in my inbox, for example and
> > > I know there is TPM stuff in the works.
> >
> > Yes, but TPM and capsule-update won't be default enabled for all
> > platforms.  I run every PR I get (and branch I make and merge) through a
> > before/after world build and use buildman's sizes tools to check (aside,
> > I'd love some csv output format for that, but I haven't gotten around to
> > thinking on how to do that) and that's where I'm coming from on this.  I
> > am keeping an eye out for default new features everywhere, and default
> > new functionality everywhere.
> 
> We could have buildman output some stats file as 'artifacts' in gitlab
> perhaps, then have a script that picks them up and stores them
> somewhere for analysis?

My first thought would just be to somehow put the output of --show-sizes
as a CSV so I could then figure out a way to filter out that I've seen
for example simple_strtoul changed size on every platform.  What else is
there?  Today I page through the output and am good, but not perfect, at
spotting the outliers (for example, I had to tweak "Makefile: Move phy
rules into drivers/phy" because a few platforms did not enable
CONFIG_PHY before and those stood out from the rest of the size changes
due to different optimization due to changed link order).  Tooling
around making that less error prone would be good.  Perhaps outputting
all functions and sizes and platform and full/spl/tpl to a csv or json
would be the first step to being able to compare builds.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2021-07-30 22:08                   ` Tom Rini
@ 2022-03-28  6:35                     ` Simon Glass
  2022-03-28 14:15                       ` Tom Rini
  0 siblings, 1 reply; 36+ messages in thread
From: Simon Glass @ 2022-03-28  6:35 UTC (permalink / raw)
  To: Tom Rini
  Cc: Heinrich Schuchardt, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

Hi Tom,

On Fri, 30 Jul 2021 at 16:08, Tom Rini <trini@konsulko.com> wrote:
>
> On Fri, Jul 30, 2021 at 03:48:15PM -0600, Simon Glass wrote:
> > Hi Tom,
> >
> > On Fri, 30 Jul 2021 at 15:33, Tom Rini <trini@konsulko.com> wrote:
> > >
> > > On Fri, Jul 30, 2021 at 01:02:18PM -0600, Simon Glass wrote:
> > > > Hi Tom,
> > > >
> > > > On Thu, 29 Jul 2021 at 07:52, Tom Rini <trini@konsulko.com> wrote:
> > > > >
> > > > > On Wed, Jul 28, 2021 at 07:44:37PM -0600, Simon Glass wrote:
> > > > > > Hi,
> > > > > >
> > > > > > On Wed, 28 Jul 2021 at 17:55, Tom Rini <trini@konsulko.com> wrote:
> > > > > > >
> > > > > > > On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> > > > > > > >
> > > > > > > >
> > > > > > > > On 7/27/21 12:07 AM, Tom Rini wrote:
> > > > > > > > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > > > > > > > >
> > > > > > > > > > This feature should never have been made available when driver model
> > > > > > > > > > or devicetree are disabled. Add these as conditions, so that we don't
> > > > > > > > > > create even more barriers to migration.
> > > > > > > > > >
> > > > > > > > > > Add a note about the substantial size increment associated with this
> > > > > > > > > > option.
> > > > > > > > > >
> > > > > > > > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > > > > > > > ---
> > > > > > > > > >
> > > > > > > > > > Changes in v2:
> > > > > > > > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > > > > > > > > - Note the approximate size of this feature in the help
> > > > > > > > > >
> > > > > > > > > >   lib/efi_loader/Kconfig | 4 +++-
> > > > > > > > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > > > > > >
> > > > > > > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > > > > > > > > index 6242caceb7f..466abfed300 100644
> > > > > > > > > > --- a/lib/efi_loader/Kconfig
> > > > > > > > > > +++ b/lib/efi_loader/Kconfig
> > > > > > > > > > @@ -1,6 +1,6 @@
> > > > > > > > > >   config EFI_LOADER
> > > > > > > > > >           bool "Support running UEFI applications"
> > > > > > > > > > - depends on OF_LIBFDT && ( \
> > > > > > > > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> > > > > > > >
> > > > > > > > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> > > > > > > > of this symbol?
> > > > > > >
> > > > > > > No, but I did send out a message about that today as we're very close.
> > > > > > > Much closer than I had expected us to be.
> > > > > >
> > > > > > Note we will still have SPL_DM, I think.
> > > > >
> > > > > Right.
> > > > >
> > > > > > > > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
> > > > > > >
> > > > > > > Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
> > > > > > > https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
> > > > > > > so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.
> > > > > > >
> > > > > > > > Why are these separate symbols? Isn't this symbol to be eliminated, too?
> > > > > > >
> > > > > > > Simon?
> > > > > >
> > > > > > If we do eliminate DM it will be in a separate series. Like Tom I am
> > > > > > pleasantly surprised at how close we are.
> > > > > >
> > > > > > But please let's consider patches on their merits. It is fine to reply
> > > > > > with a wishlist but even better to reply with a follow-up patch.
> > > > >
> > > > > OK.  So, build-wise, EFI_LOADER does not require OF_CONTROL.
> > > >
> > > > I strongly believe it should (and it should have 5 years ago too). New
> > > > features should not be built on pre-migration stuff.
> > >
> > > Well, what legacy interfaces is it using?  That's something to figure
> > > out and address as needed.
> >
> > It was built on non-DM and I believe it still has code for non-DM
> > (e.g. look for DM_MMC). Without DM, OF_CONTROL has no purpose IMO.
> >
> > Perhaps Heinrich has cleaned a lot of that old cruft out now?
>
> Now that DM_MMC and DM_VIDEO are mandatory, there is some cruft that can
> be removed, both there and probably tree-wide.  But that's not the same
> as OF_CONTROL.  Not all DM_xxx requires OF_CONTROL support.
>
> > > > > > Somewhat related, I think we need to create a separate symbol which
> > > > > > means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing.
> > > > > >
> > > > > > Also I think we should push of-platdata, since otherwise we're going
> > > > > > to hit the same problem of migrating SPL boards to DM one day.
> > > > >
> > > > > Note that we don't have CONFIG_OF_PLATDATA just
> > > > > CONFIG_(SPL|TPL)_OF_PLATDATA.
> > > >
> > > > Indeed. But we haven't defined it because we don't want to permit it.
> > > > It is just for constrained environments and we assume that U-Boot
> > > > proper has enough space (how else could it load Linux?)
> > >
> > > If OF_PLATDATA for U-Boot itself makes sense or not is a separate
> > > discussion to have.
> >
> > OK, I'd love to hear the reasoning on that one day.
>
> This might come up again real soon now in the context of nokia_rx51 and
> migrating away from the very old MUSB gadget driver and to modern
> DM_USB_GADGET.  The platform is DM=y and OF_CONTROL=n and hard space
> constrained.

Oh I see. Well I don't believe it would be that hard to enable it, but
if it is just for one platform, is it worth it?

>
> > > > > > > > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> > > > > > > > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> > > > > > > > on CONFIG_DM) would make more sense to me. But only in a patch
> > > > > > > > eliminating the non-BLK code.
> > > > > > >
> > > > > > > I just know that off-hand, partition + disk + block has some corner
> > > > > > > case, but maybe that corner case is unintentional in terms of usage
> > > > > > > today.
> > > > > > >
> > > > > > > > > >                   ARM && (SYS_CPU = arm1136 || \
> > > > > > > > > >                           SYS_CPU = arm1176 || \
> > > > > > > > > >                           SYS_CPU = armv7   || \
> > > > > > > > > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > > > > > > > > >             will expose the UEFI API to a loaded application, enabling it to
> > > > > > > > > >             reuse U-Boot's device drivers.
> > > > > > > > > >
> > > > > > > > > > +   For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > > > > > > > > +
> > > > > > > >
> > > > > > > > There is no unit ISO prefix K. Do you mean KiB?
> > > > > > > >
> > > > > > > > 90 KiB may be the value today. Will you update it regularly? Otherwise
> > > > > > > > don't put a number here.
> > > > > > > >
> > > > > > > > I can't see that the effect on size is truly architecture specific. Why
> > > > > > > > do you refer to 32bit ARM?
> > > > > > > >
> > > > > > > > Such a comment would better fit into a documentation chapter on
> > > > > > > > downsizing U-Boot.
> > > > > > >
> > > > > > > Yes, we should probably drop that specific note.
> > > > > >
> > > > > > From my POV I really like these notes in Kconfig. They appear in a few
> > > > > > places and provide people with rough guidance. I'd like to see more of
> > > > > > them. I don't know how we can keep them up-to-date, although I'd argue
> > > > > > that they should stay constant, if we are holding to our no-bloat
> > > > > > ideal.
> > > > >
> > > > > I feel like EFI gets a bit of an undeserved reputation here.  It's not
> > > > > growing any worse than the rest of the world is over fixes and error
> > > > > correction (which is to say, 16/32/40 bytes here and there).  And
> > > > > there's not "big" new default features coming in.
> > > >
> > > > We can agree on the 'reputation' bit but I can't think of a more
> > > > deserving feature :-)
> > > >
> > > > I keep getting the capsule-update series in my inbox, for example and
> > > > I know there is TPM stuff in the works.
> > >
> > > Yes, but TPM and capsule-update won't be default enabled for all
> > > platforms.  I run every PR I get (and branch I make and merge) through a
> > > before/after world build and use buildman's sizes tools to check (aside,
> > > I'd love some csv output format for that, but I haven't gotten around to
> > > thinking on how to do that) and that's where I'm coming from on this.  I
> > > am keeping an eye out for default new features everywhere, and default
> > > new functionality everywhere.
> >
> > We could have buildman output some stats file as 'artifacts' in gitlab
> > perhaps, then have a script that picks them up and stores them
> > somewhere for analysis?
>
> My first thought would just be to somehow put the output of --show-sizes
> as a CSV so I could then figure out a way to filter out that I've seen
> for example simple_strtoul changed size on every platform.  What else is
> there?  Today I page through the output and am good, but not perfect, at
> spotting the outliers (for example, I had to tweak "Makefile: Move phy
> rules into drivers/phy" because a few platforms did not enable
> CONFIG_PHY before and those stood out from the rest of the size changes
> due to different optimization due to changed link order).  Tooling
> around making that less error prone would be good.  Perhaps outputting
> all functions and sizes and platform and full/spl/tpl to a csv or json
> would be the first step to being able to compare builds.

Sounds like something that could be added to buildman, yes. I'm not
sure if there are other people willing to take this on?

Regards,
Simon

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

* Re: [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL
  2022-03-28  6:35                     ` Simon Glass
@ 2022-03-28 14:15                       ` Tom Rini
  0 siblings, 0 replies; 36+ messages in thread
From: Tom Rini @ 2022-03-28 14:15 UTC (permalink / raw)
  To: Simon Glass
  Cc: Heinrich Schuchardt, U-Boot Mailing List, Ilias Apalodimas,
	Pali Rohár, Mark Kettenis

[-- Attachment #1: Type: text/plain, Size: 10575 bytes --]

On Mon, Mar 28, 2022 at 12:35:09AM -0600, Simon Glass wrote:
> Hi Tom,
> 
> On Fri, 30 Jul 2021 at 16:08, Tom Rini <trini@konsulko.com> wrote:
> >
> > On Fri, Jul 30, 2021 at 03:48:15PM -0600, Simon Glass wrote:
> > > Hi Tom,
> > >
> > > On Fri, 30 Jul 2021 at 15:33, Tom Rini <trini@konsulko.com> wrote:
> > > >
> > > > On Fri, Jul 30, 2021 at 01:02:18PM -0600, Simon Glass wrote:
> > > > > Hi Tom,
> > > > >
> > > > > On Thu, 29 Jul 2021 at 07:52, Tom Rini <trini@konsulko.com> wrote:
> > > > > >
> > > > > > On Wed, Jul 28, 2021 at 07:44:37PM -0600, Simon Glass wrote:
> > > > > > > Hi,
> > > > > > >
> > > > > > > On Wed, 28 Jul 2021 at 17:55, Tom Rini <trini@konsulko.com> wrote:
> > > > > > > >
> > > > > > > > On Thu, Jul 29, 2021 at 01:45:49AM +0200, Heinrich Schuchardt wrote:
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > On 7/27/21 12:07 AM, Tom Rini wrote:
> > > > > > > > > > On Fri, Jul 02, 2021 at 12:36:18PM -0600, Simon Glass wrote:
> > > > > > > > > >
> > > > > > > > > > > This feature should never have been made available when driver model
> > > > > > > > > > > or devicetree are disabled. Add these as conditions, so that we don't
> > > > > > > > > > > create even more barriers to migration.
> > > > > > > > > > >
> > > > > > > > > > > Add a note about the substantial size increment associated with this
> > > > > > > > > > > option.
> > > > > > > > > > >
> > > > > > > > > > > Signed-off-by: Simon Glass <sjg@chromium.org>
> > > > > > > > > > > ---
> > > > > > > > > > >
> > > > > > > > > > > Changes in v2:
> > > > > > > > > > > - Split out new patch to make EFI_LOADER depend on DM and OF_CONTROL
> > > > > > > > > > > - Note the approximate size of this feature in the help
> > > > > > > > > > >
> > > > > > > > > > >   lib/efi_loader/Kconfig | 4 +++-
> > > > > > > > > > >   1 file changed, 3 insertions(+), 1 deletion(-)
> > > > > > > > > > >
> > > > > > > > > > > diff --git a/lib/efi_loader/Kconfig b/lib/efi_loader/Kconfig
> > > > > > > > > > > index 6242caceb7f..466abfed300 100644
> > > > > > > > > > > --- a/lib/efi_loader/Kconfig
> > > > > > > > > > > +++ b/lib/efi_loader/Kconfig
> > > > > > > > > > > @@ -1,6 +1,6 @@
> > > > > > > > > > >   config EFI_LOADER
> > > > > > > > > > >           bool "Support running UEFI applications"
> > > > > > > > > > > - depends on OF_LIBFDT && ( \
> > > > > > > > > > > + depends on OF_LIBFDT && DM && OF_CONTROL && ( \
> > > > > > > > >
> > > > > > > > > Didn't Tom eliminate all boards without CONFIG_DM? Shouldn't we get rid
> > > > > > > > > of this symbol?
> > > > > > > >
> > > > > > > > No, but I did send out a message about that today as we're very close.
> > > > > > > > Much closer than I had expected us to be.
> > > > > > >
> > > > > > > Note we will still have SPL_DM, I think.
> > > > > >
> > > > > > Right.
> > > > > >
> > > > > > > > > Are there boards using DM and not OF_CONTROL or OF_CONTROL and not DM?
> > > > > > > >
> > > > > > > > Yes, a few.  It's vexpress_aemv8a_semi, warp (fixed by
> > > > > > > > https://patchwork.ozlabs.org/project/uboot/patch/20210402180552.1075997-2-pbrobinson@gmail.com/
> > > > > > > > so false positive), cm_t335, devkit8000, armadillo-800eva, kzm9g and sniper.
> > > > > > > >
> > > > > > > > > Why are these separate symbols? Isn't this symbol to be eliminated, too?
> > > > > > > >
> > > > > > > > Simon?
> > > > > > >
> > > > > > > If we do eliminate DM it will be in a separate series. Like Tom I am
> > > > > > > pleasantly surprised at how close we are.
> > > > > > >
> > > > > > > But please let's consider patches on their merits. It is fine to reply
> > > > > > > with a wishlist but even better to reply with a follow-up patch.
> > > > > >
> > > > > > OK.  So, build-wise, EFI_LOADER does not require OF_CONTROL.
> > > > >
> > > > > I strongly believe it should (and it should have 5 years ago too). New
> > > > > features should not be built on pre-migration stuff.
> > > >
> > > > Well, what legacy interfaces is it using?  That's something to figure
> > > > out and address as needed.
> > >
> > > It was built on non-DM and I believe it still has code for non-DM
> > > (e.g. look for DM_MMC). Without DM, OF_CONTROL has no purpose IMO.
> > >
> > > Perhaps Heinrich has cleaned a lot of that old cruft out now?
> >
> > Now that DM_MMC and DM_VIDEO are mandatory, there is some cruft that can
> > be removed, both there and probably tree-wide.  But that's not the same
> > as OF_CONTROL.  Not all DM_xxx requires OF_CONTROL support.
> >
> > > > > > > Somewhat related, I think we need to create a separate symbol which
> > > > > > > means (OF_CONTROL && !OF_PLATDATA) so we can just check one thing.
> > > > > > >
> > > > > > > Also I think we should push of-platdata, since otherwise we're going
> > > > > > > to hit the same problem of migrating SPL boards to DM one day.
> > > > > >
> > > > > > Note that we don't have CONFIG_OF_PLATDATA just
> > > > > > CONFIG_(SPL|TPL)_OF_PLATDATA.
> > > > >
> > > > > Indeed. But we haven't defined it because we don't want to permit it.
> > > > > It is just for constrained environments and we assume that U-Boot
> > > > > proper has enough space (how else could it load Linux?)
> > > >
> > > > If OF_PLATDATA for U-Boot itself makes sense or not is a separate
> > > > discussion to have.
> > >
> > > OK, I'd love to hear the reasoning on that one day.
> >
> > This might come up again real soon now in the context of nokia_rx51 and
> > migrating away from the very old MUSB gadget driver and to modern
> > DM_USB_GADGET.  The platform is DM=y and OF_CONTROL=n and hard space
> > constrained.
> 
> Oh I see. Well I don't believe it would be that hard to enable it, but
> if it is just for one platform, is it worth it?

I'm a little lost on context at this point again.  We should be able to
make EFI_LOADER depend on DM+OF_CONTROL as today nokia_rx51 does not
enable EFI_LOADER.  It's also behind on its USB migration, which is its
own thread I should bring up again.

> > > > > > > > > lib/efi_loader/efi_disk.c is the only place where we maintain duplicate
> > > > > > > > > code for DM and non-DM. A dependency on CONFIG_BLK (which itself depends
> > > > > > > > > on CONFIG_DM) would make more sense to me. But only in a patch
> > > > > > > > > eliminating the non-BLK code.
> > > > > > > >
> > > > > > > > I just know that off-hand, partition + disk + block has some corner
> > > > > > > > case, but maybe that corner case is unintentional in terms of usage
> > > > > > > > today.
> > > > > > > >
> > > > > > > > > > >                   ARM && (SYS_CPU = arm1136 || \
> > > > > > > > > > >                           SYS_CPU = arm1176 || \
> > > > > > > > > > >                           SYS_CPU = armv7   || \
> > > > > > > > > > > @@ -25,6 +25,8 @@ config EFI_LOADER
> > > > > > > > > > >             will expose the UEFI API to a loaded application, enabling it to
> > > > > > > > > > >             reuse U-Boot's device drivers.
> > > > > > > > > > >
> > > > > > > > > > > +   For ARM 32-bit, this adds about 90KB to the size of U-Boot.
> > > > > > > > > > > +
> > > > > > > > >
> > > > > > > > > There is no unit ISO prefix K. Do you mean KiB?
> > > > > > > > >
> > > > > > > > > 90 KiB may be the value today. Will you update it regularly? Otherwise
> > > > > > > > > don't put a number here.
> > > > > > > > >
> > > > > > > > > I can't see that the effect on size is truly architecture specific. Why
> > > > > > > > > do you refer to 32bit ARM?
> > > > > > > > >
> > > > > > > > > Such a comment would better fit into a documentation chapter on
> > > > > > > > > downsizing U-Boot.
> > > > > > > >
> > > > > > > > Yes, we should probably drop that specific note.
> > > > > > >
> > > > > > > From my POV I really like these notes in Kconfig. They appear in a few
> > > > > > > places and provide people with rough guidance. I'd like to see more of
> > > > > > > them. I don't know how we can keep them up-to-date, although I'd argue
> > > > > > > that they should stay constant, if we are holding to our no-bloat
> > > > > > > ideal.
> > > > > >
> > > > > > I feel like EFI gets a bit of an undeserved reputation here.  It's not
> > > > > > growing any worse than the rest of the world is over fixes and error
> > > > > > correction (which is to say, 16/32/40 bytes here and there).  And
> > > > > > there's not "big" new default features coming in.
> > > > >
> > > > > We can agree on the 'reputation' bit but I can't think of a more
> > > > > deserving feature :-)
> > > > >
> > > > > I keep getting the capsule-update series in my inbox, for example and
> > > > > I know there is TPM stuff in the works.
> > > >
> > > > Yes, but TPM and capsule-update won't be default enabled for all
> > > > platforms.  I run every PR I get (and branch I make and merge) through a
> > > > before/after world build and use buildman's sizes tools to check (aside,
> > > > I'd love some csv output format for that, but I haven't gotten around to
> > > > thinking on how to do that) and that's where I'm coming from on this.  I
> > > > am keeping an eye out for default new features everywhere, and default
> > > > new functionality everywhere.
> > >
> > > We could have buildman output some stats file as 'artifacts' in gitlab
> > > perhaps, then have a script that picks them up and stores them
> > > somewhere for analysis?
> >
> > My first thought would just be to somehow put the output of --show-sizes
> > as a CSV so I could then figure out a way to filter out that I've seen
> > for example simple_strtoul changed size on every platform.  What else is
> > there?  Today I page through the output and am good, but not perfect, at
> > spotting the outliers (for example, I had to tweak "Makefile: Move phy
> > rules into drivers/phy" because a few platforms did not enable
> > CONFIG_PHY before and those stood out from the rest of the size changes
> > due to different optimization due to changed link order).  Tooling
> > around making that less error prone would be good.  Perhaps outputting
> > all functions and sizes and platform and full/spl/tpl to a csv or json
> > would be the first step to being able to compare builds.
> 
> Sounds like something that could be added to buildman, yes. I'm not
> sure if there are other people willing to take this on?

I'm pretty sure you're the only person with a good working knowledge of
buildman, so unfortunately not.

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

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

end of thread, other threads:[~2022-03-28 14:16 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-07-02 18:36 [PATCH v2 0/9] efi: Various tidy-ups and drop the default Simon Glass
2021-07-02 18:36 ` [PATCH v2 1/9] configs: Resync with savedefconfig Simon Glass
2021-07-02 18:36 ` [PATCH v2 2/9] Makefile: Drop include/asm directory as well as symlink Simon Glass
2021-07-28 22:56   ` Tom Rini
2021-07-02 18:36 ` [PATCH v2 3/9] disk: Tidy up #ifdefs in part_efi Simon Glass
2021-07-28 22:56   ` Tom Rini
2021-07-28 23:21   ` Heinrich Schuchardt
2021-07-02 18:36 ` [PATCH v2 4/9] Use LIB_UUID with ACPIGEN and FS_BTRFS Simon Glass
2021-07-28 22:56   ` Tom Rini
2021-07-02 18:36 ` [PATCH v2 5/9] Allow efi_loader header to be included always Simon Glass
2021-07-28 22:56   ` Tom Rini
2021-07-02 18:36 ` [PATCH v2 6/9] lib: Create a new Kconfig option for charset conversion Simon Glass
2021-07-28 22:57   ` Tom Rini
2021-07-02 18:36 ` [PATCH v2 7/9] Make EFI_LOADER depend on DM and OF_CONTROL Simon Glass
2021-07-26 22:07   ` Tom Rini
2021-07-28 23:45     ` Heinrich Schuchardt
2021-07-28 23:55       ` Tom Rini
2021-07-29  1:44         ` Simon Glass
2021-07-29 13:52           ` Tom Rini
2021-07-30 19:02             ` Simon Glass
2021-07-30 21:33               ` Tom Rini
2021-07-30 21:48                 ` Simon Glass
2021-07-30 22:08                   ` Tom Rini
2022-03-28  6:35                     ` Simon Glass
2022-03-28 14:15                       ` Tom Rini
2021-07-02 18:36 ` [PATCH v2 8/9] Add an option for EBBR Simon Glass
2021-07-29  0:12   ` Heinrich Schuchardt
2021-07-29  0:40     ` Tom Rini
2021-07-02 18:36 ` [PATCH v2 9/9] efi: Make EBBR optional Simon Glass
2021-07-02 20:11   ` Tom Rini
2021-07-02 20:38     ` Simon Glass
2021-07-29  0:35       ` Heinrich Schuchardt
2021-07-02 19:50 ` [PATCH v2 0/9] efi: Various tidy-ups and drop the default Mark Kettenis
2021-07-02 20:04   ` Simon Glass
2021-07-02 20:19     ` Tom Rini
2021-07-02 20:50       ` Simon Glass

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.