diff mbox series

[6/9] arm/trusted-services: enable the logging SP

Message ID 20250520172748.3439803-6-gyorgy.szing@arm.com
State New
Headers show
Series [1/9] arm/trusted-services: update to newer version | expand

Commit Message

Gyorgy Szing May 20, 2025, 5:27 p.m. UTC
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>
---
 ci/fvp-base-ts.yml                                        | 2 +-
 documentation/trusted-services.md                         | 1 +
 .../trusted-services/ts-sp-logging_%.bbappend             | 1 +
 meta-arm/recipes-security/optee/optee-os-ts.inc           | 7 +++++++
 .../trusted-services/ts-sp-logging_git.bb                 | 8 ++++++++
 meta-arm/recipes-security/trusted-services/ts-uuid.inc    | 1 +
 6 files changed, 19 insertions(+), 1 deletion(-)
 create mode 100644 meta-arm-bsp/recipes-security/trusted-services/ts-sp-logging_%.bbappend
 create mode 100644 meta-arm/recipes-security/trusted-services/ts-sp-logging_git.bb
diff mbox series

Patch

diff --git a/ci/fvp-base-ts.yml b/ci/fvp-base-ts.yml
index 89a3e1f2..62d7995b 100644
--- a/ci/fvp-base-ts.yml
+++ b/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
diff --git a/documentation/trusted-services.md b/documentation/trusted-services.md
index 3dd045c7..8b7f795a 100644
--- a/documentation/trusted-services.md
+++ b/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:
 
diff --git a/meta-arm-bsp/recipes-security/trusted-services/ts-sp-logging_%.bbappend b/meta-arm-bsp/recipes-security/trusted-services/ts-sp-logging_%.bbappend
new file mode 100644
index 00000000..5c9ef210
--- /dev/null
+++ b/meta-arm-bsp/recipes-security/trusted-services/ts-sp-logging_%.bbappend
@@ -0,0 +1 @@ 
+require ts-arm-platforms.inc
diff --git a/meta-arm/recipes-security/optee/optee-os-ts.inc b/meta-arm/recipes-security/optee/optee-os-ts.inc
index 82545ccb..be4bf5bb 100644
--- a/meta-arm/recipes-security/optee/optee-os-ts.inc
+++ b/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)}"
diff --git a/meta-arm/recipes-security/trusted-services/ts-sp-logging_git.bb b/meta-arm/recipes-security/trusted-services/ts-sp-logging_git.bb
new file mode 100644
index 00000000..e40349ae
--- /dev/null
+++ b/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}"
diff --git a/meta-arm/recipes-security/trusted-services/ts-uuid.inc b/meta-arm/recipes-security/trusted-services/ts-uuid.inc
index 810ffa5e..bcf0ee97 100644
--- a/meta-arm/recipes-security/trusted-services/ts-uuid.inc
+++ b/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"