mbox series

[v7,0/8] virtio-iommu: Add ACPI support (Arm part + tests)

Message ID 20211210170415.583179-1-jean-philippe@linaro.org
Headers show
Series virtio-iommu: Add ACPI support (Arm part + tests) | expand

Message

Jean-Philippe Brucker Dec. 10, 2021, 5:04 p.m. UTC
Add ACPI support for virtio-iommu on the virt machine, by instantiating
a VIOT table. Also add the tests for the ACPI table.

Since last posting [1], I rebased onto v6.2.0-rc4. Note that v6 of this
series [2] only contained the table and x86 support, which have been
merged. Everything has now been reviewed and should be good to go.

* Patches 1-2 add the VIOT table for the virt machine
* Patches 3-4 are minor fixes
* Patches 5-8 add tests for the VIOT table. They contain the tests for
  q35 as well, which didn't make it last time because they depended on
  another fix that has now been merged.

[1] https://lore.kernel.org/qemu-devel/20211020172745.620101-1-jean-philippe@linaro.org/
[2] https://lore.kernel.org/qemu-devel/20211026182024.2642038-1-jean-philippe@linaro.org/

Jean-Philippe Brucker (8):
  hw/arm/virt-acpi-build: Add VIOT table for virtio-iommu
  hw/arm/virt: Remove device tree restriction for virtio-iommu
  hw/arm/virt: Reject instantiation of multiple IOMMUs
  hw/arm/virt: Use object_property_set instead of qdev_prop_set
  tests/acpi: allow updates of VIOT expected data files
  tests/acpi: add test case for VIOT
  tests/acpi: add expected blobs for VIOT test on q35 machine
  tests/acpi: add expected blob for VIOT test on virt machine

 hw/arm/virt-acpi-build.c       |   7 ++++++
 hw/arm/virt.c                  |  20 ++++++++---------
 hw/virtio/virtio-iommu-pci.c   |  12 ++---------
 tests/qtest/bios-tables-test.c |  38 +++++++++++++++++++++++++++++++++
 hw/arm/Kconfig                 |   1 +
 tests/data/acpi/q35/DSDT.viot  | Bin 0 -> 9398 bytes
 tests/data/acpi/q35/VIOT.viot  | Bin 0 -> 112 bytes
 tests/data/acpi/virt/VIOT      | Bin 0 -> 88 bytes
 8 files changed, 58 insertions(+), 20 deletions(-)
 create mode 100644 tests/data/acpi/q35/DSDT.viot
 create mode 100644 tests/data/acpi/q35/VIOT.viot
 create mode 100644 tests/data/acpi/virt/VIOT

Comments

Ani Sinha Dec. 12, 2021, 4:49 a.m. UTC | #1
On Fri, Dec 10, 2021 at 10:35 PM Jean-Philippe Brucker
<jean-philippe@linaro.org> wrote:
>
> Add ACPI support for virtio-iommu on the virt machine, by instantiating
> a VIOT table. Also add the tests for the ACPI table.
>
> Since last posting [1], I rebased onto v6.2.0-rc4. Note that v6 of this
> series [2] only contained the table and x86 support, which have been
> merged. Everything has now been reviewed and should be good to go.
>
> * Patches 1-2 add the VIOT table for the virt machine
> * Patches 3-4 are minor fixes
> * Patches 5-8 add tests for the VIOT table. They contain the tests for
>   q35 as well, which didn't make it last time because they depended on
>   another fix that has now been merged.

I believe the entire patchset has been reviewed and you are re-sending
it so that it gets pulled in after the release?

>
> [1] https://lore.kernel.org/qemu-devel/20211020172745.620101-1-jean-philippe@linaro.org/
> [2] https://lore.kernel.org/qemu-devel/20211026182024.2642038-1-jean-philippe@linaro.org/
>
> Jean-Philippe Brucker (8):
>   hw/arm/virt-acpi-build: Add VIOT table for virtio-iommu
>   hw/arm/virt: Remove device tree restriction for virtio-iommu
>   hw/arm/virt: Reject instantiation of multiple IOMMUs
>   hw/arm/virt: Use object_property_set instead of qdev_prop_set
>   tests/acpi: allow updates of VIOT expected data files
>   tests/acpi: add test case for VIOT
>   tests/acpi: add expected blobs for VIOT test on q35 machine
>   tests/acpi: add expected blob for VIOT test on virt machine
>
>  hw/arm/virt-acpi-build.c       |   7 ++++++
>  hw/arm/virt.c                  |  20 ++++++++---------
>  hw/virtio/virtio-iommu-pci.c   |  12 ++---------
>  tests/qtest/bios-tables-test.c |  38 +++++++++++++++++++++++++++++++++
>  hw/arm/Kconfig                 |   1 +
>  tests/data/acpi/q35/DSDT.viot  | Bin 0 -> 9398 bytes
>  tests/data/acpi/q35/VIOT.viot  | Bin 0 -> 112 bytes
>  tests/data/acpi/virt/VIOT      | Bin 0 -> 88 bytes
>  8 files changed, 58 insertions(+), 20 deletions(-)
>  create mode 100644 tests/data/acpi/q35/DSDT.viot
>  create mode 100644 tests/data/acpi/q35/VIOT.viot
>  create mode 100644 tests/data/acpi/virt/VIOT
>
> --
> 2.34.1
>
Jean-Philippe Brucker Dec. 13, 2021, 9:28 a.m. UTC | #2
On Sun, Dec 12, 2021 at 10:19:47AM +0530, Ani Sinha wrote:
> On Fri, Dec 10, 2021 at 10:35 PM Jean-Philippe Brucker
> <jean-philippe@linaro.org> wrote:
> >
> > Add ACPI support for virtio-iommu on the virt machine, by instantiating
> > a VIOT table. Also add the tests for the ACPI table.
> >
> > Since last posting [1], I rebased onto v6.2.0-rc4. Note that v6 of this
> > series [2] only contained the table and x86 support, which have been
> > merged. Everything has now been reviewed and should be good to go.
> >
> > * Patches 1-2 add the VIOT table for the virt machine
> > * Patches 3-4 are minor fixes
> > * Patches 5-8 add tests for the VIOT table. They contain the tests for
> >   q35 as well, which didn't make it last time because they depended on
> >   another fix that has now been merged.
> 
> I believe the entire patchset has been reviewed and you are re-sending
> it so that it gets pulled in after the release?

Yes

Thanks,
Jean
Peter Maydell Dec. 13, 2021, 10:04 a.m. UTC | #3
On Mon, 13 Dec 2021 at 09:28, Jean-Philippe Brucker
<jean-philippe@linaro.org> wrote:
>
> On Sun, Dec 12, 2021 at 10:19:47AM +0530, Ani Sinha wrote:
> > On Fri, Dec 10, 2021 at 10:35 PM Jean-Philippe Brucker
> > <jean-philippe@linaro.org> wrote:
> > >
> > > Add ACPI support for virtio-iommu on the virt machine, by instantiating
> > > a VIOT table. Also add the tests for the ACPI table.
> > >
> > > Since last posting [1], I rebased onto v6.2.0-rc4. Note that v6 of this
> > > series [2] only contained the table and x86 support, which have been
> > > merged. Everything has now been reviewed and should be good to go.
> > >
> > > * Patches 1-2 add the VIOT table for the virt machine
> > > * Patches 3-4 are minor fixes
> > > * Patches 5-8 add tests for the VIOT table. They contain the tests for
> > >   q35 as well, which didn't make it last time because they depended on
> > >   another fix that has now been merged.
> >
> > I believe the entire patchset has been reviewed and you are re-sending
> > it so that it gets pulled in after the release?
>
> Yes

To be clear, do you mean:
(1) The patchset has been reviewed, and I plan to resend it (ie a v8)
to be pulled in after 6.2 releases
or
(2) The patchset has been reviewed already as v6, and this (v7) was just
a resend to be pulled in after 6.2 releases

?

thanks
-- PMM
Jean-Philippe Brucker Dec. 13, 2021, 10:56 a.m. UTC | #4
On Mon, Dec 13, 2021 at 10:04:57AM +0000, Peter Maydell wrote:
> On Mon, 13 Dec 2021 at 09:28, Jean-Philippe Brucker
> <jean-philippe@linaro.org> wrote:
> >
> > On Sun, Dec 12, 2021 at 10:19:47AM +0530, Ani Sinha wrote:
> > > On Fri, Dec 10, 2021 at 10:35 PM Jean-Philippe Brucker
> > > <jean-philippe@linaro.org> wrote:
> > > >
> > > > Add ACPI support for virtio-iommu on the virt machine, by instantiating
> > > > a VIOT table. Also add the tests for the ACPI table.
> > > >
> > > > Since last posting [1], I rebased onto v6.2.0-rc4. Note that v6 of this
> > > > series [2] only contained the table and x86 support, which have been
> > > > merged. Everything has now been reviewed and should be good to go.
> > > >
> > > > * Patches 1-2 add the VIOT table for the virt machine
> > > > * Patches 3-4 are minor fixes
> > > > * Patches 5-8 add tests for the VIOT table. They contain the tests for
> > > >   q35 as well, which didn't make it last time because they depended on
> > > >   another fix that has now been merged.
> > >
> > > I believe the entire patchset has been reviewed and you are re-sending
> > > it so that it gets pulled in after the release?
> >
> > Yes
> 
> To be clear, do you mean:
> (1) The patchset has been reviewed, and I plan to resend it (ie a v8)
> to be pulled in after 6.2 releases
> or
> (2) The patchset has been reviewed already as v6, and this (v7) was just
> a resend to be pulled in after 6.2 releases

I meant (2), v6 had already been reviewed and I'm resending v7 to be
pulled after 6.2 releases, sorry about the confusion.  Just for my
understanding, should I have resent this after the 6.2 release, or is this
OK and I should just state the intention for a patchset more clearly?

Thanks,
Jean
Peter Maydell Dec. 13, 2021, 11:07 a.m. UTC | #5
On Mon, 13 Dec 2021 at 10:56, Jean-Philippe Brucker
<jean-philippe@linaro.org> wrote:
>
> On Mon, Dec 13, 2021 at 10:04:57AM +0000, Peter Maydell wrote:
> > On Mon, 13 Dec 2021 at 09:28, Jean-Philippe Brucker
> > <jean-philippe@linaro.org> wrote:
> > >
> > > On Sun, Dec 12, 2021 at 10:19:47AM +0530, Ani Sinha wrote:
> > > > On Fri, Dec 10, 2021 at 10:35 PM Jean-Philippe Brucker
> > > > <jean-philippe@linaro.org> wrote:
> > > > >
> > > > > Add ACPI support for virtio-iommu on the virt machine, by instantiating
> > > > > a VIOT table. Also add the tests for the ACPI table.
> > > > >
> > > > > Since last posting [1], I rebased onto v6.2.0-rc4. Note that v6 of this
> > > > > series [2] only contained the table and x86 support, which have been
> > > > > merged. Everything has now been reviewed and should be good to go.
> > > > >
> > > > > * Patches 1-2 add the VIOT table for the virt machine
> > > > > * Patches 3-4 are minor fixes
> > > > > * Patches 5-8 add tests for the VIOT table. They contain the tests for
> > > > >   q35 as well, which didn't make it last time because they depended on
> > > > >   another fix that has now been merged.
> > > >
> > > > I believe the entire patchset has been reviewed and you are re-sending
> > > > it so that it gets pulled in after the release?
> > >
> > > Yes
> >
> > To be clear, do you mean:
> > (1) The patchset has been reviewed, and I plan to resend it (ie a v8)
> > to be pulled in after 6.2 releases
> > or
> > (2) The patchset has been reviewed already as v6, and this (v7) was just
> > a resend to be pulled in after 6.2 releases
>
> I meant (2), v6 had already been reviewed and I'm resending v7 to be
> pulled after 6.2 releases, sorry about the confusion.  Just for my
> understanding, should I have resent this after the 6.2 release, or is this
> OK and I should just state the intention for a patchset more clearly?

Sending for-7.0 patchsets before 6.2 officially releases is fine; I just wanted
to check what you intended. I've queued this patchset to target-arm.next.

thanks
-- PMM
Jean-Philippe Brucker Dec. 13, 2021, 2:58 p.m. UTC | #6
On Mon, Dec 13, 2021 at 11:07:38AM +0000, Peter Maydell wrote:
> On Mon, 13 Dec 2021 at 10:56, Jean-Philippe Brucker
> <jean-philippe@linaro.org> wrote:
> >
> > On Mon, Dec 13, 2021 at 10:04:57AM +0000, Peter Maydell wrote:
> > > On Mon, 13 Dec 2021 at 09:28, Jean-Philippe Brucker
> > > <jean-philippe@linaro.org> wrote:
> > > >
> > > > On Sun, Dec 12, 2021 at 10:19:47AM +0530, Ani Sinha wrote:
> > > > > On Fri, Dec 10, 2021 at 10:35 PM Jean-Philippe Brucker
> > > > > <jean-philippe@linaro.org> wrote:
> > > > > >
> > > > > > Add ACPI support for virtio-iommu on the virt machine, by instantiating
> > > > > > a VIOT table. Also add the tests for the ACPI table.
> > > > > >
> > > > > > Since last posting [1], I rebased onto v6.2.0-rc4. Note that v6 of this
> > > > > > series [2] only contained the table and x86 support, which have been
> > > > > > merged. Everything has now been reviewed and should be good to go.
> > > > > >
> > > > > > * Patches 1-2 add the VIOT table for the virt machine
> > > > > > * Patches 3-4 are minor fixes
> > > > > > * Patches 5-8 add tests for the VIOT table. They contain the tests for
> > > > > >   q35 as well, which didn't make it last time because they depended on
> > > > > >   another fix that has now been merged.
> > > > >
> > > > > I believe the entire patchset has been reviewed and you are re-sending
> > > > > it so that it gets pulled in after the release?
> > > >
> > > > Yes
> > >
> > > To be clear, do you mean:
> > > (1) The patchset has been reviewed, and I plan to resend it (ie a v8)
> > > to be pulled in after 6.2 releases
> > > or
> > > (2) The patchset has been reviewed already as v6, and this (v7) was just
> > > a resend to be pulled in after 6.2 releases
> >
> > I meant (2), v6 had already been reviewed and I'm resending v7 to be
> > pulled after 6.2 releases, sorry about the confusion.  Just for my
> > understanding, should I have resent this after the 6.2 release, or is this
> > OK and I should just state the intention for a patchset more clearly?
> 
> Sending for-7.0 patchsets before 6.2 officially releases is fine; I just wanted
> to check what you intended. I've queued this patchset to target-arm.next.

Great, thank you!

Jean
Michael S. Tsirkin Dec. 13, 2021, 5:50 p.m. UTC | #7
On Fri, Dec 10, 2021 at 05:04:08PM +0000, Jean-Philippe Brucker wrote:
> Add ACPI support for virtio-iommu on the virt machine, by instantiating
> a VIOT table. Also add the tests for the ACPI table.

ACPI parts:
Acked-by: Michael S. Tsirkin <mst@redhat.com>

> Since last posting [1], I rebased onto v6.2.0-rc4. Note that v6 of this
> series [2] only contained the table and x86 support, which have been
> merged. Everything has now been reviewed and should be good to go.
> 
> * Patches 1-2 add the VIOT table for the virt machine
> * Patches 3-4 are minor fixes
> * Patches 5-8 add tests for the VIOT table. They contain the tests for
>   q35 as well, which didn't make it last time because they depended on
>   another fix that has now been merged.
> 
> [1] https://lore.kernel.org/qemu-devel/20211020172745.620101-1-jean-philippe@linaro.org/
> [2] https://lore.kernel.org/qemu-devel/20211026182024.2642038-1-jean-philippe@linaro.org/
> 
> Jean-Philippe Brucker (8):
>   hw/arm/virt-acpi-build: Add VIOT table for virtio-iommu
>   hw/arm/virt: Remove device tree restriction for virtio-iommu
>   hw/arm/virt: Reject instantiation of multiple IOMMUs
>   hw/arm/virt: Use object_property_set instead of qdev_prop_set
>   tests/acpi: allow updates of VIOT expected data files
>   tests/acpi: add test case for VIOT
>   tests/acpi: add expected blobs for VIOT test on q35 machine
>   tests/acpi: add expected blob for VIOT test on virt machine
> 
>  hw/arm/virt-acpi-build.c       |   7 ++++++
>  hw/arm/virt.c                  |  20 ++++++++---------
>  hw/virtio/virtio-iommu-pci.c   |  12 ++---------
>  tests/qtest/bios-tables-test.c |  38 +++++++++++++++++++++++++++++++++
>  hw/arm/Kconfig                 |   1 +
>  tests/data/acpi/q35/DSDT.viot  | Bin 0 -> 9398 bytes
>  tests/data/acpi/q35/VIOT.viot  | Bin 0 -> 112 bytes
>  tests/data/acpi/virt/VIOT      | Bin 0 -> 88 bytes
>  8 files changed, 58 insertions(+), 20 deletions(-)
>  create mode 100644 tests/data/acpi/q35/DSDT.viot
>  create mode 100644 tests/data/acpi/q35/VIOT.viot
>  create mode 100644 tests/data/acpi/virt/VIOT
> 
> -- 
> 2.34.1