|
void | Xil_DCacheEnable (void) |
| Enable the Data cache.
|
|
void | Xil_DCacheDisable (void) |
| Disable the Data cache.
|
|
void | Xil_DCacheInvalidate (void) |
| Invalidate the Data cache. The contents present in the cache are cleaned and invalidated.
|
|
void | Xil_DCacheInvalidateRange (INTPTR adr, u32 len) |
| Invalidate the Data cache for the given address range. If the bytes specified by the address (adr) are cached by the Data cache,the cacheline containing that byte is invalidated. If the cacheline is modified (dirty), the modified contents are lost and are NOT written to system memory before the line is invalidated.
|
|
void | Xil_DCacheFlush (void) |
| Flush the Data cache.
|
|
void | Xil_DCacheFlushRange (INTPTR adr, u32 len) |
| Flush the Data cache for the given address range. If the bytes specified by the address (adr) are cached by the Data cache, the cacheline containing those bytes is invalidated.If the cacheline is modified (dirty), the written to system memory before the lines are invalidated.
|
|
void | Xil_ICacheEnable (void) |
| Enable the instruction cache.
|
|
void | Xil_ICacheDisable (void) |
| Disable the instruction cache.
|
|
void | Xil_ICacheInvalidate (void) |
| Invalidate the entire instruction cache.
|
|
void | Xil_ICacheInvalidateRange (INTPTR adr, u32 len) |
| Invalidate the instruction cache for the given address range. If the bytes specified by the address (adr) are cached by the Data cache, the cacheline containing that byte is invalidated. If the cachelineis modified (dirty), the modified contents are lost and are NOT written to system memory before the line is invalidated.
|
|
Cache functions provide access to cache related operations such as flush and invalidate for instruction and data caches. It gives option to perform the cache operations on a single cacheline, a range of memory and an entire cache.
MODIFICATION HISTORY:
Ver Who Date Changes
----- ---- -------- -----------------------------------------------
1.00a ecm 01/29/10 First release
3.04a sdm 01/02/12 Remove redundant dsb/dmb instructions in cache maintenance
APIs.
6.8 aru 09/06/18 Removed compilation warnings for ARMCC toolchain.
◆ Xil_DCacheDisable()
void Xil_DCacheDisable |
( |
void |
| ) |
|
Disable the Data cache.
- Returns
- None.
- Returns
- None.
◆ Xil_DCacheEnable()
void Xil_DCacheEnable |
( |
void |
| ) |
|
Enable the Data cache.
- Returns
- None.
- Returns
- None.
◆ Xil_DCacheFlush()
void Xil_DCacheFlush |
( |
void |
| ) |
|
Flush the Data cache.
- Returns
- None.
Flush the Data cache.
- Returns
- None.
◆ Xil_DCacheFlushRange()
void Xil_DCacheFlushRange |
( |
INTPTR |
adr, |
|
|
u32 |
len |
|
) |
| |
Flush the Data cache for the given address range. If the bytes specified by the address (adr) are cached by the Data cache, the cacheline containing those bytes is invalidated.If the cacheline is modified (dirty), the written to system memory before the lines are invalidated.
- Parameters
-
adr | 32bit start address of the range to be flushed. |
len | Length of the range to be flushed in bytes |
- Returns
- None.
◆ Xil_DCacheInvalidate()
void Xil_DCacheInvalidate |
( |
void |
| ) |
|
Invalidate the Data cache. The contents present in the cache are cleaned and invalidated.
- Returns
- None.
- Note
- In Cortex-A53, functionality to simply invalid the cachelines is not present. Such operations are a problem for an environment that supports virtualisation. It would allow one OS to invalidate a line belonging to another OS. This could lead to the other OS crashing because of the loss of essential data. Hence, such operations are promoted to clean and invalidate which avoids such corruption.
Invalidate the Data cache. The contents present in the cache are cleaned and invalidated.
- Returns
- None.
◆ Xil_DCacheInvalidateRange()
void Xil_DCacheInvalidateRange |
( |
INTPTR |
adr, |
|
|
u32 |
len |
|
) |
| |
Invalidate the Data cache for the given address range. If the bytes specified by the address (adr) are cached by the Data cache,the cacheline containing that byte is invalidated. If the cacheline is modified (dirty), the modified contents are lost and are NOT written to system memory before the line is invalidated.
- Parameters
-
adr | 32bit start address of the range to be invalidated. |
len | Length of range to be invalidated in bytes. |
- Returns
- None.
◆ Xil_ICacheDisable()
void Xil_ICacheDisable |
( |
void |
| ) |
|
Disable the instruction cache.
- Returns
- None.
- Returns
- None.
◆ Xil_ICacheEnable()
void Xil_ICacheEnable |
( |
void |
| ) |
|
Enable the instruction cache.
- Returns
- None.
- Returns
- None.
◆ Xil_ICacheInvalidate()
void Xil_ICacheInvalidate |
( |
void |
| ) |
|
Invalidate the entire instruction cache.
- Returns
- None.
- Returns
- None.
◆ Xil_ICacheInvalidateRange()
void Xil_ICacheInvalidateRange |
( |
INTPTR |
adr, |
|
|
u32 |
len |
|
) |
| |
Invalidate the instruction cache for the given address range. If the bytes specified by the address (adr) are cached by the Data cache, the cacheline containing that byte is invalidated. If the cachelineis modified (dirty), the modified contents are lost and are NOT written to system memory before the line is invalidated.
- Parameters
-
adr | 32bit start address of the range to be invalidated. |
len | Length of the range to be invalidated in bytes. |
- Returns
- None.