Re: [PATCH 0/3] Add support for ACPI VIOT
Hi Eric, On Fri, Mar 19, 2021 at 11:58:49AM +0100, Auger Eric wrote: > Hi Jean, > > On 3/16/21 8:16 PM, Jean-Philippe Brucker wrote: > > Add a driver for the ACPI VIOT table, which enables virtio-iommu on > > non-devicetree platforms, including x86. This series depends on the > > ACPICA changes of patch 1, which will be included in next release [1] > > and pulled into Linux. > > > > The Virtual I/O Translation table (VIOT) describes the topology of > > para-virtual I/O translation devices and the endpoints they manage. > > It was recently approved for inclusion into the ACPI standard [2]. > > A provisional version of the specification can be found at [3]. > > > > After discussing non-devicetree support for virtio-iommu at length > > [4][5][6] we concluded that it should use this new ACPI table. And for > > platforms that don't implement either devicetree or ACPI, a structure > > that uses roughly the same format [6] can be built into the device. > > > > [1] https://github.com/acpica/acpica/pull/666 > > [2] https://lore.kernel.org/linux-iommu/20210218233943.gh702...@redhat.com/ > > [3] https://jpbrucker.net/virtio-iommu/viot/viot-v9.pdf > > [4] > > https://lore.kernel.org/linux-iommu/20191122105000.800410-1-jean-phili...@linaro.org/ > > [5] > > https://lore.kernel.org/linux-iommu/20200228172537.377327-1-jean-phili...@linaro.org/ > > [6] > > https://lore.kernel.org/linux-iommu/20200821131540.2801801-1-jean-phili...@linaro.org/ > > Do you have a qemu branch to share for us to start exercising different > kinds of topology? Yes: https://jpbrucker.net/git/qemu/log/?h=virtio-iommu/acpi Thanks for the reviews, I'll rework this in a week or so Jean ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
Re: [PATCH 0/3] Add support for ACPI VIOT
Hi Jean, On 3/16/21 8:16 PM, Jean-Philippe Brucker wrote: > Add a driver for the ACPI VIOT table, which enables virtio-iommu on > non-devicetree platforms, including x86. This series depends on the > ACPICA changes of patch 1, which will be included in next release [1] > and pulled into Linux. > > The Virtual I/O Translation table (VIOT) describes the topology of > para-virtual I/O translation devices and the endpoints they manage. > It was recently approved for inclusion into the ACPI standard [2]. > A provisional version of the specification can be found at [3]. > > After discussing non-devicetree support for virtio-iommu at length > [4][5][6] we concluded that it should use this new ACPI table. And for > platforms that don't implement either devicetree or ACPI, a structure > that uses roughly the same format [6] can be built into the device. > > [1] https://github.com/acpica/acpica/pull/666 > [2] https://lore.kernel.org/linux-iommu/20210218233943.gh702...@redhat.com/ > [3] https://jpbrucker.net/virtio-iommu/viot/viot-v9.pdf > [4] > https://lore.kernel.org/linux-iommu/20191122105000.800410-1-jean-phili...@linaro.org/ > [5] > https://lore.kernel.org/linux-iommu/20200228172537.377327-1-jean-phili...@linaro.org/ > [6] > https://lore.kernel.org/linux-iommu/20200821131540.2801801-1-jean-phili...@linaro.org/ Do you have a qemu branch to share for us to start exercising different kinds of topology? Thanks Eric > > Jean-Philippe Brucker (3): > ACPICA: iASL: Add definitions for the VIOT table > ACPI: Add driver for the VIOT table > iommu/virtio: Enable x86 support > > drivers/acpi/Kconfig | 3 + > drivers/iommu/Kconfig| 4 +- > drivers/acpi/Makefile| 2 + > include/acpi/actbl3.h| 67 ++ > include/linux/acpi_viot.h| 26 +++ > drivers/acpi/bus.c | 2 + > drivers/acpi/scan.c | 6 + > drivers/acpi/viot.c | 406 +++ > drivers/iommu/virtio-iommu.c | 3 + > MAINTAINERS | 8 + > 10 files changed, 526 insertions(+), 1 deletion(-) > create mode 100644 include/linux/acpi_viot.h > create mode 100644 drivers/acpi/viot.c > ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu
[PATCH 0/3] Add support for ACPI VIOT
Add a driver for the ACPI VIOT table, which enables virtio-iommu on non-devicetree platforms, including x86. This series depends on the ACPICA changes of patch 1, which will be included in next release [1] and pulled into Linux. The Virtual I/O Translation table (VIOT) describes the topology of para-virtual I/O translation devices and the endpoints they manage. It was recently approved for inclusion into the ACPI standard [2]. A provisional version of the specification can be found at [3]. After discussing non-devicetree support for virtio-iommu at length [4][5][6] we concluded that it should use this new ACPI table. And for platforms that don't implement either devicetree or ACPI, a structure that uses roughly the same format [6] can be built into the device. [1] https://github.com/acpica/acpica/pull/666 [2] https://lore.kernel.org/linux-iommu/20210218233943.gh702...@redhat.com/ [3] https://jpbrucker.net/virtio-iommu/viot/viot-v9.pdf [4] https://lore.kernel.org/linux-iommu/20191122105000.800410-1-jean-phili...@linaro.org/ [5] https://lore.kernel.org/linux-iommu/20200228172537.377327-1-jean-phili...@linaro.org/ [6] https://lore.kernel.org/linux-iommu/20200821131540.2801801-1-jean-phili...@linaro.org/ Jean-Philippe Brucker (3): ACPICA: iASL: Add definitions for the VIOT table ACPI: Add driver for the VIOT table iommu/virtio: Enable x86 support drivers/acpi/Kconfig | 3 + drivers/iommu/Kconfig| 4 +- drivers/acpi/Makefile| 2 + include/acpi/actbl3.h| 67 ++ include/linux/acpi_viot.h| 26 +++ drivers/acpi/bus.c | 2 + drivers/acpi/scan.c | 6 + drivers/acpi/viot.c | 406 +++ drivers/iommu/virtio-iommu.c | 3 + MAINTAINERS | 8 + 10 files changed, 526 insertions(+), 1 deletion(-) create mode 100644 include/linux/acpi_viot.h create mode 100644 drivers/acpi/viot.c -- 2.30.2 ___ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu