diff --git a/sys/arm64/arm64/gicv3_its.c b/sys/arm64/arm64/gicv3_its.c --- a/sys/arm64/arm64/gicv3_its.c +++ b/sys/arm64/arm64/gicv3_its.c @@ -1197,6 +1197,10 @@ return (NULL); } + /* Make sure device sees zeroed ITT. */ + if ((sc->sc_its_flags & ITS_FLAGS_CMDQ_FLUSH) != 0) + cpu_dcache_wb_range(its_dev->itt, its_dev->itt_size); + mtx_lock_spin(&sc->sc_its_dev_lock); TAILQ_INSERT_TAIL(&sc->sc_its_dev_list, its_dev, entry); mtx_unlock_spin(&sc->sc_its_dev_lock);