HomeFreeBSD

MFC 339432: Do not flush cache for PCIe config window.

Description

MFC 339432: Do not flush cache for PCIe config window.

Apparently AMD machines cannot tolerate this. This was uncovered by
r339386, where cache flush started really flushing the requested range.

Introduce pmap_mapdev_pciecfg(), which simply does not flush cache
comparing with pmap_mapdev(). It assumes that the MCFG region was
never accessed through the cacheable mapping, which is most likely
true for machine to boot at all.

Note that i386 does not need the change, since the architecture
handles access per-page due to the KVA shortage, and page remapping
already does not flush the cache.

MFC note: 339386 has not been MFC'd to 11, but merging this change
should still be fine for 11 and reduces conflicts in MFCs of other
changes.

Details

Provenance
jhbAuthored on
Parents
rS351438: vfs: assert the lock held in MNT_REF/MNT_REL
Branches
Unknown
Tags
Unknown