blob: 2a99c54969c662cb6277379cae984cd62599a920 [file] [log] [blame]
Gabor Ambrus867fd332023-08-15 14:43:53 +02001Logging Service
2=================
3The Logging service is intended to be a mechanism that provides a means to print in the context
4of a secure partition. All other secure partitions in a given environment will utilize a
5handler to push any data to this SP. The current default behavior is where the logging service
6will send the data to a UART peripheral viewable by a terminal device (see: :ref:`UART backend`).
7
8In case the logging with the logging SP fails (e.g. in case the logging SP is not deployed, still
9booting, etc.) log messages fall back to the default logging mechanism.
10
11UART backend
12------------
13The UART backend for the logging SP outputs the log messages to an UART device. It relies on an
14UART platform adapter that provides a generic interface to interact with an UART device.
15The exact driver implementation is to be provided by the platform.
16The platform specific driver configuration (base-address) is hosted in the SP manifest.
17Platform code is responsible for reading the config data from the config store upon boot.
18Currently a PL011 driver is provided for the *AEM FVP* platform.
19
20Testing the Logging Service
21-------------------------------
22Component-Level Test Suites
23'''''''''''''''''''''''''''
24The logging components will be targeted by component-test and unit-test cases.
25
26Service-Level Test Suites
27'''''''''''''''''''''''''
28*ts-service-test* may implement logging service calls, although verifying the log messages would
29be difficult, so the scope is limited. (Unit and component test cases can account for this.)
30
31Environment Tests
32'''''''''''''''''
33The logging SP's UART backend relies on the UART peripheral. Test have been added to the
34*env_test* SP deployment to check the basic functionality of the UART device, but the
35verification of the results is not possible, as the peripheral does not provide a way
36(e.g. error bit) to check whether the printing (*putc*) was successful.
37Tests included in the *env_test* SP deployment may be invoked from Linux user-space using the
38*ts-remote-test/arm-linux* deployment.
39
40
41*Copyright (c) 2023, Arm Limited and Contributors. All rights reserved.*
42
43SPDX-License-Identifier: BSD-3-Clause