Update tlb_plugin_lookup() to check TLB_MMIO in slow_flags when TLB_FORCE_SLOW is set.
Signed-off-by: Anton Blanchard <[email protected]> --- accel/tcg/cputlb.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/accel/tcg/cputlb.c b/accel/tcg/cputlb.c index 7f7c208ba1..7150d6d126 100644 --- a/accel/tcg/cputlb.c +++ b/accel/tcg/cputlb.c @@ -1593,7 +1593,8 @@ bool tlb_plugin_lookup(CPUState *cpu, vaddr addr, int mmu_idx, data->phys_addr = full->phys_addr | (addr & ~TARGET_PAGE_MASK); /* We must have an iotlb entry for MMIO */ - if (tlb_addr & TLB_MMIO) { + if ((tlb_addr & TLB_FORCE_SLOW) && + (full->slow_flags[access_type] & TLB_MMIO)) { MemoryRegionSection *section = full->section; data->is_io = true; data->mr = section->mr; -- 2.34.1
