1 #ifndef SUNXI_HAL_CACHE_H 2 #define SUNXI_HAL_CACHE_H 3 4 #ifdef __cplusplus 5 extern "C" 6 { 7 #endif 8 9 #include <stddef.h> 10 #include <stdint.h> 11 #ifdef CONFIG_KERNEL_FREERTOS 12 #ifndef CONFIG_CORE_DSP0 13 #include <mmu_cache.h> 14 #include <armv7.h> 15 #endif 16 17 void hal_dcache_clean(unsigned long vaddr_start, unsigned long size); 18 void hal_dcache_invalidate(unsigned long vaddr_start, unsigned long size); 19 void hal_dcache_clean_invalidate(unsigned long vaddr_start, unsigned long size); 20 void hal_icache_invalidate_all(void); 21 void hal_dcache_invalidate_all(void); 22 void hal_dcache_clean_all(void); 23 #else 24 #include <arch.h> 25 #define hal_dcache_clean cpu_dcache_clean 26 #define hal_dcache_clean_invalidate cpu_dcache_clean_invalidate 27 #define hal_dcache_invalidate cpu_dcache_invalidate 28 #define hal_icache_invalidate_all cpu_icache_invalidate_all 29 #define hal_dcache_clean_all cpu_dcache_clean_all 30 #define hal_dcache_invalidate_all cpu_dcache_invalidate_all 31 32 void cpu_dcache_clean(unsigned long vaddr_start, unsigned long size); 33 void cpu_dcache_clean_invalidate(unsigned long vaddr_start, unsigned long size); 34 void cpu_dcache_invalidate(unsigned long vaddr_start, unsigned long size); 35 void cpu_icache_invalidate_all(void); 36 void cpu_dcache_clean_all(void); 37 void cpu_dcache_invalidate_all(void); 38 39 #endif 40 41 42 43 #ifdef __cplusplus 44 } 45 #endif 46 #endif 47