> The virtio-net function of the AMD Pensando DSC2-200 (Elba) DPU, as > shipped by Oracle (1af4:1041, subsystem 108e:1200), cannot DMA to > arbitrary 64-bit bus addresses, and Oracle advises limiting it to 48 > bits. virtio_pci gives it a 64-bit mask, so its virtqueues stop > completing requests once the IOMMU starts handing it IOVAs above 2^48. > The card is used in OCI bare-metal shapes such as BM.Standard.E6.288. > > On those AMD EPYC 9005 hosts the AMD IOMMU supports a 6-level v1 page > table (EFR[HATS] = 2), so the aperture spans all 64 bits and the IOVA > allocator, which works down from min(mask, aperture), returns addresses > just below 2^64: > > - With iommu.forcedac=1, the first control virtqueue command never > completes and virtio_net hangs in probe. > > [ ... ] > > Cc: [email protected] # 6.5+ > Co-developed-by: Kyle McMartin <[email protected]> > Signed-off-by: Kyle McMartin <[email protected]> > Signed-off-by: Vlad Poenaru <[email protected]>
Sashiko has reviewed this patch and found no issues. -- Sashiko AI review ยท https://sashiko.dev/#/patchset/[email protected]?part=1
