1
0

RocketTile: if the dcache is incoherent, report it in DTS

This commit is contained in:
Wesley W. Terpstra 2017-11-20 17:19:50 -08:00
parent 39f1acfd34
commit baa31edf7d

View File

@ -66,6 +66,9 @@ class RocketTile(val rocketParams: RocketTileParams)(implicit p: Parameters) ext
val itim = if (frontend.icache.slaveNode.edges.in.isEmpty) Map() else Map( val itim = if (frontend.icache.slaveNode.edges.in.isEmpty) Map() else Map(
"sifive,itim" -> ofRef(frontend.icache.device)) "sifive,itim" -> ofRef(frontend.icache.device))
val incoherent = if (!rocketParams.core.useAtomicsOnlyForIO) Map() else Map(
"sifive,d-cache-incoherent" -> Nil)
val icache = rocketParams.icache.map(i => Map( val icache = rocketParams.icache.map(i => Map(
"i-cache-block-size" -> ofInt(block), "i-cache-block-size" -> ofInt(block),
"i-cache-sets" -> ofInt(i.nSets), "i-cache-sets" -> ofInt(i.nSets),
@ -105,7 +108,7 @@ class RocketTile(val rocketParams: RocketTileParams)(implicit p: Parameters) ext
"status" -> ofStr("okay"), "status" -> ofStr("okay"),
"clock-frequency" -> Seq(ResourceInt(rocketParams.core.bootFreqHz)), "clock-frequency" -> Seq(ResourceInt(rocketParams.core.bootFreqHz)),
"riscv,isa" -> ofStr(isa)) "riscv,isa" -> ofStr(isa))
++ dcache ++ icache ++ nextlevel ++ mmu ++ itlb ++ dtlb ++ dtim ++itim) ++ dcache ++ icache ++ nextlevel ++ mmu ++ itlb ++ dtlb ++ dtim ++ itim ++ incoherent)
} }
} }
val intcDevice = new Device { val intcDevice = new Device {