Skip to content

Commit a75af48

Browse files
fix(dart): make translations invalid during busy tlb
1 parent 1e0e17c commit a75af48

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

hw/arm/apple-silicon/dart.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -516,6 +516,10 @@ static IOMMUTLBEntry apple_dart_mapper_translate(IOMMUMemoryRegion *mr,
516516
.perm = IOMMU_NONE,
517517
};
518518

519+
if (FIELD_EX32(qatomic_read(&mapper->regs.tlb_op), DART_TLB_OP, BUSY)) {
520+
return entry;
521+
}
522+
519523
QEMU_LOCK_GUARD(&mapper->common.mutex);
520524

521525
sid = mapper->regs.sid_remap[sid];

0 commit comments

Comments
 (0)