|
FreeNOS
|
Cache management interface. More...
#include <Cache.h>
Public Types | |
| enum | Result { Success, InvalidArgument, IOError, NotSupported } |
| Result codes. More... | |
| enum | Type { Instruction, Data, Unified } |
| Cache types. More... | |
Public Member Functions | |
| virtual Result | invalidate (Type type)=0 |
| Invalidate the entire cache. More... | |
| virtual Result | cleanInvalidate (Type type)=0 |
| Clean and invalidate entire cache. More... | |
| virtual Result | cleanInvalidateAddress (Type type, Address addr)=0 |
| Clean and invalidate one memory page. More... | |
| virtual Result | cleanAddress (Type type, Address addr)=0 |
| Clean one memory page. More... | |
| virtual Result | invalidateAddress (Type type, Address addr)=0 |
| Invalidate one memory page. More... | |
| virtual Result | cleanData (Address addr) |
| Clean one data page. More... | |
| virtual Result | cleanData (void *ptr) |
| Clean one data page. More... | |
| enum Cache::Result |
| enum Cache::Type |
Clean one memory page.
| type | Cache type to clean |
| addr | Virtual memory address of the page to clean and invalidate |
Implemented in ARMCacheV7, ARMCacheV6, and IntelCache.
Referenced by cleanData().
|
virtual |
Clean one data page.
| addr | Virtual memory address to clean |
Definition at line 20 of file Cache.cpp.
References cleanAddress(), and Data.
Referenced by ProcessShares::createShare(), MemoryChannel::flushPage(), Process::initialize(), ARMSecondTable::map(), ARMFirstTable::map(), ARMFirstTable::mapLarge(), ARMSecondTable::unmap(), ARMFirstTable::unmap(), and VMCtlHandler().
|
virtual |
Clean one data page.
| ptr | Pointer with a virtual memory address to clean |
Definition at line 25 of file Cache.cpp.
References cleanAddress(), and Data.
Clean and invalidate entire cache.
This operation will clean and invalidate the entire given cache.
| type | Cache type to clean and invalidate. |
Implemented in ARMCacheV7, ARMCacheV6, and IntelCache.
Clean and invalidate one memory page.
| type | Cache type to clean and invalidate. |
| addr | Virtual memory address of the page to clean and invalidate |
Implemented in ARMCacheV7, ARMCacheV6, and IntelCache.
Invalidate the entire cache.
| type | Cache type to invalidate. |
Implemented in ARMCacheV7, ARMCacheV6, and IntelCache.
Invalidate one memory page.
| type | Cache type to invalidate |
| addr | Virtual memory address of the page to invalidate |
Implemented in ARMCacheV7, ARMCacheV6, and IntelCache.
1.8.17