hal_cache.h 1.3 KB

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