Defines | |
| #define | os_flush_cache_all() v6_flush_kern_cache_all_L2() |
| #define | os_cache_clean_range(start, len) |
| #define | os_cache_inv_range(start, len) |
| #define | os_cache_flush_range(start, len) |
Functions | |
| void | v6_flush_kern_cache_all_L2 (void) |
These functions are for synchronizing processor cache with RAM.
| #define os_cache_clean_range | ( | start, | |||
| len | ) |
{ \
void *s = (void*)start; \
void *e = s + len; \
dmac_map_area(s, len, DMA_TO_DEVICE); \
outer_clean_range(__pa(s), __pa(e)); \
}
Clean a range of addresses from the cache. That is, write updates back to (RAM, next layer).
| start | Starting virtual address | |
| len | Number of bytes to flush |
Referenced by sah_HW_Reset(), sah_Make_Links(), and sah_Physicalise_Links().
| #define os_cache_flush_range | ( | start, | |||
| len | ) |
{ \
void *s = (void*)start; \
void *e = s + len; \
dmac_flush_range(s, e); \
outer_flush_range(__pa(s), __pa(e)); \
}
Flush a range of addresses from the cache. That is, perform clean and invalidate
| start | Starting virtual address | |
| len | Number of bytes to flush |
Referenced by do_scc_decrypt_region(), do_scc_encrypt_region(), sah_Make_Links(), and sah_Physicalise_Links().
| #define os_cache_inv_range | ( | start, | |||
| len | ) |
{ \
void *s = (void*)start; \
void *e = s + len; \
dmac_unmap_area(s, len, DMA_FROM_DEVICE); \
outer_inv_range(__pa(s), __pa(e)); \
}
Invalidate a range of addresses in the cache
| start | Starting virtual address | |
| len | Number of bytes to flush |
Referenced by do_scc_encrypt_region(), sah_DePhysicalise_Links(), and sah_HW_Reset().
| #define os_flush_cache_all | ( | void | ) | v6_flush_kern_cache_all_L2() |
Flush and invalidate all cache lines.
Referenced by sah_Copy_Descriptors(), and sah_Destroy_Descriptors().
| void v6_flush_kern_cache_all_L2 | ( | void | ) |
ARM-routine to flush all cache. Defined here, because it exists in no easy-access header file. ARM-11 with L210 cache only!
| © Freescale Semiconductor, Inc., 2007.
All rights reserved. Freescale Confidential Proprietary NDA Required |
|