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:
		| @@ -26,7 +26,7 @@ abstract class DevNullDevice(params: ErrorParams, beatBytes: Int = 4) | ||||
|     Seq(TLManagerParameters( | ||||
|       address            = params.address, | ||||
|       resources          = device.reg("mem"), | ||||
|       regionType         = RegionType.UNCACHED, | ||||
|       regionType         = RegionType.UNCACHEABLE, | ||||
|       executable         = true, | ||||
|       supportsAcquireT   = xfer, | ||||
|       supportsAcquireB   = xfer, | ||||
|   | ||||
| @@ -40,7 +40,7 @@ case class TLManagerParameters( | ||||
|   require (supportsAcquireB.contains(supportsAcquireT),  s"AcquireB($supportsAcquireB) < AcquireT($supportsAcquireT)") | ||||
|  | ||||
|   // 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 || supportsGet) // uncached -> supportsGet | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user