lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 26 Oct 2021 10:31:33 +0200 From: Jens Wiklander <jens.wiklander@...aro.org> To: linux-kernel@...r.kernel.org, linux-arm-kernel@...ts.infradead.org, op-tee@...ts.trustedfirmware.org, devicetree@...r.kernel.org, linux-doc@...r.kernel.org Cc: Jerome Forissier <jerome@...issier.org>, Etienne Carriere <etienne.carriere@...aro.org>, Sumit Garg <sumit.garg@...aro.org>, Vincent Guittot <vincent.guittot@...aro.org>, Rob Herring <robh+dt@...nel.org>, Jonathan Corbet <corbet@....net>, Ard Biesheuvel <ardb@...nel.org>, Marc Zyngier <maz@...nel.org>, jens.vankeirsbilck@...euven.be, Jens Wiklander <jens.wiklander@...aro.org> Subject: [PATCH v7 1/6] docs: staging/tee.rst: add a section on OP-TEE notifications Adds a section on notifications used by OP-TEE, synchronous and asynchronous. Reviewed-by: Sumit Garg <sumit.garg@...aro.org> Acked-by: Marc Zyngier <maz@...nel.org> Signed-off-by: Jens Wiklander <jens.wiklander@...aro.org> --- Documentation/staging/tee.rst | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Documentation/staging/tee.rst b/Documentation/staging/tee.rst index 4d4b5f889603..3c63d8dcd61e 100644 --- a/Documentation/staging/tee.rst +++ b/Documentation/staging/tee.rst @@ -184,6 +184,36 @@ order to support device enumeration. In other words, OP-TEE driver invokes this application to retrieve a list of Trusted Applications which can be registered as devices on the TEE bus. +OP-TEE notifications +-------------------- + +There are two kinds of notifications that secure world can use to make +normal world aware of some event. + +1. Synchronous notifications delivered with ``OPTEE_RPC_CMD_NOTIFICATION`` + using the ``OPTEE_RPC_NOTIFICATION_SEND`` parameter. +2. Asynchronous notifications delivered with a combination of a non-secure + edge-triggered interrupt and a fast call from the non-secure interrupt + handler. + +Synchronous notifications are limited by depending on RPC for delivery, +this is only usable when secure world is entered with a yielding call via +``OPTEE_SMC_CALL_WITH_ARG``. This excludes such notifications from secure +world interrupt handlers. + +An asynchronous notification is delivered via a non-secure edge-triggered +interrupt to an interrupt handler registered in the OP-TEE driver. The +actual notification value are retrieved with the fast call +``OPTEE_SMC_GET_ASYNC_NOTIF_VALUE``. Note that one interrupt can represent +multiple notifications. + +One notification value ``OPTEE_SMC_ASYNC_NOTIF_VALUE_DO_BOTTOM_HALF`` has a +special meaning. When this value is received it means that normal world is +supposed to make a yielding call ``OPTEE_MSG_CMD_DO_BOTTOM_HALF``. This +call is done from the thread assisting the interrupt handler. This is a +building block for OP-TEE OS in secure world to implement the top half and +bottom half style of device drivers. + AMD-TEE driver ============== -- 2.31.1
Powered by blists - more mailing lists