mmu_context.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * include/asm-sh/cpu-sh4/mmu_context.h
  3. *
  4. * Copyright (C) 1999 Niibe Yutaka
  5. *
  6. * This file is subject to the terms and conditions of the GNU General Public
  7. * License. See the file "COPYING" in the main directory of this archive
  8. * for more details.
  9. */
  10. #ifndef __ASM_CPU_SH4_MMU_CONTEXT_H
  11. #define __ASM_CPU_SH4_MMU_CONTEXT_H
  12. #define MMU_PTEH 0xFF000000 /* Page table entry register HIGH */
  13. #define MMU_PTEL 0xFF000004 /* Page table entry register LOW */
  14. #define MMU_TTB 0xFF000008 /* Translation table base register */
  15. #define MMU_TEA 0xFF00000C /* TLB Exception Address */
  16. #define MMU_PTEA 0xFF000034 /* Page table entry assistance register */
  17. #define MMUCR 0xFF000010 /* MMU Control Register */
  18. #define MMU_ITLB_ADDRESS_ARRAY 0xF2000000
  19. #define MMU_UTLB_ADDRESS_ARRAY 0xF6000000
  20. #define MMU_PAGE_ASSOC_BIT 0x80
  21. #define MMUCR_TI (1<<2)
  22. #ifdef CONFIG_X2TLB
  23. #define MMUCR_ME (1 << 7)
  24. #else
  25. #define MMUCR_ME (0)
  26. #endif
  27. #if defined(CONFIG_32BIT) && defined(CONFIG_CPU_SUBTYPE_ST40)
  28. #define MMUCR_SE (1 << 4)
  29. #else
  30. #define MMUCR_SE (0)
  31. #endif
  32. #ifdef CONFIG_SH_STORE_QUEUES
  33. #define MMUCR_SQMD (1 << 9)
  34. #else
  35. #define MMUCR_SQMD (0)
  36. #endif
  37. #define MMU_NTLB_ENTRIES 64
  38. #define MMU_CONTROL_INIT (0x05|MMUCR_SQMD|MMUCR_ME|MMUCR_SE)
  39. #define MMU_ITLB_DATA_ARRAY 0xF3000000
  40. #define MMU_UTLB_DATA_ARRAY 0xF7000000
  41. #define MMU_UTLB_ENTRIES 64
  42. #define MMU_U_ENTRY_SHIFT 8
  43. #define MMU_UTLB_VALID 0x100
  44. #define MMU_ITLB_ENTRIES 4
  45. #define MMU_I_ENTRY_SHIFT 8
  46. #define MMU_ITLB_VALID 0x100
  47. #define TRA 0xff000020
  48. #define EXPEVT 0xff000024
  49. #define INTEVT 0xff000028
  50. #endif /* __ASM_CPU_SH4_MMU_CONTEXT_H */