cache.h 969 B

1234567891011121314151617181920212223242526272829303132333435
  1. /*
  2. * include/asm-xtensa/cache.h
  3. *
  4. * This file is subject to the terms and conditions of the GNU General Public
  5. * License. See the file "COPYING" in the main directory of this archive
  6. * for more details.
  7. *
  8. * (C) 2001 - 2005 Tensilica Inc.
  9. */
  10. #ifndef _XTENSA_CACHE_H
  11. #define _XTENSA_CACHE_H
  12. #include <variant/core.h>
  13. #define L1_CACHE_SHIFT XCHAL_DCACHE_LINEWIDTH
  14. #define L1_CACHE_BYTES XCHAL_DCACHE_LINESIZE
  15. #define SMP_CACHE_BYTES L1_CACHE_BYTES
  16. #define DCACHE_WAY_SIZE (XCHAL_DCACHE_SIZE/XCHAL_DCACHE_WAYS)
  17. #define ICACHE_WAY_SIZE (XCHAL_ICACHE_SIZE/XCHAL_ICACHE_WAYS)
  18. #define DCACHE_WAY_SHIFT (XCHAL_DCACHE_SETWIDTH + XCHAL_DCACHE_LINEWIDTH)
  19. #define ICACHE_WAY_SHIFT (XCHAL_ICACHE_SETWIDTH + XCHAL_ICACHE_LINEWIDTH)
  20. /* Maximum cache size per way. */
  21. #if DCACHE_WAY_SIZE >= ICACHE_WAY_SIZE
  22. # define CACHE_WAY_SIZE DCACHE_WAY_SIZE
  23. #else
  24. # define CACHE_WAY_SIZE ICACHE_WAY_SIZE
  25. #endif
  26. #define ARCH_DMA_MINALIGN L1_CACHE_BYTES
  27. #endif /* _XTENSA_CACHE_H */