Add cache mode traits
This commit is contained in:
parent
15497c342c
commit
4c66fa8b1b
@ -3,8 +3,7 @@
|
|||||||
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
# SPDX-License-Identifier: BSD-3-Clause-Clear
|
||||||
#
|
#
|
||||||
|
|
||||||
from enum import IntEnum
|
from aenum import Enum, IntFlag
|
||||||
from aenum import Enum
|
|
||||||
from test_utils.size import Size, Unit
|
from test_utils.size import Size, Unit
|
||||||
from attotime import attotimedelta
|
from attotime import attotimedelta
|
||||||
|
|
||||||
@ -27,11 +26,34 @@ class CacheMode(Enum):
|
|||||||
WA = "Write-Around"
|
WA = "Write-Around"
|
||||||
PT = "Pass-Through"
|
PT = "Pass-Through"
|
||||||
WO = "Write-Only"
|
WO = "Write-Only"
|
||||||
|
WI = "Write-Invalidate"
|
||||||
DEFAULT = WT
|
DEFAULT = WT
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return self.value
|
return self.value
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def get_traits(cache_mode):
|
||||||
|
if cache_mode == CacheMode.PT:
|
||||||
|
return 0
|
||||||
|
elif cache_mode == CacheMode.WT:
|
||||||
|
return CacheModeTrait.InsertRead | CacheModeTrait.InsertWrite
|
||||||
|
elif cache_mode == CacheMode.WB:
|
||||||
|
return CacheModeTrait.InsertRead | CacheModeTrait.InsertWrite | CacheModeTrait.LazyFlush
|
||||||
|
elif cache_mode == CacheMode.WO:
|
||||||
|
return CacheModeTrait.InsertWrite | CacheModeTrait.LazyFlush
|
||||||
|
elif cache_mode == CacheMode.WA:
|
||||||
|
return CacheModeTrait.InsertRead
|
||||||
|
elif cache_mode == CacheMode.WI:
|
||||||
|
return CacheModeTrait.InsertRead | CacheModeTrait.WriteInvalidate
|
||||||
|
|
||||||
|
|
||||||
|
class CacheModeTrait(IntFlag):
|
||||||
|
InsertWrite = 1
|
||||||
|
InsertRead = 2
|
||||||
|
LazyFlush = 4
|
||||||
|
WriteInvalidate = 8
|
||||||
|
|
||||||
|
|
||||||
class SeqCutOffPolicy(Enum):
|
class SeqCutOffPolicy(Enum):
|
||||||
full = 0
|
full = 0
|
||||||
|
@ -1 +1 @@
|
|||||||
Subproject commit 2f911d1117d2220d85c76bbd293a58bd291c63e1
|
Subproject commit 8e0855c0671e38cbf74f768e18f8b75d16752eb8
|
Loading…
Reference in New Issue
Block a user