mbox series

[for-10.0,0/7] hw/riscv: riscv-iommu-sys device

Message ID 20241106133407.604587-1-dbarboza@ventanamicro.com (mailing list archive)
Headers show
Series hw/riscv: riscv-iommu-sys device | expand

Message

Daniel Henrique Barboza Nov. 6, 2024, 1:34 p.m. UTC
Hi,

Now that we have merged the base IOMMU support we can re-introduce
the riscv-iommu-sys platform device that was taken away from the initial
posting.

Aside from adding support for the device in the 'virt' machine we're
also adding MSI support for it, something that we weren't doing before.
The Linux driver is then free to choose either MSI or WSI to use the
device.

Patches based on master.

Daniel Henrique Barboza (5):
  hw/riscv/riscv-iommu.c: add riscv_iommu_instance_init()
  hw/riscv/riscv-iommu: parametrize CAP.IGS
  hw/riscv/virt.c, riscv-iommu-sys.c: add MSIx support
  hw/riscv/riscv-iommu: implement reset protocol
  docs/specs: add riscv-iommu-sys information

Sunil V L (1):
  hw/riscv/virt: Add IOMMU as platform device if the option is set

Tomasz Jeznach (1):
  hw/riscv: add riscv-iommu-sys platform device

 docs/specs/riscv-iommu.rst  |  30 ++++-
 docs/system/riscv/virt.rst  |  10 ++
 hw/riscv/meson.build        |   2 +-
 hw/riscv/riscv-iommu-bits.h |   6 +
 hw/riscv/riscv-iommu-pci.c  |  21 +++
 hw/riscv/riscv-iommu-sys.c  | 256 ++++++++++++++++++++++++++++++++++++
 hw/riscv/riscv-iommu.c      | 114 +++++++++++-----
 hw/riscv/riscv-iommu.h      |   5 +
 hw/riscv/trace-events       |   4 +
 hw/riscv/virt.c             | 108 ++++++++++++++-
 include/hw/riscv/iommu.h    |  10 +-
 include/hw/riscv/virt.h     |   6 +-
 12 files changed, 530 insertions(+), 42 deletions(-)
 create mode 100644 hw/riscv/riscv-iommu-sys.c

Comments

Andrew Jones Nov. 6, 2024, 5:58 p.m. UTC | #1
On Wed, Nov 06, 2024 at 10:34:00AM -0300, Daniel Henrique Barboza wrote:
> Hi,
> 
> Now that we have merged the base IOMMU support we can re-introduce
> the riscv-iommu-sys platform device that was taken away from the initial
> posting.
> 
> Aside from adding support for the device in the 'virt' machine we're
> also adding MSI support for it, something that we weren't doing before.
> The Linux driver is then free to choose either MSI or WSI to use the
> device.

The driver (still only in linux-next) only knows how to use WSI, but with
a series I just posted[1] MSI is also possible.

[1] https://lore.kernel.org/all/20241106175102.219923-4-ajones@ventanamicro.com/

Thanks,
drew

> 
> Patches based on master.
> 
> Daniel Henrique Barboza (5):
>   hw/riscv/riscv-iommu.c: add riscv_iommu_instance_init()
>   hw/riscv/riscv-iommu: parametrize CAP.IGS
>   hw/riscv/virt.c, riscv-iommu-sys.c: add MSIx support
>   hw/riscv/riscv-iommu: implement reset protocol
>   docs/specs: add riscv-iommu-sys information
> 
> Sunil V L (1):
>   hw/riscv/virt: Add IOMMU as platform device if the option is set
> 
> Tomasz Jeznach (1):
>   hw/riscv: add riscv-iommu-sys platform device
> 
>  docs/specs/riscv-iommu.rst  |  30 ++++-
>  docs/system/riscv/virt.rst  |  10 ++
>  hw/riscv/meson.build        |   2 +-
>  hw/riscv/riscv-iommu-bits.h |   6 +
>  hw/riscv/riscv-iommu-pci.c  |  21 +++
>  hw/riscv/riscv-iommu-sys.c  | 256 ++++++++++++++++++++++++++++++++++++
>  hw/riscv/riscv-iommu.c      | 114 +++++++++++-----
>  hw/riscv/riscv-iommu.h      |   5 +
>  hw/riscv/trace-events       |   4 +
>  hw/riscv/virt.c             | 108 ++++++++++++++-
>  include/hw/riscv/iommu.h    |  10 +-
>  include/hw/riscv/virt.h     |   6 +-
>  12 files changed, 530 insertions(+), 42 deletions(-)
>  create mode 100644 hw/riscv/riscv-iommu-sys.c
> 
> -- 
> 2.45.2
> 
>