Message ID | 20210203152111.1972017-1-mr.nuke.me@gmail.com |
---|---|
State | Superseded |
Delegated to: | Patrick Delaunay |
Headers | show |
Series | [1/5] spl: mmc: Support OP-TEE payloads in Falcon mode | expand |
On Wed, Feb 03, 2021 at 09:21:07AM -0600, Alexandru Gagniuc wrote: > In general, Falcon mode means we're booting a linux kernel directly. > With FIT images, however, an OP-TEE secure kernel can be booted before > linux. Thus, if the next stage is an IH_OS_TEE, this isn't necessarily > a problem. > > Of course, a general solution would involve mmc_load_image_raw_os() > only loading the binary, and leaving the decision of suitability to > someone else. However, a rework of the boot flow is beyond the scope > of this patch. Accept IH_OS_TEE as a valid OS value. > > Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Reviewed-by: Tom Rini <trini@konsulko.com>
diff --git a/common/spl/spl_mmc.c b/common/spl/spl_mmc.c index add2785b4e..bab558d055 100644 --- a/common/spl/spl_mmc.c +++ b/common/spl/spl_mmc.c @@ -230,8 +230,10 @@ static int mmc_load_image_raw_os(struct spl_image_info *spl_image, if (ret) return ret; - if (spl_image->os != IH_OS_LINUX) { - puts("Expected Linux image is not found. Trying to start U-boot\n"); + if (spl_image->os != IH_OS_LINUX && spl_image->os != IH_OS_TEE) { + puts("Expected OS image is not found. Instead found "); + puts(genimg_get_os_name(spl_image->os)); + puts(". Trying to start U-boot\n"); return -ENOENT; }
In general, Falcon mode means we're booting a linux kernel directly. With FIT images, however, an OP-TEE secure kernel can be booted before linux. Thus, if the next stage is an IH_OS_TEE, this isn't necessarily a problem. Of course, a general solution would involve mmc_load_image_raw_os() only loading the binary, and leaving the decision of suitability to someone else. However, a rework of the boot flow is beyond the scope of this patch. Accept IH_OS_TEE as a valid OS value. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> --- common/spl/spl_mmc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)