fix(plat/st): only check header major when booting

An STM32 image with the awaited header major version shouldn't be forbid
to boot. If the minor differs, then it means only non-mandatory options
have been added in the reserved fields, and the header remains backward
compatible.

Change-Id: Iff16b67f95c728e2f1d128bd1760a4be497c5ca3
Signed-off-by: Yann Gautier <yann.gautier@st.com>
This commit is contained in:
Nicolas Le Bayon 2019-11-18 17:12:27 +01:00 committed by Yann Gautier
parent 0161991184
commit 8ce8918745
1 changed files with 4 additions and 1 deletions

View File

@ -17,6 +17,8 @@
#include <plat/common/platform.h>
#include <services/arm_arch_svc.h>
#define HEADER_VERSION_MAJOR_MASK GENMASK(23, 16)
uintptr_t plat_get_ns_image_entrypoint(void)
{
return BL33_BASE;
@ -93,7 +95,8 @@ int stm32mp_check_header(boot_api_image_header_t *header, uintptr_t buffer)
return -EINVAL;
}
if (header->header_version != BOOT_API_HEADER_VERSION) {
if ((header->header_version & HEADER_VERSION_MAJOR_MASK) !=
(BOOT_API_HEADER_VERSION & HEADER_VERSION_MAJOR_MASK)) {
ERROR("Header version\n");
return -EINVAL;
}