summaryrefslogtreecommitdiffstats
path: root/meta-ti-bsp/recipes-security
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denys@konsulko.com>2023-05-11 18:43:00 +0000
committerRyan Eatmon <reatmon@ti.com>2023-05-11 14:27:59 -0500
commit55c90c0aae7aebfddb55f38d93402df38172ff57 (patch)
tree54a35ff410b2d3b13fdb349f891e60e2d296d8a7 /meta-ti-bsp/recipes-security
parent24e9324551ecd853b7fa5326fadface547b96652 (diff)
downloadmeta-ti-55c90c0aae7aebfddb55f38d93402df38172ff57.tar.gz
optee-os: only activate customizations for TI platforms
Avoid inheriting ti-secdev class and adding unconditional dependency on TI_SECURE_DEV_PKG and other variables, when meta-ti-bsp is in the bblayers.conf stack, but not building for TI platforms. This solves yocto-check-layer signature test for Yocto Project compliance. Signed-off-by: Denys Dmytriyenko <denys@konsulko.com> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Diffstat (limited to 'meta-ti-bsp/recipes-security')
-rw-r--r--meta-ti-bsp/recipes-security/optee/optee-os-ti.inc114
-rw-r--r--meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend116
2 files changed, 117 insertions, 113 deletions
diff --git a/meta-ti-bsp/recipes-security/optee/optee-os-ti.inc b/meta-ti-bsp/recipes-security/optee/optee-os-ti.inc
new file mode 100644
index 00000000..4f052996
--- /dev/null
+++ b/meta-ti-bsp/recipes-security/optee/optee-os-ti.inc
@@ -0,0 +1,114 @@
1# Use TI SECDEV for signing
2inherit ti-secdev
3
4EXTRA_OEMAKE:append:k3 = "${@ ' CFG_CONSOLE_UART='+ d.getVar('OPTEE_K3_USART') if d.getVar('OPTEE_K3_USART') else ''}"
5
6EXTRA_OEMAKE:append:am62xx = " CFG_WITH_SOFTWARE_PRNG=y CFG_TEE_CORE_LOG_LEVEL=1"
7EXTRA_OEMAKE:append:am62axx = " CFG_TEE_CORE_LOG_LEVEL=1"
8
9do_compile:append:k3() {
10 cp ${B}/core/tee-pager_v2.bin ${B}/bl32.bin
11 cp ${B}/core/tee-pager_v2.bin ${B}/bl32.bin.unsigned
12 cp ${B}/core/tee.elf ${B}/bl32.elf
13}
14
15# Signing procedure for legacy HS devices
16optee_sign_legacyhs() {
17 ( cd ${B}/core/; \
18 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh tee.bin tee.bin.signed; \
19 normfl=`echo ${OPTEEFLAVOR} | tr "_" "-"`
20 mv tee.bin.signed ${B}/$normfl.optee; \
21 )
22
23 if [ "${OPTEEPAGER}" = "y" ]; then
24 oe_runmake -C ${S} clean
25 oe_runmake -C ${S} all CFG_TEE_TA_LOG_LEVEL=0 CFG_WITH_PAGER=y
26 ( cd ${B}/core/; \
27 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh tee.bin tee.bin.signed; \
28 normfl=`echo ${OPTEEFLAVOR} | tr "_" "-"`
29 mv tee.bin.signed ${B}/$normfl-pager.optee; \
30 )
31 fi
32}
33
34do_compile:append:ti43x() {
35 optee_sign_legacyhs
36}
37
38do_compile:append:dra7xx() {
39 optee_sign_legacyhs
40}
41
42# Signing procedure for K3 devices
43optee_sign_k3hs() {
44 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${B}/core/tee-pager_v2.bin ${B}/bl32.bin
45 cp ${B}/core/tee-pager_v2.bin ${B}/bl32.bin.unsigned
46 cp ${B}/core/tee.elf ${B}/bl32.elf
47}
48
49do_compile:append:am65xx-hs-evm() {
50 optee_sign_k3hs
51}
52
53do_compile:append:am64xx-evm() {
54 optee_sign_k3hs
55}
56
57do_compile:append:am62xx-evm() {
58 optee_sign_k3hs
59}
60
61do_compile:append:am62xx-lp-evm() {
62 optee_sign_k3hs
63}
64
65do_compile:append:am62axx-evm() {
66 optee_sign_k3hs
67}
68
69do_compile:append:j721e-hs-evm() {
70 optee_sign_k3hs
71}
72
73do_compile:append:j7200-hs-evm() {
74 optee_sign_k3hs
75}
76
77do_compile:append:j721s2-hs-evm() {
78 optee_sign_k3hs
79}
80
81do_compile:append:j784s4-hs-evm() {
82 optee_sign_k3hs
83}
84
85do_install:append:ti-soc() {
86 install -m 644 ${B}/*.optee ${D}${nonarch_base_libdir}/firmware/ || true
87 install -m 644 ${B}/bl32.bin ${D}${nonarch_base_libdir}/firmware/ || true
88 install -m 644 ${B}/bl32.bin.unsigned ${D}${nonarch_base_libdir}/firmware/ || true
89 install -m 644 ${B}/bl32.elf ${D}${nonarch_base_libdir}/firmware/ || true
90}
91
92optee_deploy_legacyhs() {
93 cd ${DEPLOYDIR}/
94 for f in optee/*.optee; do
95 ln -sf $f ${DEPLOYDIR}/
96 done
97}
98
99do_deploy:append:ti43x() {
100 optee_deploy_legacyhs
101}
102
103do_deploy:append:dra7xx() {
104 optee_deploy_legacyhs
105}
106
107do_deploy:append:k3() {
108 ln -sf optee/bl32.bin ${DEPLOYDIR}/
109 ln -sf optee/bl32.bin.unsigned ${DEPLOYDIR}/
110 ln -sf optee/bl32.elf ${DEPLOYDIR}/
111}
112
113# This is needed for bl32.elf
114INSANE_SKIP:${PN}:append:k3 = " textrel"
diff --git a/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend b/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend
index 4f052996..0067cdc7 100644
--- a/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend
+++ b/meta-ti-bsp/recipes-security/optee/optee-os_%.bbappend
@@ -1,114 +1,4 @@
1# Use TI SECDEV for signing 1OPTEE_TI = ""
2inherit ti-secdev 2OPTEE_TI:ti-soc = "optee-os-ti.inc"
3 3
4EXTRA_OEMAKE:append:k3 = "${@ ' CFG_CONSOLE_UART='+ d.getVar('OPTEE_K3_USART') if d.getVar('OPTEE_K3_USART') else ''}" 4require ${OPTEE_TI}
5
6EXTRA_OEMAKE:append:am62xx = " CFG_WITH_SOFTWARE_PRNG=y CFG_TEE_CORE_LOG_LEVEL=1"
7EXTRA_OEMAKE:append:am62axx = " CFG_TEE_CORE_LOG_LEVEL=1"
8
9do_compile:append:k3() {
10 cp ${B}/core/tee-pager_v2.bin ${B}/bl32.bin
11 cp ${B}/core/tee-pager_v2.bin ${B}/bl32.bin.unsigned
12 cp ${B}/core/tee.elf ${B}/bl32.elf
13}
14
15# Signing procedure for legacy HS devices
16optee_sign_legacyhs() {
17 ( cd ${B}/core/; \
18 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh tee.bin tee.bin.signed; \
19 normfl=`echo ${OPTEEFLAVOR} | tr "_" "-"`
20 mv tee.bin.signed ${B}/$normfl.optee; \
21 )
22
23 if [ "${OPTEEPAGER}" = "y" ]; then
24 oe_runmake -C ${S} clean
25 oe_runmake -C ${S} all CFG_TEE_TA_LOG_LEVEL=0 CFG_WITH_PAGER=y
26 ( cd ${B}/core/; \
27 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh tee.bin tee.bin.signed; \
28 normfl=`echo ${OPTEEFLAVOR} | tr "_" "-"`
29 mv tee.bin.signed ${B}/$normfl-pager.optee; \
30 )
31 fi
32}
33
34do_compile:append:ti43x() {
35 optee_sign_legacyhs
36}
37
38do_compile:append:dra7xx() {
39 optee_sign_legacyhs
40}
41
42# Signing procedure for K3 devices
43optee_sign_k3hs() {
44 ${TI_SECURE_DEV_PKG}/scripts/secure-binary-image.sh ${B}/core/tee-pager_v2.bin ${B}/bl32.bin
45 cp ${B}/core/tee-pager_v2.bin ${B}/bl32.bin.unsigned
46 cp ${B}/core/tee.elf ${B}/bl32.elf
47}
48
49do_compile:append:am65xx-hs-evm() {
50 optee_sign_k3hs
51}
52
53do_compile:append:am64xx-evm() {
54 optee_sign_k3hs
55}
56
57do_compile:append:am62xx-evm() {
58 optee_sign_k3hs
59}
60
61do_compile:append:am62xx-lp-evm() {
62 optee_sign_k3hs
63}
64
65do_compile:append:am62axx-evm() {
66 optee_sign_k3hs
67}
68
69do_compile:append:j721e-hs-evm() {
70 optee_sign_k3hs
71}
72
73do_compile:append:j7200-hs-evm() {
74 optee_sign_k3hs
75}
76
77do_compile:append:j721s2-hs-evm() {
78 optee_sign_k3hs
79}
80
81do_compile:append:j784s4-hs-evm() {
82 optee_sign_k3hs
83}
84
85do_install:append:ti-soc() {
86 install -m 644 ${B}/*.optee ${D}${nonarch_base_libdir}/firmware/ || true
87 install -m 644 ${B}/bl32.bin ${D}${nonarch_base_libdir}/firmware/ || true
88 install -m 644 ${B}/bl32.bin.unsigned ${D}${nonarch_base_libdir}/firmware/ || true
89 install -m 644 ${B}/bl32.elf ${D}${nonarch_base_libdir}/firmware/ || true
90}
91
92optee_deploy_legacyhs() {
93 cd ${DEPLOYDIR}/
94 for f in optee/*.optee; do
95 ln -sf $f ${DEPLOYDIR}/
96 done
97}
98
99do_deploy:append:ti43x() {
100 optee_deploy_legacyhs
101}
102
103do_deploy:append:dra7xx() {
104 optee_deploy_legacyhs
105}
106
107do_deploy:append:k3() {
108 ln -sf optee/bl32.bin ${DEPLOYDIR}/
109 ln -sf optee/bl32.bin.unsigned ${DEPLOYDIR}/
110 ln -sf optee/bl32.elf ${DEPLOYDIR}/
111}
112
113# This is needed for bl32.elf
114INSANE_SKIP:${PN}:append:k3 = " textrel"