OPTEE-OS-STM32MP: update to 3.12.0-stm32mp-r2

Change-Id: I1d89f5a83206c113324d6b0805a0ea80fdb0d586
Signed-off-by: Romuald JEANNE <romuald.jeanne@st.com>
This commit is contained in:
Lionel VITTE 2021-11-16 09:01:08 +01:00
parent e5f63e6e86
commit 6a533bb262
5 changed files with 2324 additions and 6 deletions

View File

@ -29,7 +29,7 @@ LDFLAGS =
CFLAGS =
CPPFLAGS =
# Define default make options
EXTRA_OEMAKE = $(echo "${EXTRA_OEMAKE}" | sed "s|LIBGCC_LOCATE_CFLAGS=[^ ]* |LIBGCC_LOCATE_CFLAGS=\$(KCFLAGS) |;s|comp-cflagscore='[^']*'|comp-cflagscore='\$(KCFLAGS)'|")
EXTRA_OEMAKE = $(echo "${EXTRA_OEMAKE}" | sed "s|LIBGCC_LOCATE_CFLAGS=[^ ]* |LIBGCC_LOCATE_CFLAGS=\$(KCFLAGS) |")
ifeq (\$(ENABLE_FIP), 0)
EXTRA_OEMAKE += CFG_STM32MP15x_STM32IMAGE=y
endif

View File

@ -26,7 +26,6 @@ EXTRA_OEMAKE += "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'CFG_ARM64_cor
EXTRA_OEMAKE += "NOWERROR=1"
EXTRA_OEMAKE += "LDFLAGS="
EXTRA_OEMAKE += "LIBGCC_LOCATE_CFLAGS=--sysroot=${STAGING_DIR_TARGET}"
EXTRA_OEMAKE += "comp-cflagscore='--sysroot=${STAGING_DIR_TARGET}'"
EXTRA_OEMAKE += "${@bb.utils.contains('MACHINE_FEATURES', 'fip', '', 'CFG_STM32MP15x_STM32IMAGE=y', d)}"
# debug and trace
@ -44,7 +43,13 @@ do_compile() {
unset -v CFLAGS CPPFLAGS LDFLAGS LDADD
if [ -n "${OPTEE_CONF}" ]; then
for conf in ${OPTEE_CONF}; do
oe_runmake -C ${S} O=${B}/${conf} CFG_EMBED_DTB_SOURCE_FILE=${conf}.dts
for soc in ${STM32MP_SOC_NAME}; do
if [ "$(echo ${conf} | grep -c ${soc})" -eq 1 ]; then
soc_extra="$(echo CFG_${soc} | awk '{print toupper($0)}')=y"
fi
done
oe_runmake -C ${S} O=${B}/${conf} CFG_EMBED_DTB_SOURCE_FILE=${conf}.dts ${soc_extra}
done
else
oe_runmake -C ${S} O=${B}/out

View File

@ -7,11 +7,13 @@ SRCREV = "3d47a131bca1d9ed511bfd516aa5e70269e12c1d"
SRC_URI += " \
file://0001-3.12.0-stm32mp-r1.patch \
file://0002-3.12.0-stm32mp-r1.1-rc1.patch \
file://0003-3.12.0-stm32mp-r2.patch \
"
OPTEE_VERSION = "3.12.0"
OPTEE_SUBVERSION = "stm32mp"
OPTEE_RELEASE = "r1"
OPTEE_RELEASE = "r2"
PV = "${OPTEE_VERSION}-${OPTEE_SUBVERSION}-${OPTEE_RELEASE}"
@ -30,7 +32,6 @@ OPTEEMACHINE_stm32mp1common = "stm32mp1"
OPTEEOUTPUTMACHINE ?= "stm32mp1"
OPTEEOUTPUTMACHINE_stm32mp1common = "stm32mp1"
# The package is empty but must be generated to avoid apt-get installation issue
ALLOW_EMPTY_${PN} = "1"
@ -47,7 +48,7 @@ include ${@oe.utils.ifelse(d.getVar('ST_ARCHIVER_ENABLE') == '1', 'optee-os-stm3
BBCLASSEXTEND = "devupstream:target"
SRC_URI_class-devupstream = "git://github.com/STMicroelectronics/optee_os.git;protocol=https;branch=${ARCHIVER_ST_BRANCH}"
SRCREV_class-devupstream = "0bd33404e9581d00514034b7b05a2cbe8649c1fd"
SRCREV_class-devupstream = "639a8566de8fa720d2cb7ab7231e8de105e7859d"
# ---------------------------------
# Configure default preference to manage dynamic selection between tarball and github

View File

@ -0,0 +1,61 @@
From 4a99b2016fd0a2e207395da314a3c903c2e65c08 Mon Sep 17 00:00:00 2001
From: Romuald JEANNE <romuald.jeanne@st.com>
Date: Wed, 2 Jun 2021 16:53:20 +0200
Subject: [PATCH 2/3] 3.12.0-stm32mp-r1.1-rc1
---
core/arch/arm/plat-stm32mp1/remoteproc_pta.c | 9 +++------
core/drivers/clk/clk-stm32mp15.c | 2 +-
core/drivers/stm32_bsec.c | 2 +-
3 files changed, 5 insertions(+), 8 deletions(-)
diff --git a/core/arch/arm/plat-stm32mp1/remoteproc_pta.c b/core/arch/arm/plat-stm32mp1/remoteproc_pta.c
index 27b0dfa07..8f3360122 100644
--- a/core/arch/arm/plat-stm32mp1/remoteproc_pta.c
+++ b/core/arch/arm/plat-stm32mp1/remoteproc_pta.c
@@ -492,13 +492,10 @@ static TEE_Result
TEE_Param params[TEE_NUM_PARAMS] __unused,
void **sess_ctx __unused)
{
- struct tee_ta_session *s = tee_ta_get_calling_session();
+ struct ts_session *s = ts_get_calling_session();
- /* Check that we're called from a user TA */
- if (!s)
- return TEE_ERROR_ACCESS_DENIED;
-
- if (!is_user_ta_ctx(s->ctx))
+ /* TODO: check that we're called the remove proc TA (check UUID) */
+ if (!s || !is_user_ta_ctx(s->ctx))
return TEE_ERROR_ACCESS_DENIED;
return TEE_SUCCESS;
diff --git a/core/drivers/clk/clk-stm32mp15.c b/core/drivers/clk/clk-stm32mp15.c
index 794fd5e75..6bbab8902 100644
--- a/core/drivers/clk/clk-stm32mp15.c
+++ b/core/drivers/clk/clk-stm32mp15.c
@@ -962,7 +962,7 @@ static unsigned long __clk_get_parent_rate(enum stm32mp1_parent_id p)
unsigned long clock = 0;
vaddr_t rcc_base = stm32_rcc_base();
- switch (p) {
+ switch ((unsigned int)p) {
case _CK_MPU:
/* MPU sub system */
reg = io_read32(rcc_base + RCC_MPCKSELR);
diff --git a/core/drivers/stm32_bsec.c b/core/drivers/stm32_bsec.c
index 7d389a061..a8eba5f7d 100644
--- a/core/drivers/stm32_bsec.c
+++ b/core/drivers/stm32_bsec.c
@@ -646,7 +646,7 @@ static void bsec_dt_otp_nsec_access(void *fdt, int bsec_node)
size = length / sizeof(uint32_t);
- if (otp_id + size > STM32MP1_OTP_MAX_ID)
+ if (otp_id + size > OTP_MAX_SIZE)
panic("OTP range oversized");
for (i = otp_id; i < otp_id + size; i++)
--
2.17.1

File diff suppressed because it is too large Load Diff