]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
arm: socfpga: Only do 'is OS booted from FIT' checking when VAB is enabled
authorSiew Chin Lim <elly.siew.chin.lim@intel.com>
Mon, 22 Mar 2021 10:04:52 +0000 (18:04 +0800)
committerLey Foon Tan <ley.foon.tan@intel.com>
Tue, 23 Mar 2021 06:46:35 +0000 (14:46 +0800)
Check CONFIG_SOCFPGA_SECURE_VAB_AUTH before perform 'is OS booted from FIT'
checking in board_prep_linux function. And, fix typo of
CONFIG_SOCFPGA_SECURE_VAB_AUTH_ALLOW_NON_FIT_IMAGE.

CONFIG_FIT will be enabled in both ATF and VAB boot flow, thus,
board_prep_linux function will always be called by both ATF and
VAB boot flow.

board_pre_linux function will do 'is OS booted from FIT' checking,
and it will be called before board_fit_image_post_process function.

VAB boot flow expects the OS is always booted from FIT and with VAB
signed cerfiticate because the VAB authentication is implemented in
board_fit_image_post_process function. So, VAB needs the 'is OS booted
from FIT' checking in board_pre_linux function.

However, for ATF boot flow, it is not a requirement that the OS must
always booted from FIT. The OS can be booted from individual Image and
kernel dtb file. Thus, we should not do 'if OS is booted from FIT'
checking in board_prep_linux function.

Signed-off-by: Siew Chin Lim <elly.siew.chin.lim@intel.com>
Reviewed-by: Ley Foon Tan <ley.foon.tan@intel.com>
arch/arm/mach-socfpga/board.c

index 81aa07c9025774e90e13eb07c54695682ba159e6..650122fcd4f8107a4d8370287ae196adddffef23 100644 (file)
@@ -115,7 +115,8 @@ void board_fit_image_post_process(void **p_image, size_t *p_size)
 #if !IS_ENABLED(CONFIG_SPL_BUILD) && IS_ENABLED(CONFIG_FIT)
 void board_prep_linux(bootm_headers_t *images)
 {
-       if (!IS_ENABLED(CONFIG_SECURE_VAB_AUTH_ALLOW_NON_FIT_IMAGE)) {
+       if (IS_ENABLED(CONFIG_SOCFPGA_SECURE_VAB_AUTH) &&
+           !IS_ENABLED(CONFIG_SOCFPGA_SECURE_VAB_AUTH_ALLOW_NON_FIT_IMAGE)) {
                /*
                 * Ensure the OS is always booted from FIT and with
                 * VAB signed certificate