[U-Boot] [PATCH v3 1/6] spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option
Simon Glass
sjg at chromium.org
Fri Feb 10 18:38:56 UTC 2017
Hi Andrew,
On 8 February 2017 at 10:21, Andrew F. Davis <afd at ti.com> wrote:
>
> CONFIG_SPL_ABORT_ON_RAW_IMAGE causes SPL to abort and move on when it
> encounters RAW images, express this same functionality as a positive
> option enabling support for RAW images: CONFIG_SPL_RAW_IMAGE_SUPPORT
>
> Signed-off-by: Andrew F. Davis <afd at ti.com>
> ---
> Kconfig | 7 +++++++
> README | 4 ----
> common/spl/spl.c | 9 +++++----
> include/configs/imx6_spl.h | 4 ++--
> include/configs/socfpga_de1_soc.h | 2 +-
> include/spl.h | 2 +-
> 6 files changed, 16 insertions(+), 12 deletions(-)
>
> diff --git a/Kconfig b/Kconfig
> index 8f9ea97f3d..8ce2d8c3bb 100644
> --- a/Kconfig
> +++ b/Kconfig
> @@ -291,6 +291,13 @@ config SYS_TEXT_BASE
> help
> TODO: Move CONFIG_SYS_TEXT_BASE for all the architecture
>
> +config SPL_RAW_IMAGE_SUPPORT
> + bool "Support SPL loading and booting of RAW images"
> + default y
> + help
> + SPL will support loading and booting a RAW image when this option
> + is y. If this is not set, SPL will move on to other available
> + boot media to find a suitable image.
>
> config SYS_CLK_FREQ
> depends on ARC || ARCH_SUNXI
> diff --git a/README b/README
> index ecb1710d01..127c77c4e2 100644
> --- a/README
> +++ b/README
> @@ -3298,10 +3298,6 @@ FIT uImage format:
> consider that a completely unreadable NAND block is bad,
> and thus should be skipped silently.
>
> - CONFIG_SPL_ABORT_ON_RAW_IMAGE
> - When defined, SPL will proceed to another boot method
> - if the image it has loaded does not have a signature.
> -
> CONFIG_SPL_RELOC_STACK
> Adress of the start of the stack SPL will use after
> relocation. If unspecified, this is equal to
> diff --git a/common/spl/spl.c b/common/spl/spl.c
> index 766fb3d6f4..d564d4d2a2 100644
> --- a/common/spl/spl.c
> +++ b/common/spl/spl.c
> @@ -146,16 +146,17 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
> }
> #endif
>
> -#ifdef CONFIG_SPL_ABORT_ON_RAW_IMAGE
> - /* Signature not found, proceed to other boot methods. */
> - return -EINVAL;
> -#else
> +#ifdef CONFIG_SPL_RAW_IMAGE_SUPPORT
> /* Signature not found - assume u-boot.bin */
> debug("mkimage signature not found - ih_magic = %x\n",
> header->ih_magic);
> spl_set_header_raw_uboot(spl_image);
> +#else
> + /* RAW image not supported, proceed to other boot methods. */
How about a debug() here?
> + return -EINVAL;
> #endif
> }
> +
> return 0;
> }
>
> diff --git a/include/configs/imx6_spl.h b/include/configs/imx6_spl.h
> index c5a035fccf..acaf81b6b9 100644
> --- a/include/configs/imx6_spl.h
> +++ b/include/configs/imx6_spl.h
> @@ -45,14 +45,14 @@
> #if defined(CONFIG_SPL_MMC_SUPPORT)
> #define CONFIG_SYS_MMCSD_FS_BOOT_PARTITION 1
> #define CONFIG_SYS_MONITOR_LEN 409600 /* 400 KB */
> -#define CONFIG_SPL_ABORT_ON_RAW_IMAGE
> +#undef CONFIG_SPL_RAW_IMAGE_SUPPORT
I think this needs to be done in the defconfigs, or a a default in
imx6 Kconfig. You might be able to change your 'default y' above to
'default y if !xxx' where xxx is the secure boot option.
> #endif
>
> /* SATA support */
> #if defined(CONFIG_SPL_SATA_SUPPORT)
> #define CONFIG_SPL_SATA_BOOT_DEVICE 0
> #define CONFIG_SYS_SATA_FAT_BOOT_PARTITION 1
> -#define CONFIG_SPL_ABORT_ON_RAW_IMAGE
> +#undef CONFIG_SPL_RAW_IMAGE_SUPPORT
> #endif
>
> /* Define the payload for FAT/EXT support */
> diff --git a/include/configs/socfpga_de1_soc.h b/include/configs/socfpga_de1_soc.h
> index 5e7a712cf5..52d292b752 100644
> --- a/include/configs/socfpga_de1_soc.h
> +++ b/include/configs/socfpga_de1_soc.h
> @@ -51,6 +51,6 @@
> /* The rest of the configuration is shared */
> #include <configs/socfpga_common.h>
>
> -#define CONFIG_SPL_ABORT_ON_RAW_IMAGE
> +#undef CONFIG_SPL_RAW_IMAGE_SUPPORT
>
> #endif /* __CONFIG_TERASIC_DE1_SOC_H__ */
> diff --git a/include/spl.h b/include/spl.h
> index bde44374ea..270798c988 100644
> --- a/include/spl.h
> +++ b/include/spl.h
> @@ -85,7 +85,7 @@ void spl_set_header_raw_uboot(struct spl_image_info *spl_image);
> * This parses the legacy image header information at @header and sets up
> * @spl_image according to what is found. If no image header is found, then
> * a raw image or bootz is assumed. If CONFIG_SPL_PANIC_ON_RAW_IMAGE is
> - * enabled, then this causes a panic. If CONFIG_SPL_ABORT_ON_RAW_IMAGE is
> + * enabled, then this causes a panic. If CONFIG_SPL_RAW_IMAGE_SUPPORT is not
> * enabled then U-Boot gives up. Otherwise U-Boot sets up the image using
> * spl_set_header_raw_uboot(), or possibly the bootz header.
> *
> --
> 2.11.0
>
Regards,
Simon
More information about the U-Boot
mailing list