CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2026/02/23 19:03:07
Modified files:
sys/dev/acpi : acpidmar.c
Log message:
Make acpidmar useful for general IOMMU use on amd64.
1. Remove panics in favor of error returns
2. Make unmap ordering clear (PTEs > invalidate IOTLB > free IOVA)
3. Add locking so concurrent mappings cannot race installing intermediate
page table levels (when marked MPSAFE)
For AMD-Vi:
1. Add cache flush for page tables and IVHD command/event data
structures (no-op on coherent IOMMUs)
2. Add per-page/range IOTLB invalidation
3. Fix device/interrupt-table invalidations to be keyed by requester device ID
4. Move batch completion variable from stack to softc
For Intel VT-d:
1. Finish queued invalidation (QI) with batching
2. Add page-selective invalidation (PSI) with address-mask coalescing
And:
Identity map the APIC MSI adress window per-domain so interrupts work.