[U-Boot] [PATCH v3 0/6] 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@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(-)

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@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. */ + 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 #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. *

On Wednesday 08 February 2017 10:51 PM, Andrew F. Davis 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@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.
You might want to keep this under common/spl/Kconfig?
Thanks and regards, Lokesh

Hi Andrew,
On 8 February 2017 at 10:21, Andrew F. Davis afd@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@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

On 02/10/2017 12:38 PM, Simon Glass wrote:
Hi Andrew,
On 8 February 2017 at 10:21, Andrew F. Davis afd@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@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

Hi Andrew,
On 10 February 2017 at 12:58, Andrew F. Davis afd@ti.com wrote:
On 02/10/2017 12:38 PM, Simon Glass wrote:
Hi Andrew,
On 8 February 2017 at 10:21, Andrew F. Davis afd@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@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/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.
OK with me - will leave this to you and Tom.
Regards, Simon

Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons.
Signed-off-by: Andrew F. Davis afd@ti.com --- Kconfig | 8 ++++++++ common/spl/spl.c | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/Kconfig b/Kconfig index 8ce2d8c3bb..62fa667b7f 100644 --- a/Kconfig +++ b/Kconfig @@ -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" diff --git a/common/spl/spl.c b/common/spl/spl.c index d564d4d2a2..ccea4aa55f 100644 --- a/common/spl/spl.c +++ b/common/spl/spl.c @@ -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 /*

On Wednesday 08 February 2017 10:51 PM, Andrew F. Davis wrote:
Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons.
Signed-off-by: Andrew F. Davis afd@ti.com
Kconfig | 8 ++++++++ common/spl/spl.c | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/Kconfig b/Kconfig index 8ce2d8c3bb..62fa667b7f 100644 --- a/Kconfig +++ b/Kconfig @@ -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.
This as well can be moved under spl. Or is there any specific reason you keep it here?
Thanks and regards, Lokesh

On 02/08/2017 10:22 PM, Lokesh Vutla wrote:
On Wednesday 08 February 2017 10:51 PM, Andrew F. Davis wrote:
Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons.
Signed-off-by: Andrew F. Davis afd@ti.com
Kconfig | 8 ++++++++ common/spl/spl.c | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/Kconfig b/Kconfig index 8ce2d8c3bb..62fa667b7f 100644 --- a/Kconfig +++ b/Kconfig @@ -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.
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
Thanks and regards, Lokesh

On 8 February 2017 at 10:21, Andrew F. Davis afd@ti.com wrote:
Add a Kconfig option that enables Legacy image support, this allows boards to explicitly disable this, for instance when needed for security reasons.
Signed-off-by: Andrew F. Davis afd@ti.com
Kconfig | 8 ++++++++ common/spl/spl.c | 9 +++++++-- 2 files changed, 15 insertions(+), 2 deletions(-)
Reviewed-by: Simon Glass sjg@chromium.org

Disable support for loading non-FIT images for AM335x platforms using the high-security (HS) device variant.
Signed-off-by: Andrew F. Davis afd@ti.com --- configs/am335x_hs_evm_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/configs/am335x_hs_evm_defconfig b/configs/am335x_hs_evm_defconfig index d6224bcdfb..374540906c 100644 --- a/configs/am335x_hs_evm_defconfig +++ b/configs/am335x_hs_evm_defconfig @@ -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

On 8 February 2017 at 10:21, Andrew F. Davis afd@ti.com wrote:
Disable support for loading non-FIT images for AM335x platforms using the high-security (HS) device variant.
Signed-off-by: Andrew F. Davis afd@ti.com
configs/am335x_hs_evm_defconfig | 2 ++ 1 file changed, 2 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

Disable support for loading non-FIT images for AM43xx platforms using the high-security (HS) device variant.
Signed-off-by: Andrew F. Davis afd@ti.com --- configs/am43xx_hs_evm_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/configs/am43xx_hs_evm_defconfig b/configs/am43xx_hs_evm_defconfig index 8bb1b3535a..fabf876621 100644 --- a/configs/am43xx_hs_evm_defconfig +++ b/configs/am43xx_hs_evm_defconfig @@ -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

On 8 February 2017 at 10:21, Andrew F. Davis afd@ti.com wrote:
Disable support for loading non-FIT images for AM43xx platforms using the high-security (HS) device variant.
Signed-off-by: Andrew F. Davis afd@ti.com
configs/am43xx_hs_evm_defconfig | 2 ++ 1 file changed, 2 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

Disable support for loading non-FIT images for AM57xx platforms using the high-security (HS) device variant.
Signed-off-by: Andrew F. Davis afd@ti.com --- configs/am57xx_hs_evm_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/configs/am57xx_hs_evm_defconfig b/configs/am57xx_hs_evm_defconfig index 7e84ccddf3..4adbde427b 100644 --- a/configs/am57xx_hs_evm_defconfig +++ b/configs/am57xx_hs_evm_defconfig @@ -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

On 8 February 2017 at 10:21, Andrew F. Davis afd@ti.com wrote:
Disable support for loading non-FIT images for AM57xx platforms using the high-security (HS) device variant.
Signed-off-by: Andrew F. Davis afd@ti.com
configs/am57xx_hs_evm_defconfig | 2 ++ 1 file changed, 2 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org

Disable support for loading non-FIT images for DRA7xx platforms using the high-security (HS) device variant.
Signed-off-by: Andrew F. Davis afd@ti.com --- configs/dra7xx_hs_evm_defconfig | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/configs/dra7xx_hs_evm_defconfig b/configs/dra7xx_hs_evm_defconfig index 244940cd6c..c5e7b16c8b 100644 --- a/configs/dra7xx_hs_evm_defconfig +++ b/configs/dra7xx_hs_evm_defconfig @@ -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

On 8 February 2017 at 10:22, Andrew F. Davis afd@ti.com wrote:
Disable support for loading non-FIT images for DRA7xx platforms using the high-security (HS) device variant.
Signed-off-by: Andrew F. Davis afd@ti.com
configs/dra7xx_hs_evm_defconfig | 2 ++ 1 file changed, 2 insertions(+)
Reviewed-by: Simon Glass sjg@chromium.org
participants (3)
-
Andrew F. Davis
-
Lokesh Vutla
-
Simon Glass