86a87,90
> # Enum for cache clusivity, currently mostly inclusive or mostly
> # exclusive.
> class Clusivity(Enum): vals = ['mostly_incl', 'mostly_excl']
>
89a94,105
>
> # Control whether this cache should be mostly inclusive or mostly
> # exclusive with respect to upstream caches. The behaviour on a
> # fill is determined accordingly. For a mostly inclusive cache,
> # blocks are allocated on all fill operations. Thus, L1 caches
> # should be set as mostly inclusive even if they have no upstream
> # caches. In the case of a mostly exclusive cache, fills are not
> # allocating unless they came directly from a non-caching source,
> # e.g. a table walker. Additionally, on a hit from an upstream
> # cache a line is dropped for a mostly exclusive cache.
> clusivity = Param.Clusivity('mostly_incl',
> "Clusivity with upstream cache")