Hi Tom, On Wed, Jul 26, 2023 at 03:39:12PM -0400, Tom Rini wrote: > On Wed, Jul 26, 2023 at 10:45:02AM +0100, Abdellatif El Khlifi wrote: > > > Add MM communication support using FF-A transport > > > > This feature allows accessing MM partitions services through > > EFI MM communication protocol. MM partitions such as StandAlonneMM > > or smm-gateway secure partitions which reside in secure world. > > > > An MM shared buffer and a door bell event are used to exchange > > the data. > > > > The data is used by EFI services such as GetVariable()/SetVariable() > > and copied from the communication buffer to the MM shared buffer. > > > > The secure partition is notified about availability of data in the > > MM shared buffer by an FF-A message (door bell). > > > > On such event, MM SP can read the data and updates the MM shared > > buffer with the response data. > > > > The response data is copied back to the communication buffer and > > consumed by the EFI subsystem. > > > > MM communication protocol supports FF-A 64-bit direct messaging. > > > > Signed-off-by: Abdellatif El Khlifi <abdellatif.elkhl...@arm.com> > > Tested-by: Gowtham Suresh Kumar <gowtham.sureshku...@arm.com> > > Reviewed-by: Simon Glass <s...@chromium.org> > > Cc: Tom Rini <tr...@konsulko.com> > > Cc: Ilias Apalodimas <ilias.apalodi...@linaro.org> > > Cc: Jens Wiklander <jens.wiklan...@linaro.org> > > So, at this point in the series we impact lx2160ardb_tfa_stmm which is > the only config in the tree prior to this series that sets > CONFIG_EFI_MM_COMM_TEE. I'm not going to block this series[1] on > updating lx2160ardb_tfa_stmm as well, but I do want to make sure the > maintainers there are aware and can update the config to support the > current state of this technology. > > [1]: https://patchwork.ozlabs.org/project/uboot/list/?series=365876&state=* > --
Following a decision made with Ilias, the new MM comms design works as follows: - Try to communicate using FF-A bus first - If that fails, try to communicate using Optee. So, platforms that don't support FF-A in the Secure side can still use Optee communication This is done through the code below [1]. This logic needs CONFIG_ARM_FFA_TRANSPORT=y in the defconfig. I added CONFIG_ARM_FFA_TRANSPORT=y to lx2160ardb_tfa_stmm_defconfig, CONFIG_EFI_MM_COMM_TEE is enabled and it builds fine. Is it expected that lx2160ardb_tfa_stmm maintainers add CONFIG_ARM_FFA_TRANSPORT=y to lx2160ardb_tfa_stmm_defconfig ? Cheers Abdellatif [1]: Selecting the MM comms method: static efi_status_t mm_communicate(u8 *comm_buf, efi_uintn_t dsize) ... mm_comms = get_mm_comms(); if (mm_comms == MM_COMMS_FFA) ret = ffa_mm_communicate(comm_buf, dsize); else ret = optee_mm_communicate(comm_buf, dsize);