Page MenuHomeFreeBSD

vtblk: Bypass iommu on powerpc
ClosedPublic

Authored by cperciva on Dec 28 2022, 6:32 AM.
Tags
None
Referenced Files
F153568279: D37891.diff
Tue, Apr 21, 11:54 PM
Unknown Object (File)
Sun, Apr 12, 1:48 AM
Unknown Object (File)
Sun, Apr 5, 12:27 AM
Unknown Object (File)
Sat, Apr 4, 6:38 PM
Unknown Object (File)
Sat, Mar 28, 7:26 PM
Unknown Object (File)
Sat, Mar 28, 4:03 AM
Unknown Object (File)
Mar 22 2026, 11:25 AM
Unknown Object (File)
Mar 22 2026, 5:18 AM
Subscribers

Details

Summary

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.

Fixes: 782105f7c898 ("vtblk: Use busdma")

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable