[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC v2 5/8] xen/arm: introduce SCMI-SMC mediator driver


  • To: Julien Grall <julien@xxxxxxx>
  • From: Oleksii Moisieiev <Oleksii_Moisieiev@xxxxxxxx>
  • Date: Mon, 14 Feb 2022 11:13:01 +0000
  • Accept-language: en-US
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=uWaxXS7Z1X7Gxf4sIFuQi9p23QJMjFL2IpMhQlPDNng=; b=Qo2MjaPPKY5TW254dHJcN8tG3f8YQNiH5uE05uAHi7Qo/I7Jq40PSvi/MzEsPf4SHNHvQHp3OwLDqcNnCZIAE4IMmnT9vwlLb1v8EPMgecPe7/r/Uh+cJ4FlJ+6Bq9l9aZ8X2F1SVa9JAsFIz+KCW1GZefke0oPpkKCOlu/x6h0v+Q5cs88Su/6d1yIzCbRtzxcW2SoCI5uff7M3vOQ4VsR70bFDuSs2qbLVjafnfs+0zo1CG5Wxys7ECq7zB+O7MHXtXGb5G4JQVUfDFIosSJKJJOmu3oDIkgqS0tth0zpKy4xNznfW9ZlVd0O4TXyUQNjouey4mIhoxV5IuJ+GNA==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bKopcK520S2aotV2j/zX7iVnd1eVXHiRkIW1bD9cI5fddMntXkUYCDYtdBi66L2Av81fPWWULh5xtWZfGIG7noozTtUHc8YQH/NwZlqKv7jI7CKyZgoZJ0jwYC5cMoorew31XsGNGyt7bqzH5LUBc3jxoFpjkeEdL6HqVR7S+xCGMSFpplGo9+i/MyL9hc5ghPlzfULwO+ajybJhLyxXI8D6b6zoa1PhKNWrXQrPEns9hS2yD2W/xuvMhJPdTPM3L60A8NIWohaaGSnhF5mjGjSgiusZqXVusvP/FQcM5sFRGHd9EF8BdA3sOtbcqmlnJBLldYNObA29J64za8jbtg==
  • Cc: Bertrand Marquis <bertrand.marquis@xxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, Volodymyr Babchuk <Volodymyr_Babchuk@xxxxxxxx>
  • Delivery-date: Mon, 14 Feb 2022 11:13:13 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Thread-index: AQHYHRW24Dmb0qV8ZkqAv39Pf6/nVayODW6AgAAg+ICAAAmzAIABqiEAgAMLQQA=
  • Thread-topic: [RFC v2 5/8] xen/arm: introduce SCMI-SMC mediator driver

Hi Julien,

On Sat, Feb 12, 2022 at 12:43:56PM +0000, Julien Grall wrote:
> Hi,
> 
> On 11/02/2022 11:18, Bertrand Marquis wrote:
> > Do you plan to add support for other boards ?
> > 
> > Did you discuss more in general with the linux kernel guys to see if this
> > approach was agreed and will be adopted by other manufacturers ?
> > 
> > All in all I think this is a good idea but I fear that all this will 
> > actually only
> > be used by one board or one manufacturer and other might use a different
> > strategy, I would like to unrisk this before merging this in Xen.
> 
> In the past we merged code that would only benefits one vendor (i.e. EEMI).
> That said, this was a vendor specific protocol. I believe the situation is
> different here because the spec is meant to be generic.
> 
> > @julien and Stefano: what is your view here ?
> 
> I share the same concerns as you. I think we need to make sure all the
> pieces we rely on (e.g. firmware, DT bindings) have been agreed before we
> can merge such code in Xen.
> 
> The first step is to have all the pieces available in public so they can be
> reviewed and tested together.
> 
> Oleksii, on a separate e-mail, you said you made change for ATF. How much of
> those changes was related to support for Xen? If they are some, then I think
> they should be upstreamed first.
> 

Let me share changes, that were done to AT-F and Linux kernel
device-tree in terms of the SCMI mediator POC.
Changes to the Linux kernel:
https://github.com/oleksiimoisieiev/arm-trusted-firmware/pull/4
Based on renesas-rcar linux-bsp, branch v5.10/rcar-5.0.0.rc5

Changes to AT-F:
https://github.com/oleksiimoisieiev/linux-bsp/pull/3
Based on renesas-rcar/arm-trusted-firmware branch rcar_gen3_v2.5.

All changes that were done are not Xen specific. Given AT-F changes are
the implementation of the SCMI feature using SMC as transport. All
changes were done accoding to the DEN0056C [0] and DEN0028D [1].

We pass channel_id via SMC to the Firmware on r7 bits [15:0] (See Section
4.1 of [1]). Then Firmware converts channel_id to agent_id. Channel_id can't be
equal to agent_id in our case, because, according to the 4.2.2.8 of [0]
- agent_id 0 is reserved to identify platform itself.


[0] https://developer.arm.com/documentation/den0056/latest
[1] https://developer.arm.com/documentation/den0028/latest

Best regards,
Oleksii.


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.