wut/include/coreinit/cache.h

89 lines
1.2 KiB
C
Raw Normal View History

2016-01-07 13:07:13 +01:00
#pragma once
#include <wut.h>
2016-01-07 17:02:54 +01:00
/**
* \defgroup coreinit_cache Cache
* \ingroup coreinit
2016-01-07 20:24:54 +01:00
*
* Cache synchronisation functions.
2016-01-07 17:02:54 +01:00
* @{
*/
2016-01-07 15:09:43 +01:00
#ifdef __cplusplus
extern "C" {
#endif
2016-01-07 13:07:13 +01:00
2016-01-07 20:24:54 +01:00
/**
* Equivalent to dcbi instruction.
*/
2016-01-07 13:07:13 +01:00
void
2016-01-07 13:48:11 +01:00
DCInvalidateRange(void *addr,
uint32_t size);
2016-01-07 13:07:13 +01:00
2016-01-07 20:24:54 +01:00
/**
* Equivalent to dcbf, sync, eieio.
*/
2016-01-07 13:07:13 +01:00
void
2016-01-07 13:48:11 +01:00
DCFlushRange(void *addr,
uint32_t size);
2016-01-07 13:07:13 +01:00
2016-01-07 20:24:54 +01:00
/**
* Equivalent to dcbst, sync, eieio.
*/
2016-01-07 13:07:13 +01:00
void
2016-01-07 13:48:11 +01:00
DCStoreRange(void *addr,
uint32_t size);
2016-01-07 13:07:13 +01:00
2016-01-07 20:24:54 +01:00
/**
* Equivalent to dcbf.
*
* Does not perform sync, eieio like DCFlushRange.
*/
2016-01-07 13:07:13 +01:00
void
2016-01-07 13:48:11 +01:00
DCFlushRangeNoSync(void *addr,
uint32_t size);
2016-01-07 13:07:13 +01:00
2016-01-07 20:24:54 +01:00
/**
* Equivalent to dcbst.
*
* Does not perform sync, eieio like DCStoreRange.
*/
2016-01-07 13:07:13 +01:00
void
2016-01-07 13:48:11 +01:00
DCStoreRangeNoSync(void *addr,
uint32_t size);
2016-01-07 13:07:13 +01:00
2016-01-07 20:24:54 +01:00
/**
* Equivalent to dcbz instruction.
*/
2016-01-07 13:07:13 +01:00
void
2016-01-07 13:48:11 +01:00
DCZeroRange(void *addr,
uint32_t size);
2016-01-07 13:07:13 +01:00
2016-01-07 20:24:54 +01:00
/**
* Equivalent to dcbt instruction.
*/
2016-01-07 13:07:13 +01:00
void
2016-01-07 13:48:11 +01:00
DCTouchRange(void *addr,
uint32_t size);
2016-01-07 13:07:13 +01:00
2016-01-07 20:24:54 +01:00
/**
* Equivalent to icbi instruction.
*/
void
ICInvalidateRange(void *addr,
uint32_t size);
2016-01-07 15:09:43 +01:00
#ifdef __cplusplus
}
#endif
2016-01-07 17:02:54 +01:00
/** @} */