From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from phobos.denx.de (phobos.denx.de [85.214.62.61]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 69915C0015E for ; Mon, 24 Jul 2023 18:29:43 +0000 (UTC) Received: from h2850616.stratoserver.net (localhost [IPv6:::1]) by phobos.denx.de (Postfix) with ESMTP id 4F81A86398; Mon, 24 Jul 2023 20:29:41 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=u-boot-bounces@lists.denx.de Received: by phobos.denx.de (Postfix, from userid 109) id 2FA7A866AD; Mon, 24 Jul 2023 20:29:39 +0200 (CEST) Received: from foss.arm.com (foss.arm.com [217.140.110.172]) by phobos.denx.de (Postfix) with ESMTP id A233B846EE for ; Mon, 24 Jul 2023 20:29:36 +0200 (CEST) Authentication-Results: phobos.denx.de; dmarc=pass (p=none dis=none) header.from=arm.com Authentication-Results: phobos.denx.de; spf=pass smtp.mailfrom=abdellatif.elkhlifi@arm.com Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 0743FFEC; Mon, 24 Jul 2023 11:30:19 -0700 (PDT) Received: from e130802.arm.com (unknown [10.57.1.215]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id B27443F5A1; Mon, 24 Jul 2023 11:29:34 -0700 (PDT) Date: Mon, 24 Jul 2023 19:29:28 +0100 From: Abdellatif El Khlifi To: trini@konsulko.com Cc: sjg@chromium.org, u-boot@lists.denx.de, nd@arm.com Subject: Re: [PATCH v15 00/10] introduce Arm FF-A support Message-ID: <20230724182928.GA320397@e130802.arm.com> References: <20230710161828.GS148062@bill-the-cat> <20230713132847.176000-1-abdellatif.elkhlifi@arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230713132847.176000-1-abdellatif.elkhlifi@arm.com> X-BeenThere: u-boot@lists.denx.de X-Mailman-Version: 2.1.39 Precedence: list List-Id: U-Boot discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: u-boot-bounces@lists.denx.de Sender: "U-Boot" X-Virus-Scanned: clamav-milter 0.103.8 at phobos.denx.de X-Virus-Status: Clean Hi Tom, Simon, On Thu, Jul 13, 2023 at 02:28:37PM +0100, Abdellatif El Khlifi wrote: > Adding support for Arm FF-A v1.0 (Arm Firmware Framework for Armv8-A) [A]. > > FF-A specifies interfaces that enable a pair of software execution environments aka partitions to > communicate with each other. A partition could be a VM in the Normal or Secure world, an > application in S-EL0, or a Trusted OS in S-EL1. > > FF-A is a discoverable bus and similar to architecture features. > FF-A bus is discovered using ARM_SMCCC_FEATURES mechanism performed > by the PSCI driver. > > => dm tree > > Class Index Probed Driver Name > ----------------------------------------------------------- > ... > firmware 0 [ + ] psci |-- psci > ffa 0 [ ] arm_ffa | `-- arm_ffa > ... > > Clients are able to probe then use the FF-A bus by calling the DM class > searching APIs (e.g: uclass_first_device). > > This implementation of the specification provides support for Aarch64. > > The FF-A driver uses the SMC ABIs defined by the FF-A specification to: > > - Discover the presence of secure partitions (SPs) of interest > - Access an SP's service through communication protocols > (e.g: EFI MM communication protocol) > > The FF-A support provides the following features: > > - Being generic by design and can be used by any Arm 64-bit platform > - FF-A support can be compiled and used without EFI > - Support for SMCCCv1.2 x0-x17 registers > - Support for SMC32 calling convention > - Support for 32-bit and 64-bit FF-A direct messaging > - Support for FF-A MM communication (compatible with EFI boot time) > - Enabling FF-A and MM communication in Corstone1000 platform as a use case > - A Uclass driver providing generic FF-A methods. > - An Arm FF-A device driver providing Arm-specific methods and reusing the Uclass methods. > - A sandbox emulator for Arm FF-A, emulates the FF-A side of the Secure World and provides > FF-A ABIs inspection methods. > - An FF-A sandbox device driver for FF-A communication with the emulated Secure World. > The driver leverages the FF-A Uclass to establish FF-A communication. > - Sandbox FF-A test cases. > - A new command called armffa is provided as an example of how to access the > FF-A bus > > For more details about the FF-A support please refer to [B] and refer to [C] for > how to use the armffa command. > > Please find at [D] an example of the expected boot logs when enabling > FF-A support for a platform. In this example the platform is > Corstone1000. But it can be any Arm 64-bit platform. > > Changelog of changes: > =========================== > > v15: > > Simon: > > * drop commit "log: select physical address formatting in a generic way", > this will be sent as a follow-up commit independently from this patchset > * armffa.c : integrate PHYS_ADDR_LN > * replace FFA_SHARED_MM_BUFFER_* defines with configs > A gentle reminder about this patchset. All remaining comments have been addressed in v15. Cheers Abdellatif