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.