[PATCH v7 2/7] Revert "efi_loader: correctly identify binary name"

Mark Kettenis mark.kettenis at xs4all.nl
Sun Oct 20 01:07:16 CEST 2024


> From: Simon Glass <sjg at chromium.org>
> Date: Sat, 19 Oct 2024 09:24:29 -0600
> 
> This patch was applied without sandbox review. It has changed how
> sandbox works and the original author has not been willing to
> discuss alternatives.
> 
> This reverts commit 3a0654ecd0d6a39406e6fe91f7a40ce589594ae9.
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>
> ---

This breaks EFI booting from removable media in a cross-compiled
U-Boot.  And you still end up with the same HOST_ARCH-dependent
BOOTEFI_NAME for sandbox, so no, this didn't change how sandbox works.

> Changes in v7:
> - Add a revert of the un-reviewed patch, instead of just changing it
> 
>  include/efi_default_filename.h | 41 +++++++++++++---------------------
>  1 file changed, 15 insertions(+), 26 deletions(-)
> 
> diff --git a/include/efi_default_filename.h b/include/efi_default_filename.h
> index 77932984b55..13b9de8754a 100644
> --- a/include/efi_default_filename.h
> +++ b/include/efi_default_filename.h
> @@ -5,7 +5,6 @@
>   * file name is defined in this include.
>   *
>   * Copyright (c) 2022, Heinrich Schuchardt <xypron.glpk at gmx.de>
> - * Copyright (c) 2022, Linaro Limited
>   */
>  
>  #ifndef _EFI_DEFAULT_FILENAME_H
> @@ -15,42 +14,32 @@
>  
>  #undef BOOTEFI_NAME
>  
> -#ifdef CONFIG_SANDBOX
> -
>  #if HOST_ARCH == HOST_ARCH_X86_64
>  #define BOOTEFI_NAME "BOOTX64.EFI"
> -#elif HOST_ARCH == HOST_ARCH_X86
> -#define BOOTEFI_NAME "BOOTIA32.EFI"
> -#elif HOST_ARCH == HOST_ARCH_AARCH64
> -#define BOOTEFI_NAME "BOOTAA64.EFI"
> -#elif HOST_ARCH == HOST_ARCH_ARM
> -#define BOOTEFI_NAME "BOOTARM.EFI"
> -#elif HOST_ARCH == HOST_ARCH_RISCV32
> -#define BOOTEFI_NAME "BOOTRISCV32.EFI"
> -#elif HOST_ARCH == HOST_ARCH_RISCV64
> -#define BOOTEFI_NAME "BOOTRISCV64.EFI"
> -#else
> -#error Unsupported UEFI architecture
>  #endif
>  
> -#else
> +#if HOST_ARCH == HOST_ARCH_X86
> +#define BOOTEFI_NAME "BOOTIA32.EFI"
> +#endif
>  
> -#if defined(CONFIG_ARM64)
> +#if HOST_ARCH == HOST_ARCH_AARCH64
>  #define BOOTEFI_NAME "BOOTAA64.EFI"
> -#elif defined(CONFIG_ARM)
> +#endif
> +
> +#if HOST_ARCH == HOST_ARCH_ARM
>  #define BOOTEFI_NAME "BOOTARM.EFI"
> -#elif defined(CONFIG_X86_64)
> -#define BOOTEFI_NAME "BOOTX64.EFI"
> -#elif defined(CONFIG_X86)
> -#define BOOTEFI_NAME "BOOTIA32.EFI"
> -#elif defined(CONFIG_ARCH_RV32I)
> +#endif
> +
> +#if HOST_ARCH == HOST_ARCH_RISCV32
>  #define BOOTEFI_NAME "BOOTRISCV32.EFI"
> -#elif defined(CONFIG_ARCH_RV64I)
> +#endif
> +
> +#if HOST_ARCH == HOST_ARCH_RISCV64
>  #define BOOTEFI_NAME "BOOTRISCV64.EFI"
> -#else
> -#error Unsupported UEFI architecture
>  #endif
>  
> +#ifndef BOOTEFI_NAME
> +#error Unsupported UEFI architecture
>  #endif
>  
>  #endif
> -- 
> 2.34.1
> 
> 


More information about the U-Boot mailing list