2022-04-10 00:17:06 +00:00
|
|
|
#ifndef _DOLPHIN_OSCACHE
|
|
|
|
#define _DOLPHIN_OSCACHE
|
|
|
|
|
2022-10-21 11:24:45 +00:00
|
|
|
#include "dolphin/types.h"
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2022-11-03 08:19:58 +00:00
|
|
|
void DCInvalidateRange(void* addr, u32 nBytes);
|
2022-09-13 04:26:54 +00:00
|
|
|
void DCFlushRange(void* addr, u32 nBytes);
|
2022-11-03 08:19:58 +00:00
|
|
|
void DCStoreRange(void* addr, u32 nBytes);
|
|
|
|
void DCFlushRangeNoSync(void* addr, u32 nBytes);
|
|
|
|
void DCStoreRangeNoSync(void* addr, u32 nBytes);
|
|
|
|
void DCZeroRange(void* addr, u32 nBytes);
|
|
|
|
void DCTouchRange(void* addr, u32 nBytes);
|
|
|
|
void ICInvalidateRange(void* addr, u32 nBytes);
|
|
|
|
|
|
|
|
#define LC_BASE_PREFIX 0xE000
|
|
|
|
#define LC_BASE (LC_BASE_PREFIX << 16)
|
2022-09-13 04:26:54 +00:00
|
|
|
|
2022-04-10 00:17:06 +00:00
|
|
|
void LCEnable();
|
2022-11-03 08:19:58 +00:00
|
|
|
void LCDisable(void);
|
|
|
|
void LCLoadBlocks(void* destTag, void* srcAddr, u32 numBlocks);
|
|
|
|
void LCStoreBlocks(void* destAddr, void* srcTag, u32 numBlocks);
|
|
|
|
u32 LCLoadData(void* destAddr, void* srcAddr, u32 nBytes);
|
|
|
|
u32 LCStoreData(void* destAddr, void* srcAddr, u32 nBytes);
|
|
|
|
u32 LCQueueLength(void);
|
|
|
|
void LCQueueWait(u32 len);
|
|
|
|
void LCFlushQueue(void);
|
2022-04-10 00:17:06 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
|
2022-10-09 05:13:17 +00:00
|
|
|
#endif // _DOLPHIN_OSCACHE
|