> -----Original Message-----
> From: Mohamed Mediouni <[email protected]>
> Sent: 12 January 2026 10:18
> To: Shameer Kolothum <[email protected]>
> Cc: [email protected]; [email protected];
> [email protected]; [email protected]; Jason Gunthorpe
> <[email protected]>; Nicolin Chen <[email protected]>; [email protected];
> [email protected]; [email protected]; [email protected]; Nathan Chen
> <[email protected]>; Matt Ochs <[email protected]>;
> [email protected]; [email protected];
> [email protected]; [email protected];
> [email protected]; [email protected]; [email protected];
> Krishnakant Jaju <[email protected]>
> Subject: Re: [PATCH v7 17/36] hw/arm/virt: Set msi-gpa property
> 
> External email: Use caution opening links or attachments
> 
> 
> > On 12. Jan 2026, at 10:45, Shameer Kolothum
> <[email protected]> wrote:
> >
> >
> >
> >> -----Original Message-----
> >> From: Mohamed Mediouni <[email protected]>
> >> Sent: 11 January 2026 21:44
> >> To: Shameer Kolothum <[email protected]>
> >> Cc: [email protected]; [email protected];
> >> [email protected]; [email protected]; Jason Gunthorpe
> >> <[email protected]>; Nicolin Chen <[email protected]>;
> >> [email protected]; [email protected]; [email protected];
> >> [email protected]; Nathan Chen <[email protected]>; Matt Ochs
> >> <[email protected]>; [email protected]; [email protected];
> >> [email protected]; [email protected];
> >> [email protected]; [email protected]; [email protected];
> >> Krishnakant Jaju <[email protected]>
> >> Subject: Re: [PATCH v7 17/36] hw/arm/virt: Set msi-gpa property
> >>
> >> External email: Use caution opening links or attachments
> >>
> >>
> >>> On 11. Jan 2026, at 20:53, Shameer Kolothum
> <[email protected]>
> >> wrote:
> >>>
> >>> Set the MSI doorbell GPA property for accelerated SMMUv3 devices for
> use
> >>> by KVM MSI setup. Also, since any meaningful use of vfio-pci devices with
> >>> an accelerated SMMUv3 requires both KVM and a kernel irqchip, ensure
> >>> those are specified when accel=on is selected.
> >>>
> >>> Reviewed-by: Nicolin Chen <[email protected]>
> >>> Signed-off-by: Shameer Kolothum <[email protected]>
> >>> ---
> >>> hw/arm/virt.c | 20 ++++++++++++++++++++
> >>> 1 file changed, 20 insertions(+)
> >>>
> >>> diff --git a/hw/arm/virt.c b/hw/arm/virt.c
> >>> index 9d0568a7d5..08feadf0a8 100644
> >>> --- a/hw/arm/virt.c
> >>> +++ b/hw/arm/virt.c
> >>> @@ -3052,6 +3052,26 @@ static void
> >> virt_machine_device_pre_plug_cb(HotplugHandler *hotplug_dev,
> >>>            /* The new SMMUv3 device is specific to the PCI bus */
> >>>            object_property_set_bool(OBJECT(dev), "smmu_per_bus", true,
> >> NULL);
> >>>        }
> >>> +        if (object_property_find(OBJECT(dev), "accel") &&
> >>> +            object_property_get_bool(OBJECT(dev), "accel", 
> >>> &error_abort)) {
> >>> +            hwaddr db_start;
> >>> +
> >>> +            if (!kvm_enabled() || !kvm_irqchip_in_kernel()) {
> >>> +                error_setg(errp, "SMMUv3 accel=on requires KVM with "
> >>> +                           "kernel-irqchip=on support");
> >>> +                    return;
> >>> +            }
> >>> +
> >>> +            if (vms->msi_controller == VIRT_MSI_CTRL_ITS) {
> >>> +                /* GITS_TRANSLATER page + offset */
> >>> +                db_start = base_memmap[VIRT_GIC_ITS].base + 0x10000 +
> 0x40;
> >>> +            } else {
> >>> +                /* MSI_SETSPI_NS page + offset */
> >>> +                db_start = base_memmap[VIRT_GIC_V2M].base + 0x40;
> >>> +            }
> >> Hello,
> >>
> >> Currently (but soon no longer the case for virt-11.0+), its=off means no 
> >> MSI
> >> controller at all instead of
> >> GICv3 + GICv2m.
> >>
> >> Would an else if with an error returned if no MSI controller is enabled be
> >> adequate?
> >
> > The MSI doorbell setup here is only required for MSI translation cases.
> > When ITS is off (and no MSI controller is present), passthrough devices
> > cannot use MSI/MSI-X, so no MSI translation is required. Is that right?
> >
> > If so,  skipping the doorbell setup is expected and correct, and returning
> > an error would unnecessarily reject a valid configuration.
> Hello,
> 
> Could it be better then to have an else if for the GICv2m case and a separate
> else with setting db_start to 0 or something instead of an invalid (because 
> not
> present device) address to make things clearer?

Sure, will do.

Thanks,
Shameer


Reply via email to