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 <[email protected]> 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
> 
> 

Reply via email to