summaryrefslogtreecommitdiffstats
path: root/sys/mips/sibyte
diff options
context:
space:
mode:
authorneel <neel@FreeBSD.org>2010-03-04 05:23:08 +0000
committerneel <neel@FreeBSD.org>2010-03-04 05:23:08 +0000
commit78a2d254338c4cf75acfe90af26bf1c53f7686f6 (patch)
tree76f6e659fec1380f560085f6d1f80c9cf07c7c31 /sys/mips/sibyte
parent2c774f7ff297aac0eba32bca605868fbebc0567c (diff)
downloadFreeBSD-src-78a2d254338c4cf75acfe90af26bf1c53f7686f6.zip
FreeBSD-src-78a2d254338c4cf75acfe90af26bf1c53f7686f6.tar.gz
Add support for CPUs with cache coherent DMA. The two main changes are:
- We don't need to fall back to uncacheable memory to satisfy BUS_DMA_COHERENT requests on these CPUs. - The bus_dmamap_sync() is a no-op for these CPUs. A side-effect of this change is rename DMAMAP_COHERENT flag to DMAMAP_UNCACHEABLE. This conveys the purpose of the flag more accurately. Reviewed by: gonzo, imp
Diffstat (limited to 'sys/mips/sibyte')
-rw-r--r--sys/mips/sibyte/sb_machdep.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/sys/mips/sibyte/sb_machdep.c b/sys/mips/sibyte/sb_machdep.c
index c6043b8..8f59815 100644
--- a/sys/mips/sibyte/sb_machdep.c
+++ b/sys/mips/sibyte/sb_machdep.c
@@ -220,6 +220,13 @@ mips_init(void)
mips_cpu_init();
/*
+ * Sibyte has a L1 data cache coherent with DMA. This includes
+ * on-chip network interfaces as well as PCI/HyperTransport bus
+ * masters.
+ */
+ cpuinfo.cache_coherent_dma = TRUE;
+
+ /*
* XXX
* The kernel is running in 32-bit mode but the CFE is running in
* 64-bit mode. So the SR_KX bit in the status register is turned
OpenPOWER on IntegriCloud