The branch main has been updated by kib:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=c0047e7c356953d138194ff71cc510ffe85425f0

commit c0047e7c356953d138194ff71cc510ffe85425f0
Author:     Konstantin Belousov <[email protected]>
AuthorDate: 2023-12-22 22:41:19 +0000
Commit:     Konstantin Belousov <[email protected]>
CommitDate: 2023-12-26 01:28:23 +0000

    iommu_gas_remove(): consolidate places where decision is made to keep the 
entry
    
    Move all flag checks into iommu_gas_remove_unmap().
    
    Sponsored by:   The FreeBSD Foundation
    MFC after:      1 week
---
 sys/dev/iommu/iommu_gas.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/sys/dev/iommu/iommu_gas.c b/sys/dev/iommu/iommu_gas.c
index cfd375c658c3..4b6141b981da 100644
--- a/sys/dev/iommu/iommu_gas.c
+++ b/sys/dev/iommu/iommu_gas.c
@@ -693,6 +693,7 @@ iommu_gas_remove_unmap(struct iommu_domain *domain,
        IOMMU_DOMAIN_ASSERT_LOCKED(domain);
 
        if ((entry->flags & (IOMMU_MAP_ENTRY_UNMAPPED |
+           IOMMU_MAP_ENTRY_RMRR |
            IOMMU_MAP_ENTRY_REMOVING)) != 0)
                return;
        MPASS((entry->flags & IOMMU_MAP_ENTRY_PLACE) == 0);
@@ -720,8 +721,6 @@ iommu_gas_remove_locked(struct iommu_domain *domain,
                KASSERT(start <= entry->start,
                    ("iommu_gas_remove entry (%#jx, %#jx) start %#jx",
                    entry->start, entry->end, start));
-               if ((entry->flags & IOMMU_MAP_ENTRY_RMRR) != 0)
-                       continue;
                iommu_gas_remove_unmap(domain, entry, gc);
        }
        if (iommu_gas_remove_clip_right(domain, end, entry, *r2)) {

Reply via email to