freebsd-dev/sys/dev/virtio
Colin Percival 9af32ef564 vtblk: Bypass iommu on powerpc
Virtio operates with physical addresses, while busdma is designed to
map these to produce bus addresses.  On most supported platforms,
these two are interchangeable; on powerpc platforms, they are not.

When on powerpc, set an IOMMU of NULL, which causes the powerpc busdma
code to bypass the iommu mapping; this leaves us with the physical
buffer addresses which the virtio host expects to see.

Tested by:	alfredo
Fixes:	782105f7c8 ("vtblk: Use busdma")
Sponsored by:	https://www.patreon.com/cperciva
Differential Revision:	https://reviews.freebsd.org/D37891
2023-01-10 19:42:04 -08:00
..
balloon virtio: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
block vtblk: Bypass iommu on powerpc 2023-01-10 19:42:04 -08:00
console virtio: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
mmio virtio_mmio: Support command-line parameters 2022-10-17 23:02:21 -07:00
network virtio: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
pci virtio: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
random virtio: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
scsi virtio: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
virtio_bus_if.m virtio: make the write_config buffer argument const 2021-10-11 11:52:18 +01:00
virtio_config.h
virtio_endian.h virtio: Silence a -Wunused warning 2022-11-14 15:07:34 -05:00
virtio_ids.h
virtio_if.m
virtio_ring.h
virtio.c virtio: make the write_config buffer argument const 2021-10-11 11:52:18 +01:00
virtio.h virtio: Remove unused devclass arguments to DRIVER_MODULE. 2022-05-06 15:46:57 -07:00
virtqueue.c Add SDT probes virtqueue::enqueue_segments:{entry,return} 2021-08-27 13:08:59 -04:00
virtqueue.h virtio: Add modern (v1) virtqueue support 2021-01-19 04:55:23 +00:00