[PATCH 0/8] optee: add bidirectional communication support
Sascha Hauer
sha at pengutronix.de
Fri Dec 1 02:39:50 PST 2023
On Mon, Nov 27, 2023 at 07:35:51AM +0100, Ahmad Fatoum wrote:
> So far, barebox interaction by OP-TEE was limited to loading it and
> maybe passing along its device tree fixup. In some scenarios, there
> is a lot more that could need to be done however:
>
> - Access to eMMC RPMB memory
> - Access to keys stored in OP-TEE, e.g. in Trusted Keys TA or
> in fTPM
> - Access to hardware managed by OP-TEE via e.g. PRNG TA
>
> Let's prepare for all that by importing the Linux v6.6 OP-TEE support
> into barebox. This series has been tested on STM3MP15 and STM32MP13
> 32-bit ARM SoCs, where OP-TEE functioned as SCMI provider, restricting
> access to some clocks, resets and regulators deemed too important to
> let pesky normal world have direct access to them.
>
> Ahmad Fatoum (5):
> driver: don't clear unrelated struct device_node::device on unregister
> deep-probe: don't panic when device can't be created
> deep-probe: skip on-demand platform dev creation for nodes without
> compatible
> devinfo: indicate if device tree nodes are differently populated
> hw_random: add implementation for OP-TEE RNG pseudo TA
>
> Marc Kleine-Budde (3):
> include: uaccess.h: import from linux
> optee: add bidirectional communication support
> optee: add experimental support for /dev/tee0
Applied, thanks
Sascha
>
> commands/devinfo.c | 13 +-
> common/Kconfig | 5 +
> drivers/Kconfig | 1 +
> drivers/Makefile | 2 +-
> drivers/base/driver.c | 7 +-
> drivers/hw_random/Kconfig | 9 +
> drivers/hw_random/Makefile | 1 +
> drivers/hw_random/optee-rng.c | 302 ++++++++++
> drivers/of/platform.c | 13 +-
> drivers/tee/Kconfig | 17 +
> drivers/tee/Makefile | 5 +
> drivers/tee/optee/Kconfig | 29 +
> drivers/tee/optee/Makefile | 8 +
> drivers/tee/optee/call.c | 239 ++++++++
> drivers/tee/optee/core.c | 68 +++
> drivers/tee/optee/device.c | 174 ++++++
> drivers/tee/optee/{of.c => of_fixup.c} | 0
> drivers/tee/optee/optee_msg.h | 295 +++++++++
> drivers/tee/optee/optee_private.h | 179 ++++++
> drivers/tee/optee/optee_smc.h | 473 +++++++++++++++
> drivers/tee/optee/rpc.c | 16 +
> drivers/tee/optee/smc_abi.c | 748 +++++++++++++++++++++++
> drivers/tee/tee_core.c | 801 +++++++++++++++++++++++++
> drivers/tee/tee_private.h | 50 ++
> drivers/tee/tee_shm.c | 338 +++++++++++
> include/asm-generic/uaccess.h | 205 +++++++
> include/linux/mod_devicetable.h | 10 +
> include/linux/tee_drv.h | 418 +++++++++++++
> include/linux/uaccess.h | 38 ++
> include/uapi/linux/tee.h | 407 +++++++++++++
> 30 files changed, 4860 insertions(+), 11 deletions(-)
> create mode 100644 drivers/hw_random/optee-rng.c
> create mode 100644 drivers/tee/Kconfig
> create mode 100644 drivers/tee/Makefile
> create mode 100644 drivers/tee/optee/Kconfig
> create mode 100644 drivers/tee/optee/Makefile
> create mode 100644 drivers/tee/optee/call.c
> create mode 100644 drivers/tee/optee/core.c
> create mode 100644 drivers/tee/optee/device.c
> rename drivers/tee/optee/{of.c => of_fixup.c} (100%)
> create mode 100644 drivers/tee/optee/optee_msg.h
> create mode 100644 drivers/tee/optee/optee_private.h
> create mode 100644 drivers/tee/optee/optee_smc.h
> create mode 100644 drivers/tee/optee/rpc.c
> create mode 100644 drivers/tee/optee/smc_abi.c
> create mode 100644 drivers/tee/tee_core.c
> create mode 100644 drivers/tee/tee_private.h
> create mode 100644 drivers/tee/tee_shm.c
> create mode 100644 include/asm-generic/uaccess.h
> create mode 100644 include/linux/tee_drv.h
> create mode 100644 include/linux/uaccess.h
> create mode 100644 include/uapi/linux/tee.h
>
> --
> 2.39.2
>
>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list