Gabor Ambrus | 867fd33 | 2023-08-15 14:43:53 +0200 | [diff] [blame^] | 1 | Logging Service |
| 2 | ================= |
| 3 | The Logging service is intended to be a mechanism that provides a means to print in the context |
| 4 | of a secure partition. All other secure partitions in a given environment will utilize a |
| 5 | handler to push any data to this SP. The current default behavior is where the logging service |
| 6 | will send the data to a UART peripheral viewable by a terminal device (see: :ref:`UART backend`). |
| 7 | |
| 8 | In case the logging with the logging SP fails (e.g. in case the logging SP is not deployed, still |
| 9 | booting, etc.) log messages fall back to the default logging mechanism. |
| 10 | |
| 11 | UART backend |
| 12 | ------------ |
| 13 | The UART backend for the logging SP outputs the log messages to an UART device. It relies on an |
| 14 | UART platform adapter that provides a generic interface to interact with an UART device. |
| 15 | The exact driver implementation is to be provided by the platform. |
| 16 | The platform specific driver configuration (base-address) is hosted in the SP manifest. |
| 17 | Platform code is responsible for reading the config data from the config store upon boot. |
| 18 | Currently a PL011 driver is provided for the *AEM FVP* platform. |
| 19 | |
| 20 | Testing the Logging Service |
| 21 | ------------------------------- |
| 22 | Component-Level Test Suites |
| 23 | ''''''''''''''''''''''''''' |
| 24 | The logging components will be targeted by component-test and unit-test cases. |
| 25 | |
| 26 | Service-Level Test Suites |
| 27 | ''''''''''''''''''''''''' |
| 28 | *ts-service-test* may implement logging service calls, although verifying the log messages would |
| 29 | be difficult, so the scope is limited. (Unit and component test cases can account for this.) |
| 30 | |
| 31 | Environment Tests |
| 32 | ''''''''''''''''' |
| 33 | The 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 |
| 35 | verification 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. |
| 37 | Tests 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 | |
| 43 | SPDX-License-Identifier: BSD-3-Clause |