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.

Reply via email to