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

Re: [PATCH v2 00/12] xen/arm: ffa: FF-A v1.2 support


  • To: Julien Grall <julien@xxxxxxx>, Michal Orzel <michal.orzel@xxxxxxx>
  • From: Bertrand Marquis <Bertrand.Marquis@xxxxxxx>
  • Date: Thu, 8 Jan 2026 07:59:01 +0000
  • Accept-language: en-GB, en-US
  • Arc-authentication-results: i=2; mx.microsoft.com 1; spf=pass (sender ip is 4.158.2.129) smtp.rcpttodomain=xen.org smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=pass (signature was verified) header.d=arm.com; arc=pass (0 oda=1 ltdi=1 spf=[1,1,smtp.mailfrom=arm.com] dkim=[1,1,header.d=arm.com] dmarc=[1,1,header.from=arm.com])
  • Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none
  • Arc-message-signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=2Jl/nn6qt/nzdN9u1StQlIPKyXWCbxTkqoe0eDWh5MM=; b=bXQw3Sq0a3GiF0xU9KckHw1Lt76m8HowYsMDLFB8DUivZArNHzY/stoD2qAWHs8sc39HdHAuztdy7y705rQF843o8EYY3vi7Ehgn8c4/rGQgsn/CHgxxbSnENfBqlBCr7WtQ51VBy5pCbQGgyqHlIgzmeuOt9Dagm2yCigApAGnif/tsmZ6Nope3xYOdisfw/3pui7d5rycHIqg4/9n0BZsKgp9PXLRYO+pmlK8nOHBOwi2h/qki5yIaTDp/TUAm5oSs/76sjULBFCFjDVf/0UVbzIC48xuf4hk2TZu/TJkfxZ0LBeXxMDpOqvZOZQW8dw4VpfxWWLFOKxVmlOVyEQ==
  • Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=2Jl/nn6qt/nzdN9u1StQlIPKyXWCbxTkqoe0eDWh5MM=; b=nTE/GEj7/aIiU6OBlC51m0NrmULaAA6Zy12IWr9T5Crs5NxTFB1bbgH3P4I8qeGs6iI3ftnV+jJObgaVx4+VWJ22omRtWNrKg1dYs2ADDlfWwR7TAzEDwlMidGnniQbFaCoDjNT+5iLXaOn+aipT74wS0sP5wU5YBMyUSRgk+jJ/R5lrudgrP361MEYcXM4CMMAm7cg3oGlElLIg5Gk968RbyAkDJU5zzPfDSwsYKXHSa6awqhJUGnapTRdL1OOIUIiZlfRZJ4dWLWxcNXJ3OJwhyiailhyQ9LQKUT/ebqriqsRPm4pCPJTxGVnBALzp17WlCdmy5gvPlNcEgdWxWw==
  • Arc-seal: i=2; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=pass; b=VL9REVPG5Fsqj802+Qp4K42959tpu02kVZ7wCWYUNlAfmP5WjEWOOfaQYRpA+lLrCwuc1eNkdi8RpWfCIq/MitNHTiO951O7vlDLamvkk+eymYUfIPenPBbmBunlANE80nkJXFajgJKStf3tykBRN973YOC0NPXANDuSDVpNiL4vEEFBx+ZM+jmDlKOdRUnio7QH/cXtbBhJbIpohCzxRhnm5JyfpqQgUiAGB8WWWobsxQkgNMenRburyDKGmzCFcF3PW2jCtyIXGLu3B6xhLGF43pw9RrW6dviHXmBE9xFovfjNwJ6l4IQmx08ma3rfoKyNHLUwUrlznw9AaguOig==
  • Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SP4zfYJbdMbfgBxZ/AkCw2SUL6G5vhz8TI7+ryB0wIogc/uGACHkj7we/uZyx2lhHxHOZT2ysqglbu4tmSL2YHrwKLEtT9sNKfDhGeCCUoOwX4jeb4/cgWPTDKdohdfEqod6CPW8p4hug2WQnK00o+6pwghP/KQjUv50CIUXExe7XOwhpYX3gJRZFU63idWSw3I1mI6rEAmoGMY85JVr7+wxE+XKqYY+4zcs9/IENd94HNzlcxPccKCUL5/sLMRmCyFNc3fHHAnZx0WprKTapsazbveaL0IPcQP+F1B/8sVp9sl7PjgYo2uqOu7ltMU3YE8/nfpdAHrZDDUjk3jp/Q==
  • Authentication-results-original: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=arm.com;
  • Cc: "jens.wiklander@xxxxxxxxxx" <jens.wiklander@xxxxxxxxxx>, Volodymyr Babchuk <volodymyr_babchuk@xxxxxxxx>, Stefano Stabellini <sstabellini@xxxxxxxxxx>, "xen-devel@xxxxxxxxxxxxxxxxxxxx" <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • Delivery-date: Thu, 08 Jan 2026 08:00:19 +0000
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
  • Nodisclaimer: true
  • Thread-index: AQHcbdIZ54xp46f98kibMufFF0ZVibVIDZyA
  • Thread-topic: [PATCH v2 00/12] xen/arm: ffa: FF-A v1.2 support

Hi,

Gentle ping: This serie has been fully reviewed by Jens and would need a 
maintainer ack or review.

Cheers
Bertrand

> On 15 Dec 2025, at 15:49, Bertrand Marquis <Bertrand.Marquis@xxxxxxx> wrote:
> 
> This series updates Xen’s FF-A mediator on Arm to implement the FF-A
> v1.2 interface while keeping existing v1.0/v1.1 guests working.
> 
> Patches 1–7 rework the low-level plumbing:
> 
>  1) add the FF-A v1.2 function IDs and probe the new ABIs
>  2) track per-VM FFA_VERSION state and enforce negotiation
>  3) Fix is_64bit initialisation
>  4) harden RX/TX mapping and validation
>  5) rework SPMC RX/TX buffer management so access is serialized and
>     RX buffers are always released back to the SPMC
>  6) rework VM RX/TX buffer to have generic acquire/release function
>     equivalent to SPMC access functions
>  7) switch the mediator to spec-compliant signed 32-bit status codes
> 
> Patches 8–11 update the data structures and direct-call paths:
> 
>  8) add ffa_uuid helpers and rework partition-info handling
>  9) add FFA_RUN support
>  10) add the v1.1/v1.2 SEND2 header layout
>  11) add MSG_SEND_DIRECT_REQ2/RESP2 support and marshal the extended
>     register set for v1.2 guests
> 
> Patch 12 tightens the dispatcher and advertises FF-A v1.2:
> 
>  - reject SMCCC64 calls from AArch32 guests
>  - expose RX/TX capacity fields
>  - bump Xen's FF-A version to 1.2 once the implementation is complete
> 
> v1.0/v1.1 guests continue to use the v1.1 ABI without behaviour changes,
> while v1.2 guests can negotiate the wider ABI and use RUN, SEND2, and
> DIRECT_REQ2/RESP2 with the extended register set.
> 
> This serie was validated through gitlab-ci here:
> https://gitlab.com/xen-project/people/bmarquis/xen-ffa-research/-/tree/ffa-v1.2/v2
> Build pipeline for the serie:
> https://gitlab.com/xen-project/people/bmarquis/xen-ffa-research/-/pipelines/2215466965
> 
> Changes since v1:
> - Rebase on staging
> - Remove invalid ASSERT in patch 5
> - Add extra comment to use ACCESS_ONCE for guest_vers in patch 2
> - Add Jens R-b in other patches
> 
> Changes since v0:
> - Rework version negotiation to prevent concurrency issues
> - Introduce patch 3 to fix an init bug
> - Introduce patch 5 to make VM RX/TX buffer acquire/release working in
>  the same way as SPMC RX/TX buffers
> - minor fixes described in each patch changelog
> 
> 
> Bertrand Marquis (12):
>  xen/arm: ffa: add FF-A v1.2 function IDs
>  xen/arm: ffa: per-VM FFA_VERSION negotiation state
>  xen/arm: ffa: Fix is_64bit init
>  xen/arm: ffa: harden RX/TX mapping
>  xen/arm: ffa: rework SPMC RX/TX buffer management
>  xen/arm: ffa: rework VM RX/TX buffer management
>  xen/arm: ffa: use signed 32-bit status codes
>  xen/arm: ffa: add UUID helpers for partition info
>  xen/arm: ffa: Add FFA_RUN support
>  xen/arm: ffa: add v1.2 SEND2 header layout
>  xen/arm: ffa: add MSG_SEND_DIRECT_REQ2 support
>  xen/arm: ffa: advertise FF-A v1.2
> 
> xen/arch/arm/include/asm/tee/ffa.h |   3 +-
> xen/arch/arm/tee/ffa.c             | 202 ++++++++++++++++------
> xen/arch/arm/tee/ffa_msg.c         | 232 +++++++++++++++++++------
> xen/arch/arm/tee/ffa_notif.c       |  14 +-
> xen/arch/arm/tee/ffa_partinfo.c    | 263 +++++++++++++++++------------
> xen/arch/arm/tee/ffa_private.h     | 154 +++++++++++------
> xen/arch/arm/tee/ffa_rxtx.c        | 237 +++++++++++++++++++++-----
> xen/arch/arm/tee/ffa_shm.c         |  52 +++---
> 8 files changed, 827 insertions(+), 330 deletions(-)
> 
> -- 
> 2.51.2
> 
> 


 


Rackspace

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