Skip to contentSkip to conversation

Allow disabling non-FIT image loading from SPL

PATCH Superseded Andrew F. Davis 3 participants 18 messages Feb 8, 2017 – Feb 14, 2017 Arm i.MX and Layerscape

v3 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

v3 cover Allow disabling non-FIT image loading from SPL

Hello all,

To address a needed feature brought up by Andreas[0], we need a way to disable SPL from loading non-FIT images.

The function spl_parse_image_header is common to all SPL loading paths (common/spl/spl_(nand|net|nor|etc..)) so we add the check here.

This version of the series is a bit different than the last 2 due to suggestions by Simon, instead of a negative option disabling non-FIT images, we allow the other image format's support to be toggled off, and do that on HS boards.

Thanks,
Andrew

[0] https://www.mail-archive.com/u-boot at lists.denx.de/msg219253.html

Andrew F. Davis (6):
spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option
spl: Add option to enable SPL Legacy image support
ARM: AM335x: Disable non-FIT based image loading for HS devices
ARM: AM43xx: Disable non-FIT based image loading for HS devices
ARM: AM57xx: Disable non-FIT based image loading for HS devices
ARM: DRA7xx: Disable non-FIT based image loading for HS devices

 Kconfig                           | 15 +++++++++++++++
 README                            |  4 ----
 common/spl/spl.c                  | 18 ++++++++++++------
 configs/am335x_hs_evm_defconfig   |  2 ++
 configs/am43xx_hs_evm_defconfig   |  2 ++
 configs/am57xx_hs_evm_defconfig   |  2 ++
 configs/dra7xx_hs_evm_defconfig   |  2 ++
 include/configs/imx6_spl.h        |  4 ++--
 include/configs/socfpga_de1_soc.h |  2 +-
 include/spl.h                     |  2 +-
 10 files changed, 39 insertions(+), 14 deletions(-)
Signature · 1 line
2.11.0
#1 lore raw

PATCH v3 1/6 spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option

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

---
 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(-)
Kconfig +7 -0
index 8f9ea97f3d..8ce2d8c3bb 100644
@@ -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
README +0 -4
index ecb1710d01..127c77c4e2 100644
@@ -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
common/spl/spl.c +5 -4
index 766fb3d6f4..d564d4d2a2 100644
@@ -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. */
+		return -EINVAL;
 #endif
 	}
+
 	return 0;
 }
 
include/configs/imx6_spl.h +2 -2
index c5a035fccf..acaf81b6b9 100644
@@ -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
 #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 */
include/configs/socfpga_de1_soc.h +1 -1
index 5e7a712cf5..52d292b752 100644
@@ -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__ */
include/spl.h +1 -1
index bde44374ea..270798c988 100644
@@ -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.
  *
Signature · 1 line
2.11.0
#2 lore raw

PATCH v3 1/6 spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option

Quoted 19 lines · Andrew F. Davis

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

---
 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(-)
Kconfig +0 -0
index 8f9ea97f3d..8ce2d8c3bb 100644

Kconfig config SYS_TEXT_BASE · line 300

Quoted 10 lines
Kconfig +7 -0
@@ -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.

You might want to keep this under common/spl/Kconfig?

Thanks and regards,
Lokesh

#3 lore raw

PATCH v3 1/6 spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option

In reply to Andrew F. Davis

Hi Andrew,

Quoted 57 lines · Andrew F. Davis

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

---
 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(-)
Kconfig +7 -0
index 8f9ea97f3d..8ce2d8c3bb 100644
@@ -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
README +0 -4
index ecb1710d01..127c77c4e2 100644
@@ -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
common/spl/spl.c +0 -1
index 766fb3d6f4..d564d4d2a2 100644
@@ -146,16 +146,17 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
                }
 #endif
 
-#ifdef CONFIG_SPL_ABORT_ON_RAW_IMAGE

common/spl/spl.c int spl_parse_image_header(struct spl_image_info *spl_image, · line 155

Quoted 10 lines
common/spl/spl.c +3 -3
-               /* 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?

Quoted 12 lines
common/spl/spl.c +2 -0
+               return -EINVAL;
 #endif
        }
+
        return 0;
 }
 
include/configs/imx6_spl.h +0 -0
index c5a035fccf..acaf81b6b9 100644

include/configs/imx6_spl.h line 48

Quoted 5 lines
include/configs/imx6_spl.h +1 -1
@@ -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.

Quoted 37 lines
include/configs/imx6_spl.h +1 -1
 #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 */
include/configs/socfpga_de1_soc.h +1 -1
index 5e7a712cf5..52d292b752 100644
@@ -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__ */
include/spl.h +1 -2
index bde44374ea..270798c988 100644
@@ -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.
  *
--
Quoted 2 lines

2.11.0

Regards,
Simon

#4 lore raw

PATCH v3 1/6 spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option

Quoted 59 lines · Simon Glass

Hi Andrew,

Quoted 56 lines · Andrew F. Davis

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

---
 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(-)
Kconfig +7 -0
index 8f9ea97f3d..8ce2d8c3bb 100644
@@ -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
README +0 -4
index ecb1710d01..127c77c4e2 100644
@@ -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
common/spl/spl.c +0 -0
index 766fb3d6f4..d564d4d2a2 100644
@@ -146,16 +146,17 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
                }
 #endif
 
Quoted 14 lines

common/spl/spl.c int spl_parse_image_header(struct spl_image_info *spl_image, · line 155

Quoted 11 lines
common/spl/spl.c +3 -4
-#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.

Quoted 7 lines
Quoted 7 lines
common/spl/spl.c +2 -0
+               return -EINVAL;
 #endif
        }
+
        return 0;
 }
 
Quoted 15 lines

include/configs/imx6_spl.h line 48

Quoted 10 lines
include/configs/imx6_spl.h +1 -1
index c5a035fccf..acaf81b6b9 100644
@@ -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/

Quoted 43 lines
Quoted 37 lines
include/configs/imx6_spl.h +1 -1
 #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 */
include/configs/socfpga_de1_soc.h +1 -1
index 5e7a712cf5..52d292b752 100644
@@ -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__ */
include/spl.h +1 -2
index bde44374ea..270798c988 100644
@@ -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.
  *
--
Quoted 2 lines

2.11.0

Regards,
Simon

#5 lore raw

PATCH v3 1/6 spl: Convert CONFIG_SPL_ABORT_ON_RAW_IMAGE into a positive option

Hi Andrew,

Quoted 19 lines · Andrew F. Davis
Quoted 18 lines · Simon Glass

Hi Andrew,

Quoted 15 lines · Andrew F. Davis

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

---
 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(-)

[..]

Quoted 21 lines
Quoted 6 lines
Quoted 6 lines
include/configs/imx6_spl.h +0 -0
index c5a035fccf..acaf81b6b9 100644
@@ -45,14 +45,14 @@
 #if defined(CONFIG_SPL_MMC_SUPPORT)
Quoted 9 lines

include/configs/imx6_spl.h line 48

Quoted 4 lines
include/configs/imx6_spl.h +1 -1
 #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.

Quoted 7 lines

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.

OK with me - will leave this to you and Tom.

Regards,
Simon

#6 lore raw

PATCH v3 2/6 spl: Add option to enable SPL Legacy image support

In reply to Andrew F. Davis

Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons.

---
 Kconfig          | 8 ++++++++
 common/spl/spl.c | 9 +++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)
Kconfig +8 -0
index 8ce2d8c3bb..62fa667b7f 100644
@@ -299,6 +299,14 @@ config SPL_RAW_IMAGE_SUPPORT
 	  is y. If this is not set, SPL will move on to other available
 	  boot media to find a suitable image.
 
+config SPL_LEGACY_IMAGE_SUPPORT
+	bool "Support SPL loading and booting of Legacy images"
+	default y
+	help
+	  SPL will support loading and booting Legacy images 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
 	int "CPU clock frequency"
common/spl/spl.c +7 -2
index d564d4d2a2..ccea4aa55f 100644
@@ -93,9 +93,10 @@ void spl_set_header_raw_uboot(struct spl_image_info *spl_image)
 int spl_parse_image_header(struct spl_image_info *spl_image,
 			   const struct image_header *header)
 {
-	u32 header_size = sizeof(struct image_header);
-
 	if (image_get_magic(header) == IH_MAGIC) {
+#ifdef CONFIG_SPL_LEGACY_IMAGE_SUPPORT
+		u32 header_size = sizeof(struct image_header);
+
 		if (spl_image->flags & SPL_COPY_PAYLOAD_ONLY) {
 			/*
 			 * On some system (e.g. powerpc), the load-address and
@@ -118,6 +119,10 @@ int spl_parse_image_header(struct spl_image_info *spl_image,
 		debug("spl: payload image: %.*s load addr: 0x%lx size: %d\n",
 			(int)sizeof(spl_image->name), spl_image->name,
 			spl_image->load_addr, spl_image->size);
+#else
+		/* LEGACY image not supported */
+		return -EINVAL;
+#endif
 	} else {
 #ifdef CONFIG_SPL_PANIC_ON_RAW_IMAGE
 		/*
Signature · 1 line
2.11.0
#7 lore raw

PATCH v3 2/6 spl: Add option to enable SPL Legacy image support

Quoted 16 lines · Andrew F. Davis

Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons.

---
 Kconfig          | 8 ++++++++
 common/spl/spl.c | 9 +++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)
Kconfig +0 -0
index 8ce2d8c3bb..62fa667b7f 100644
@@ -299,6 +299,14 @@ config SPL_RAW_IMAGE_SUPPORT
 	  is y. If this is not set, SPL will move on to other available

Kconfig config SPL_RAW_IMAGE_SUPPORT · line 309

Quoted 10 lines
Kconfig +8 -0
 	  boot media to find a suitable image.
 
+config SPL_LEGACY_IMAGE_SUPPORT
+	bool "Support SPL loading and booting of Legacy images"
+	default y
+	help
+	  SPL will support loading and booting Legacy images when this option
+	  is y. If this is not set, SPL will move on to other available
+	  boot media to find a suitable image.
+

This as well can be moved under spl. Or is there any specific reason you keep it here?

Thanks and regards,
Lokesh

#8 lore raw

PATCH v3 2/6 spl: Add option to enable SPL Legacy image support

Quoted 21 lines · Lokesh Vutla
Quoted 18 lines · Andrew F. Davis

Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons.

---
 Kconfig          | 8 ++++++++
 common/spl/spl.c | 9 +++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)
Kconfig +0 -0
index 8ce2d8c3bb..62fa667b7f 100644
@@ -299,6 +299,14 @@ config SPL_RAW_IMAGE_SUPPORT
 	  is y. If this is not set, SPL will move on to other available
 	  boot media to find a suitable image.
 
Quoted 12 lines

Kconfig config SPL_RAW_IMAGE_SUPPORT · line 309

Quoted 8 lines
Kconfig +8 -0
+config SPL_LEGACY_IMAGE_SUPPORT
+	bool "Support SPL loading and booting of Legacy images"
+	default y
+	help
+	  SPL will support loading and booting Legacy images when this option
+	  is y. If this is not set, SPL will move on to other available
+	  boot media to find a suitable image.
+

This as well can be moved under spl. Or is there any specific reason you keep it here?

I think this is the best spot. It is under "Boot images", like FIT support options above this, the SPL image loading support defines what type of images U-Boot should be built into. At some point we should have the U-Boot build types depend on the SPL support for that type.

Thanks,
Andrew

Quoted 3 lines

Thanks and regards,
Lokesh

#9 lore raw

PATCH v3 2/6 spl: Add option to enable SPL Legacy image support

In reply to Andrew F. Davis
Quoted 10 lines · Andrew F. Davis

Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons.

---
 Kconfig          | 8 ++++++++
 common/spl/spl.c | 9 +++++++--
 2 files changed, 15 insertions(+), 2 deletions(-)
#10 lore raw

PATCH v3 3/6 ARM: AM335x: Disable non-FIT based image loading for HS devices

In reply to Andrew F. Davis

Disable support for loading non-FIT images for AM335x platforms using the high-security (HS) device variant.

---
 configs/am335x_hs_evm_defconfig | 2 ++
 1 file changed, 2 insertions(+)
configs/am335x_hs_evm_defconfig +2 -0
index d6224bcdfb..374540906c 100644
@@ -14,6 +14,8 @@ CONFIG_SYS_EXTRA_OPTIONS="NAND"
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
 CONFIG_FIT_IMAGE_POST_PROCESS=y
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
+# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
 CONFIG_SPL=y
Signature · 1 line
2.11.0
#12 lore raw

PATCH v3 4/6 ARM: AM43xx: Disable non-FIT based image loading for HS devices

In reply to Andrew F. Davis

Disable support for loading non-FIT images for AM43xx platforms using the high-security (HS) device variant.

---
 configs/am43xx_hs_evm_defconfig | 2 ++
 1 file changed, 2 insertions(+)
configs/am43xx_hs_evm_defconfig +2 -0
index 8bb1b3535a..fabf876621 100644
@@ -10,6 +10,8 @@ CONFIG_FIT=y
 CONFIG_FIT_IMAGE_POST_PROCESS=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
+# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
 CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1, NAND"
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
Signature · 1 line
2.11.0
#14 lore raw

PATCH v3 5/6 ARM: AM57xx: Disable non-FIT based image loading for HS devices

In reply to Andrew F. Davis

Disable support for loading non-FIT images for AM57xx platforms using the high-security (HS) device variant.

---
 configs/am57xx_hs_evm_defconfig | 2 ++
 1 file changed, 2 insertions(+)
configs/am57xx_hs_evm_defconfig +2 -0
index 7e84ccddf3..4adbde427b 100644
@@ -14,6 +14,8 @@ CONFIG_FIT=y
 CONFIG_FIT_IMAGE_POST_PROCESS=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
+# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
Signature · 1 line
2.11.0
#16 lore raw

PATCH v3 6/6 ARM: DRA7xx: Disable non-FIT based image loading for HS devices

In reply to Andrew F. Davis

Disable support for loading non-FIT images for DRA7xx platforms using the high-security (HS) device variant.

---
 configs/dra7xx_hs_evm_defconfig | 2 ++
 1 file changed, 2 insertions(+)
configs/dra7xx_hs_evm_defconfig +2 -0
index 244940cd6c..c5e7b16c8b 100644
@@ -15,6 +15,8 @@ CONFIG_FIT=y
 CONFIG_FIT_IMAGE_POST_PROCESS=y
 CONFIG_SPL_LOAD_FIT=y
 CONFIG_SPL_FIT_IMAGE_POST_PROCESS=y
+# CONFIG_SPL_RAW_IMAGE_SUPPORT is not set
+# CONFIG_SPL_LEGACY_IMAGE_SUPPORT is not set
 CONFIG_OF_BOARD_SETUP=y
 CONFIG_SYS_CONSOLE_INFO_QUIET=y
 CONFIG_VERSION_VARIABLE=y
Signature · 1 line
2.11.0