aboutsummaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-rw-r--r--sys/amd64/vmm/vmm.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/sys/amd64/vmm/vmm.c b/sys/amd64/vmm/vmm.c
index 6dfa33adf63c..5cb2776fe917 100644
--- a/sys/amd64/vmm/vmm.c
+++ b/sys/amd64/vmm/vmm.c
@@ -657,10 +657,10 @@ vm_iommu_map(struct vm *vm)
pmap = vmspace_pmap(vm_vmspace(vm));
for (i = 0; i < VM_MAX_MEMMAPS; i++) {
- if (!vm_memseg_sysmem(vm, i))
+ mm = &vm->mem.mem_maps[i];
+ if (!vm_memseg_sysmem(vm, mm->segid))
continue;
- mm = &vm->mem.mem_maps[i];
KASSERT((mm->flags & VM_MEMMAP_F_IOMMU) == 0,
("iommu map found invalid memmap %#lx/%#lx/%#x",
mm->gpa, mm->len, mm->flags));
@@ -705,10 +705,10 @@ vm_iommu_unmap(struct vm *vm)
sx_assert(&vm->mem.mem_segs_lock, SX_LOCKED);
for (i = 0; i < VM_MAX_MEMMAPS; i++) {
- if (!vm_memseg_sysmem(vm, i))
+ mm = &vm->mem.mem_maps[i];
+ if (!vm_memseg_sysmem(vm, mm->segid))
continue;
- mm = &vm->mem.mem_maps[i];
if ((mm->flags & VM_MEMMAP_F_IOMMU) == 0)
continue;
mm->flags &= ~VM_MEMMAP_F_IOMMU;