Error: don't be an exception wrt. caching
Prior to this PR, the error device was allowed to be cached by multiple actors despite never probing any of them. This is a pretty unusual set of properties that has caused us trouble several times now in the past. Let's instead put the Error device into one of two very well established categories: a straight-up MMIO device or a tracked memory region.
This commit is contained in:
@ -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.UNCACHEABLE) // acquire -> uncached, tracked, cached
|
||||
require (!supportsAcquireB || regionType >= RegionType.UNCACHED) // 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