cache.h 774 B

1234567891011121314151617181920212223242526272829
  1. /*
  2. * arch/arm/include/asm/cache.h
  3. */
  4. #ifndef __ASMARM_CACHE_H
  5. #define __ASMARM_CACHE_H
  6. #define L1_CACHE_SHIFT CONFIG_ARM_L1_CACHE_SHIFT
  7. #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
  8. /*
  9. * Memory returned by kmalloc() may be used for DMA, so we must make
  10. * sure that all such allocations are cache aligned. Otherwise,
  11. * unrelated code may cause parts of the buffer to be read into the
  12. * cache before the transfer is done, causing old data to be seen by
  13. * the CPU.
  14. */
  15. #define ARCH_DMA_MINALIGN L1_CACHE_BYTES
  16. /*
  17. * With EABI on ARMv5 and above we must have 64-bit aligned slab pointers.
  18. */
  19. #if defined(CONFIG_AEABI) && (__LINUX_ARM_ARCH__ >= 5)
  20. #define ARCH_SLAB_MINALIGN 8
  21. #endif
  22. #define __read_mostly __attribute__((__section__(".data..read_mostly")))
  23. #endif