[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Thu, 2 Feb 2023 17:35:49 +0530
From: Sumit Garg <sumit.garg@...aro.org>
To: Masahisa Kojima <masahisa.kojima@...aro.org>
Cc: Ard Biesheuvel <ardb@...nel.org>,
Jens Wiklander <jens.wiklander@...aro.org>,
linux-kernel@...r.kernel.org, op-tee@...ts.trustedfirmware.org,
Ilias Apalodimas <ilias.apalodimas@...aro.org>,
Johan Hovold <johan+linaro@...nel.org>
Subject: Re: [RFC PATCH 0/2] introduce op-tee based EFI Runtime Variable Service
Hi Masahisa,
On Thu, 26 Jan 2023 at 18:52, Masahisa Kojima
<masahisa.kojima@...aro.org> wrote:
>
> This RFC series introduces the op-tee based EFI Runtime Variable
> Service.
>
> The eMMC device is typically owned by the non-secure world(linux in
> this case). There is an existing solution utilizing eMMC RPMB partition
> for EFI Variables, it is implemented by interacting with
> OP-TEE, StandaloneMM(as EFI Variable Service Pseudo TA), eMMC driver
> and tee-supplicant. The last piece is the tee-based variable access
> driver to interact with OP-TEE and StandaloneMM.
>
After an overall look at the APIs, following are some initial comments:
- Is there any reason to have the edk2 specific StandaloneMM stack in
Linux to communicate with OP-TEE pseudo TA?
- I think the OP-TEE pseudo TA should be able to expose a rather
generic invoke commands such as:
TEE_EFI_GET_VARIABLE
TEE_EFI_GET_NEXT_VARIABLE
TEE_EFI_SET_VARIABLE
So it should no longer be tied to StMM stack and other TEE
implementations can re-use the abstracted interface to communicate
with its corresponding secure storage TA.
-Sumit
> Masahisa Kojima (2):
> efi: expose efivar generic ops register function
> tee: Add op-tee helper functions for variable access
>
> drivers/firmware/efi/efi.c | 12 +
> drivers/tee/optee/Kconfig | 10 +
> drivers/tee/optee/Makefile | 1 +
> drivers/tee/optee/mm_communication.h | 249 +++++++++++
> drivers/tee/optee/optee_private.h | 5 +-
> drivers/tee/optee/optee_stmm_efi.c | 598 +++++++++++++++++++++++++++
> drivers/tee/tee_core.c | 23 ++
> include/linux/efi.h | 4 +
> include/linux/tee_drv.h | 23 ++
> 9 files changed, 924 insertions(+), 1 deletion(-)
> create mode 100644 drivers/tee/optee/mm_communication.h
> create mode 100644 drivers/tee/optee/optee_stmm_efi.c
>
> --
> 2.30.2
>
Powered by blists - more mailing lists