On 02/10/2017 12:38 PM, Simon Glass wrote: > Hi Andrew, > > On 8 February 2017 at 10:21, Andrew F. Davis <a...@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 <a...@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? >
Sure, I'll add one to the next patch too that has the same logic as 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. > I was going to finish this conversion by just running moveconfig.py CONFIG_SPL_RAW_IMAGE_SUPPORT, but this generated a lot of unrelated defconfig re-ordering in the patch. I would need to do something like this[0] again before converting. I think what we could do is let Tom or someone with high level push access do these defconfig re-orders all at once after a bunch of new symbols have been defined. Otherwise we end up with giant patches that are hard to merge and manage. If not, I can attach the patch moveconfig.py generated. Andrew [0] https://patchwork.ozlabs.org/patch/704253/ >> #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 > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot