summaryrefslogtreecommitdiffstats
path: root/sys/sparc64
diff options
context:
space:
mode:
authortmm <tmm@FreeBSD.org>2002-10-25 17:31:31 +0000
committertmm <tmm@FreeBSD.org>2002-10-25 17:31:31 +0000
commit6bff02396b37ef2d411d1c03859c95155f8d22cc (patch)
tree4d777b2fb03b5b4c1e3dabd9d0435c52a21f9ec1 /sys/sparc64
parent22f46b3ac74623b7d82314869dde14ccccb0b6da (diff)
downloadFreeBSD-src-6bff02396b37ef2d411d1c03859c95155f8d22cc.zip
FreeBSD-src-6bff02396b37ef2d411d1c03859c95155f8d22cc.tar.gz
Fix iommu_dvmamap_sync() to use the right address when flushing the
streaming cache. This bug could have the potential to cause data corruption on systems with Psycho U2P bridges (Sabre bridges have no streaming cache). However, due to the usual driver architecture, it is believed that corruption did occur only in rare cases (if at all).
Diffstat (limited to 'sys/sparc64')
-rw-r--r--sys/sparc64/sparc64/iommu.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/sparc64/sparc64/iommu.c b/sys/sparc64/sparc64/iommu.c
index b4128f4..0391e99 100644
--- a/sys/sparc64/sparc64/iommu.c
+++ b/sys/sparc64/sparc64/iommu.c
@@ -744,7 +744,7 @@ iommu_dvmamap_sync(bus_dma_tag_t pt, bus_dma_tag_t dt, struct iommu_state *is,
vm_offset_t va;
vm_size_t len;
- va = (vm_offset_t)map->buf;
+ va = (vm_offset_t)map->start;
len = map->buflen;
if ((op & BUS_DMASYNC_PREREAD) != 0)
membar(Sync);
OpenPOWER on IntegriCloud