HomeFreeBSD

vtblk: Bypass iommu on powerpc

Description

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: 782105f7c898 ("vtblk: Use busdma")
Sponsored by: https://www.patreon.com/cperciva
Differential Revision: https://reviews.freebsd.org/D37891

Details

Provenance
cpercivaAuthored on Dec 28 2022, 6:23 AM
Differential Revision
D37891: vtblk: Bypass iommu on powerpc
Parents
rG8ea418299548: tcp: Build RACK and BBR stacks as a part of LINT
Branches
Unknown
Tags
Unknown