> -----Original Message-----
> From: Shameer Kolothum <skolothumtho@nvidia.com>
> Sent: 23 January 2026 18:23
> To: Peter Maydell <peter.maydell@linaro.org>
> Cc: Jonathan Cameron <jonathan.cameron@huawei.com>; Eric Auger
> <eric.auger@redhat.com>; qemu-arm@nongnu.org; qemu-
> devel@nongnu.org; Richard Henderson <richard.henderson@linaro.org>;
> Jason Gunthorpe <jgg@nvidia.com>; Nicolin Chen <nicolinc@nvidia.com>;
> ddutile@redhat.com; berrange@redhat.com; clg@redhat.com;
> alex@shazbot.org; Nathan Chen <nathanc@nvidia.com>; Matt Ochs
> <mochs@nvidia.com>; smostafa@google.com; wangzhou1@hisilicon.com;
> jiangkunkun@huawei.com; zhangfei.gao@linaro.org;
> zhenzhong.duan@intel.com; yi.l.liu@intel.com; Krishnakant Jaju
> <kjaju@nvidia.com>
> Subject: RE: [PATCH v8 00/37] hw/arm/virt: Add support for user-creatable
> accelerated SMMUv3
>
>
> Thanks Peter, and appreciate the patience and pointers.
Ok. I manged to trigger the CI jobs.
> I deleted the earlier forks and created a fresh one directly
> from upstream QEMU. I cloned it locally and created a branch
> with the accel patches, and:
>
> git push -o ci.variable="QEMU_CI=2" origin master-smmuv3-accel-v8
>
> I tried QEMU_CI=1 as well.
>
> However, I’m still not seeing any CI jobs or pipelines show up.
> I may be missing something obvious here and will have another
> look over the weekend if possible.
I was missing the:
Settings --> CI/CD --> Runners --> Variables --> Minimum role to use
pipeline variables
The above was set to None. Changing it to "Owner" fixed the issue
and CI started working.
And to copy the /tmp/aml-* file, changed:
diff --git a/.gitlab-ci.d/buildtest.yml b/.gitlab-ci.d/buildtest.yml
index e9b5b05e6e..73c5e36ec3 100644
--- a/.gitlab-ci.d/buildtest.yml
+++ b/.gitlab-ci.d/buildtest.yml
@@ -288,6 +288,14 @@ check-system-opensuse:
variables:
IMAGE: opensuse-leap
MAKE_CHECK_ARGS: check
+ after_script:
+ - mkdir -p aml-debug-files
+ - cp /tmp/aml-* aml-debug-files/ || true
+ artifacts:
+ when: always
+ paths:
+ - aml-debug-files/
+ expire_in: 2 days
The generated IORT and the IORT.its_off reference were indeed
different, with ATS and RMR present. It shouldn’t have either of
those as it is using the legacy-smmuv3.
The issue was not initialising the AcpiIortSMMUv3Dev sdev in
virt-acpi-build.c.
With the below fix,
diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c
index 60d8fda755..9126aae346 100644
--- a/hw/arm/virt-acpi-build.c
+++ b/hw/arm/virt-acpi-build.c
@@ -356,7 +356,7 @@ typedef struct AcpiIortSMMUv3Dev {
static int populate_smmuv3_legacy_dev(GArray *sdev_blob)
{
VirtMachineState *vms = VIRT_MACHINE(qdev_get_machine());
- AcpiIortSMMUv3Dev sdev;
+ AcpiIortSMMUv3Dev sdev = { 0 };
sdev.rc_smmu_idmaps = g_array_new(false, true, sizeof(AcpiIortIdMapping));
object_child_foreach_recursive(object_get_root(), iort_host_bridges,
@@ -391,7 +391,7 @@ static int iort_smmuv3_devices(Object *obj, void *opaque)
GArray *sdev_blob = opaque;
AcpiIortIdMapping idmap;
PlatformBusDevice *pbus;
- AcpiIortSMMUv3Dev sdev;
+ AcpiIortSMMUv3Dev sdev = { 0 };
int min_bus, max_bus;
SysBusDevice *sbdev;
PCIBus *bus;
The CI test is now successful.
...
1/457 qemu:qtest+qtest-x86_64 / qtest-x86_64/bios-tables-test OK 83.38s 55 subtests passed
2/457 qemu:qtest+qtest-aarch64 / qtest-aarch64/bios-tables-test OK 89.71s 14 subtests passed
3/457 qemu:qtest+qtest-s390x / qtest-s390x/qom-test OK 0.90s 3 subtests passed
...
I will respin this as v9.
Thanks,
Shameer
© 2016 - 2026 Red Hat, Inc.