Browse Source

arm/trusted-services: enable the logging SP

The logging service provides an SPMC agonistic to create log messages.
The current version will simply dump the incoming log messages to a
setial line. Future versions could provide access to log messages from
the NWd, could encrypt the essages and perform more efficient when
logging large messages.

This change enables the logging SP on the fvp_base platform. All log
messages made by SPs after the boot phase will be sent to UART3.

Signed-off-by: Gyorgy Szing <gyorgy.szing@arm.com>
Signed-off-by: Jon Mason <jon.mason@arm.com>
Gyorgy Szing 1 week ago
parent
commit
ca9e119083

+ 1 - 1
ci/fvp-base-ts.yml

@@ -14,7 +14,7 @@ local_conf_header:
     # Include all Secure Partitions into the image
     MACHINE_FEATURES:append = " arm-ffa ts-crypto ts-storage ts-its"
     MACHINE_FEATURES:append = " ts-attestation ts-smm-gateway optee-spmc-test"
-    MACHINE_FEATURES:append = " ts-block-storage ts-fwu"
+    MACHINE_FEATURES:append = " ts-block-storage ts-fwu ts-logging"
     MACHINE_FEATURES:append = " arm-branch-protection"
     SMMGW_AUTH_VAR = "1"
     # Include TS demo/test tools into image

+ 1 - 0
documentation/trusted-services.md

@@ -24,6 +24,7 @@ features for each [Secure Partition][^2] you would like to include:
 | se-proxy          | ts-se-proxy     |
 | smm-gateway       | ts-smm-gateway  |
 | spm-test[1-4]     | optee-spmc-test |
+| Logging           | ts-logging      |
 
 Other steps depend on your machine/platform definition:
 

+ 1 - 0
meta-arm-bsp/recipes-security/trusted-services/ts-sp-logging_%.bbappend

@@ -0,0 +1 @@
+require ts-arm-platforms.inc

+ 7 - 0
meta-arm/recipes-security/optee/optee-os-ts.inc

@@ -80,6 +80,13 @@ DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-block-storage',
 SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-block-storage', \
                                         ' ${TS_BIN}/${BLOCK_STORAGE_UUID}${SP_EXT}', '', d)}"
 
+# Logging SP
+DEPENDS:append  = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-logging', \
+                                        ' ts-sp-logging', '' , d)}"
+SP_PATHS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'ts-logging', \
+                                        ' ${TS_BIN}/${LOGGING_SP_UUID}${SP_EXT}', '', d)}"
+
+
 EXTRA_OEMAKE:append = "${@oe.utils.conditional('SP_PATHS', '', '', \
                         ' CFG_MAP_EXT_DT_SECURE=y CFG_SECURE_PARTITION=y \
                          SP_PATHS="${SP_PATHS}" ', d)}"

+ 8 - 0
meta-arm/recipes-security/trusted-services/ts-sp-logging_git.bb

@@ -0,0 +1,8 @@
+DESCRIPTION = "Trusted Services logging service provider"
+
+require ts-sp-common.inc
+
+SP_UUID = "${LOGGING_SP_UUID}"
+TS_SP_LOGGING_CONFIG ?= "default"
+
+OECMAKE_SOURCEPATH="${S}/deployments/logging/config/${TS_SP_LOGGING_CONFIG}-${TS_ENV}"

+ 1 - 0
meta-arm/recipes-security/trusted-services/ts-uuid.inc

@@ -13,3 +13,4 @@ SPM_TEST3_UUID   = "23eb0100-e32a-4497-9052-2f11e584afa6"
 SPM_TEST4_UUID   = "423762ed-7772-406f-99d8-0c27da0abbf8"
 FWU_UUID         = "6823a838-1b06-470e-9774-0cce8bfb53fd"
 BLOCK_STORAGE_UUID = "63646e80-eb52-462f-ac4f-8cdf3987519c"
+LOGGING_SP_UUID  = "da9dffbd-d590-40ed-975f-19c65a3d52d3"