Re: [PATCH v13 00/48] arm64: Support for Arm CCA in KVM

Suzuki K Poulose
2026-03-25T10:18:10Z

Hi Gavin

Steven is on holidays, so I am jumping in here.

On 25/03/2026 06:37, Gavin Shan wrote:
> Hi Steven,
>
> On 3/21/26 2:45 AM, Steven Price wrote:
>> On 19/03/2026 23:02, Mathieu Poirier wrote:
>
> [...]
>
>>>>
>>>> The TF-RMM has not yet merged the RMMv2.0 support, so you will need to
>>>> use the following branch:
>>>>
>>>> https://git.trustedfirmware.org/TF-RMM/tf-rmm.git topics/rmm-v2.0-poc
>>>
>>> This RMM version is expecting a RMM EL3 interface version of at least
>>> 2.0.  Do
>>> you have a TF-A to use with it?
>>
>> You should be able to use the 'master' branch of the TF-A repository.
>> For now you need to set RMM_V1_COMPAT=0 to enable 2.0 support.
>>
>
> In upstream TF-A repository [1], I don't see the config option
> 'RMM_V1_COMPAT'.
> would it be something else?
>
> [1] git@github.com:ARM-software/arm-trusted-firmware.git    (branch:
> master)
>

suzuki@ewhatever:trusted-firmware-a$ git grep RMM_V1_COMPAT
Makefile: RMM_V1_COMPAT \
Makefile: RMM_V1_COMPAT \
docs/getting_started/build-options.rst:- ``RMM_V1_COMPAT``: Boolean
flag to enable support for RMM v1.x compatibility
include/services/rmmd_svc.h:#if RMM_V1_COMPAT
include/services/rmmd_svc.h:#endif /* RMM_V1_COMPAT */
make_helpers/defaults.mk:RMM_V1_COMPAT := 1
services/std_svc/rmmd/rmmd_main.c:#if RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_main.c:#if RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_main.c:#if !RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_main.c:#if RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_main.c:#if RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_main.c:#if RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_rmm_lfa.c:#if RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_rmm_lfa.c:#if RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_rmm_lfa.c:#if RMM_V1_COMPAT
services/std_svc/rmmd/rmmd_rmm_lfa.c:#if RMM_V1_COMPAT
suzuki@ewhatever:trusted-firmware-a$ git log --oneline -1
8dae0862c (HEAD, origin/master, origin/integration, origin/HEAD) Merge
changes from topic "qti_lemans_evk" into integration
suzuki@ewhatever:trusted-firmware-a$ git remote get-url origin
https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git

> I use the following command to build TF-A image. The RMM-EL3 compatible
> issue is
> still seen.
>
>     TFA_PATH=$PWD
>     EDK2_IMAGE=${TFA_PATH}/../edk2/Build/ArmVirtQemuKernel-AARCH64/
> RELEASE_GCC5/FV/QEMU_EFI.fd
>     RMM_IMAGE=${TFA_PATH}/../tf-rmm/build-qemu/Debug/rmm.img
>     make CROSS_COMPILE=aarch64-none-elf-                               \
>          PLAT=qemu ENABLE_RME=1 RMM_V1_COMPAT=0 DEBUG=1 LOG_LEVEL=40   \
>          QEMU_USE_GIC_DRIVER=QEMU_GICV3                                \
>          BL33=${EDK2_IMAGE} RMM=${RMM_IMAGE}                           \
>          -j 8 all fip
>

> Booting messages
> ================
> INFO:    BL31: Initializing runtime services
> INFO:    RMM setup done.
> INFO:    BL31: Initializing RMM
> INFO:    RMM init start.
> ERROR:   RMM init failed: -2
> WARNING: BL31: RMM initialization failed

This is definitely the TF-A RMM incompatibility.

Btw, the shrinkwrap overlay configs in tf-RMM repository should work.
But unfortunately the Linux/kvmtool repositories are pointing to
internal repositories. The following patch should fix it and get
it all working. I am working with the tf-rmm team to fix this.

--8>--

diff --git a/tools/shrinkwrap/configs/cca.yaml
b/tools/shrinkwrap/configs/cca.yaml
index 1c0455ba..0d70a582 100644
--- a/tools/shrinkwrap/configs/cca.yaml
+++ b/tools/shrinkwrap/configs/cca.yaml
@@ -25,8 +25,8 @@ build:

linux:
repo:
- remote: https://gitlab.geo.arm.com/software/linux-arm/fkvm.git
- revision: stepri01/cca/v13-wip+sro
+ remote: https://gitlab.arm.com/linux-arm/linux-cca
+ revision: cca-host/v13
prebuild:
- ./scripts/config --file ${param:builddir}/.config --enable
CONFIG_PCI_TSM
- ./scripts/config --file ${param:builddir}/.config --enable
CONFIG_PCI_DOE
@@ -50,5 +50,5 @@ build:
remote: https://git.kernel.org/pub/scm/utils/dtc/dtc.git
revision: v1.7.2
kvmtool:
- remote: https://gitlab.geo.arm.com/software/linux-arm/fkvmtool.git
- revision: stepri01/cca/v13-wip
+ remote: https://gitlab.arm.com/linux-arm/kvmtool-cca
+ revision: cca/v11

Kind regards
Suzuki

>
> Thanks,
> Gavin
>
>
>