All of lore.kernel.org
 help / color / mirror / Atom feed
From: York Sun <york.sun@nxp.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] arm64: ls1043ardb: Add distro secure boot support
Date: Thu, 31 Aug 2017 23:08:21 +0000	[thread overview]
Message-ID: <VI1PR04MB2078B0A227B2F1816A7C97489A9D0@VI1PR04MB2078.eurprd04.prod.outlook.com> (raw)
In-Reply-To: 1496686912-13519-1-git-send-email-sumit.garg@nxp.com

On 06/04/2017 11:54 PM, Sumit Garg wrote:
> Enable validation of boot.scr script prior to its execution dependent
> on "secureboot" flag in environment. Disable fall back option to
> nor/qspi boot in case of secure boot. Also enable "secureboot=y"
> flag in environment for ARM based platforms instead of bootcmd.
> 
> Signed-off-by: Sumit Garg <sumit.garg@nxp.com>
> Tested-by: Vinitha Pillai <vinitha.pillai@nxp.com>
> ---
>   board/freescale/common/fsl_chain_of_trust.c     |  6 ++++++
>   configs/ls1043ardb_SECURE_BOOT_defconfig        |  1 +
>   configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig |  1 +
>   include/configs/ls1043a_common.h                | 23 +++++++++++++++++++++--
>   4 files changed, 29 insertions(+), 2 deletions(-)
> 
> diff --git a/board/freescale/common/fsl_chain_of_trust.c b/board/freescale/common/fsl_chain_of_trust.c
> index 438e781..609e2b2 100644
> --- a/board/freescale/common/fsl_chain_of_trust.c
> +++ b/board/freescale/common/fsl_chain_of_trust.c
> @@ -80,7 +80,13 @@ int fsl_setenv_chain_of_trust(void)
>   	 * bootcmd = CONFIG_CHAIN_BOOT_CMD (Validate and execute Boot script)
>   	 */
>   	setenv("bootdelay", "0");
> +
> +#ifdef CONFIG_ARM
> +	setenv("secureboot", "y");
> +#else
>   	setenv("bootcmd", CONFIG_CHAIN_BOOT_CMD);
> +#endif
> +
>   	return 0;
>   }
>   #endif
> diff --git a/configs/ls1043ardb_SECURE_BOOT_defconfig b/configs/ls1043ardb_SECURE_BOOT_defconfig
> index 861d49b..3f535cc 100644
> --- a/configs/ls1043ardb_SECURE_BOOT_defconfig
> +++ b/configs/ls1043ardb_SECURE_BOOT_defconfig
> @@ -40,3 +40,4 @@ CONFIG_USB_STORAGE=y
>   CONFIG_RSA=y
>   CONFIG_SPL_RSA=y
>   CONFIG_RSA_SOFTWARE_EXP=y
> +CONFIG_DISTRO_DEFAULTS=y
> diff --git a/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig b/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
> index 5f9b21d..2d57e79 100644
> --- a/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
> +++ b/configs/ls1043ardb_sdcard_SECURE_BOOT_defconfig
> @@ -56,3 +56,4 @@ CONFIG_RSA=y
>   CONFIG_SPL_RSA=y
>   CONFIG_SPL_CRYPTO_SUPPORT=y
>   CONFIG_SPL_HASH_SUPPORT=y
> +CONFIG_DISTRO_DEFAULTS=y
> diff --git a/include/configs/ls1043a_common.h b/include/configs/ls1043a_common.h
> index e8a756f..6e30427 100644
> --- a/include/configs/ls1043a_common.h
> +++ b/include/configs/ls1043a_common.h
> @@ -282,6 +282,7 @@
>   	"fdt_addr=0x64f00000\0"		 \
>   	"kernel_addr=0x65000000\0"		\
>   	"scriptaddr=0x80000000\0"	       \
> +	"scripthdraddr=0x80080000\0"		\
>   	"fdtheader_addr_r=0x80100000\0"		\
>   	"kernelheader_addr_r=0x80200000\0"      \
>   	"kernel_addr_r=0x81000000\0"	    \
> @@ -292,6 +293,7 @@
>   	"mtdparts=" MTDPARTS_DEFAULT "\0"	\
>   	BOOTENV					\
>   	"boot_scripts=ls1043ardb_boot.scr\0"	\
> +	"boot_script_hdr=hdr_ls1043ardb_bs.out\0"	\
>   	"scan_dev_for_boot_part="	       \
>   	     "part list ${devtype} ${devnum} devplist; "   \
>   	     "env exists devplist || setenv devplist 1; "  \
> @@ -302,6 +304,21 @@
>   		      "run scan_dev_for_boot; "	    \
>   		  "fi; "				   \
>   	      "done\0"					  \
> +	"scan_dev_for_boot="				  \
> +		"echo Scanning ${devtype} "		  \
> +				"${devnum}:${distro_bootpart}...; "  \
> +		"for prefix in ${boot_prefixes}; do "	  \
> +			"run scan_dev_for_scripts; "	  \
> +		"done;"					  \
> +		"\0"					  \
> +	"boot_a_script="				  \
> +		"load ${devtype} ${devnum}:${distro_bootpart} "  \
> +			"${scriptaddr} ${prefix}${script}; "    \
> +		"env exists secureboot && load ${devtype} "     \
> +			"${devnum}:${distro_bootpart} "		\
> +			"${scripthdraddr} ${prefix}${boot_script_hdr} " \
> +			"&& esbc_validate ${scripthdraddr};"    \
> +		"source ${scriptaddr}\0"	  \
>   	"installer=load mmc 0:2 $load_addr "	  \
>   		   "/flex_installer_arm64.itb; "	  \
>   		   "bootm $load_addr#ls1043ardb\0"	  \
> @@ -315,9 +332,11 @@
>   
>   #undef CONFIG_BOOTCOMMAND
>   #if defined(CONFIG_QSPI_BOOT) || defined(CONFIG_SD_BOOT_QSPI)
> -#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run qspi_bootcmd"
> +#define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"	\
> +			   "&& esbc_halt; run qspi_bootcmd;"
>   #else
> -#define CONFIG_BOOTCOMMAND "run distro_bootcmd;run nor_bootcmd"
> +#define CONFIG_BOOTCOMMAND "run distro_bootcmd; env exists secureboot"	\
> +			   "&& esbc_halt; run nor_bootcmd;"
>   #endif
>   
>   #define CONFIG_BOOTARGS			"console=ttyS0,115200 root=/dev/ram0 " \
> 

Sumit,

I found an issue in a recent test. If distro boot is not setup, do you 
expect it to fail? Don't you want it to fall back to CONFIG_CHAIN_BOOT_CMD?

York

  parent reply	other threads:[~2017-08-31 23:08 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-05 18:21 [U-Boot] [PATCH] arm64: ls1043ardb: Add distro secure boot support Sumit Garg
2017-06-05  7:03 ` Sumit Garg
2017-06-13 20:42 ` York Sun
2017-06-19  5:35   ` Sumit Garg
2017-08-07 20:01 ` York Sun
2017-08-31 23:08 ` York Sun [this message]
2017-09-01  8:30   ` Sumit Garg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=VI1PR04MB2078B0A227B2F1816A7C97489A9D0@VI1PR04MB2078.eurprd04.prod.outlook.com \
    --to=york.sun@nxp.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.