Make ErrorDevice UNCACHEABLE instead of UNCACHED
...even though it still supports Acquire. This avoids needing to flush the D$ on FENCE.I because of the presence of the ErrorDevice.
This commit is contained in:
parent
ad0b9a0b1b
commit
000cde2f8a
@ -26,7 +26,7 @@ abstract class DevNullDevice(params: ErrorParams, beatBytes: Int = 4)
|
|||||||
Seq(TLManagerParameters(
|
Seq(TLManagerParameters(
|
||||||
address = params.address,
|
address = params.address,
|
||||||
resources = device.reg("mem"),
|
resources = device.reg("mem"),
|
||||||
regionType = RegionType.UNCACHED,
|
regionType = RegionType.UNCACHEABLE,
|
||||||
executable = true,
|
executable = true,
|
||||||
supportsAcquireT = xfer,
|
supportsAcquireT = xfer,
|
||||||
supportsAcquireB = xfer,
|
supportsAcquireB = xfer,
|
||||||
|
@ -40,7 +40,7 @@ case class TLManagerParameters(
|
|||||||
require (supportsAcquireB.contains(supportsAcquireT), s"AcquireB($supportsAcquireB) < AcquireT($supportsAcquireT)")
|
require (supportsAcquireB.contains(supportsAcquireT), s"AcquireB($supportsAcquireB) < AcquireT($supportsAcquireT)")
|
||||||
|
|
||||||
// Make sure that the regionType agrees with the capabilities
|
// Make sure that the regionType agrees with the capabilities
|
||||||
require (!supportsAcquireB || regionType >= RegionType.UNCACHED) // acquire -> uncached, tracked, cached
|
require (!supportsAcquireB || regionType >= RegionType.UNCACHEABLE) // acquire -> uncached, tracked, cached
|
||||||
require (regionType <= RegionType.UNCACHED || supportsAcquireB) // tracked, cached -> acquire
|
require (regionType <= RegionType.UNCACHED || supportsAcquireB) // tracked, cached -> acquire
|
||||||
require (regionType != RegionType.UNCACHED || supportsGet) // uncached -> supportsGet
|
require (regionType != RegionType.UNCACHED || supportsGet) // uncached -> supportsGet
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user