diff options
Diffstat (limited to 'src/mem/protocol/RubySlicc_Types.sm')
-rw-r--r-- | src/mem/protocol/RubySlicc_Types.sm | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/mem/protocol/RubySlicc_Types.sm b/src/mem/protocol/RubySlicc_Types.sm index 9679b7b6f..386ae2ee1 100644 --- a/src/mem/protocol/RubySlicc_Types.sm +++ b/src/mem/protocol/RubySlicc_Types.sm @@ -98,6 +98,30 @@ external_type(Sequencer) { void profileNack(Address, int, int, uint64); } +external_type(AbstractEntry, primitive="yes"); + +external_type(DirectoryMemory) { + AbstractEntry lookup(Address); + bool isPresent(Address); +} + +external_type(AbstractCacheEntry, primitive="yes"); + +external_type(CacheMemory) { + bool cacheAvail(Address); + Address cacheProbe(Address); + void allocate(Address, AbstractCacheEntry); + void deallocate(Address); + AbstractCacheEntry lookup(Address); + void changePermission(Address, AccessPermission); + bool isTagPresent(Address); + void profileMiss(CacheMsg); +} + +external_type(MemoryControl, inport="yes", outport="yes") { + +} + external_type(TimerTable, inport="yes") { bool isReady(); Address readyAddress(); @@ -119,3 +143,5 @@ external_type(GenericBloomFilter) { } + + |