HomeFreeBSD

vm_iommu_map()/unmap(): stop transiently wiring already wired pages

Description

vm_iommu_map()/unmap(): stop transiently wiring already wired pages

Namely, switch from vm_fault_quick_hold() to pmap_extract() KPI to
translate gpa to hpa. Assert that the looked up hpa belongs to the wired
page, as it should be for the VM which is configured for pass-throu
(this is theoretically a restriction that could be removed on newer
DMARs).

Noted by: alc
Reviewed by: alc, jhb, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D43140

Details

Provenance
kibAuthored on Dec 21 2023, 12:12 AM
Reviewer
alc
Differential Revision
D43140: vmm iommu: stop transiently wiring already wired pages
Parents
rG3abc72f8716b: vmm_iommu_modify(): split vm_iommu_map()/unmap() into separate functions
Branches
Unknown
Tags
Unknown