mmu-fsl-booke.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #ifndef _ASM_POWERPC_MMU_FSL_BOOKE_H_
  2. #define _ASM_POWERPC_MMU_FSL_BOOKE_H_
  3. /*
  4. * Freescale Book-E MMU support
  5. */
  6. /* Book-E defined page sizes */
  7. #define BOOKE_PAGESZ_1K 0
  8. #define BOOKE_PAGESZ_4K 1
  9. #define BOOKE_PAGESZ_16K 2
  10. #define BOOKE_PAGESZ_64K 3
  11. #define BOOKE_PAGESZ_256K 4
  12. #define BOOKE_PAGESZ_1M 5
  13. #define BOOKE_PAGESZ_4M 6
  14. #define BOOKE_PAGESZ_16M 7
  15. #define BOOKE_PAGESZ_64M 8
  16. #define BOOKE_PAGESZ_256M 9
  17. #define BOOKE_PAGESZ_1GB 10
  18. #define BOOKE_PAGESZ_4GB 11
  19. #define BOOKE_PAGESZ_16GB 12
  20. #define BOOKE_PAGESZ_64GB 13
  21. #define BOOKE_PAGESZ_256GB 14
  22. #define BOOKE_PAGESZ_1TB 15
  23. #define MAS0_TLBSEL(x) ((x << 28) & 0x30000000)
  24. #define MAS0_ESEL(x) ((x << 16) & 0x0FFF0000)
  25. #define MAS0_NV(x) ((x) & 0x00000FFF)
  26. #define MAS1_VALID 0x80000000
  27. #define MAS1_IPROT 0x40000000
  28. #define MAS1_TID(x) ((x << 16) & 0x3FFF0000)
  29. #define MAS1_TS 0x00001000
  30. #define MAS1_TSIZE(x) ((x << 8) & 0x00000F00)
  31. #define MAS2_EPN 0xFFFFF000
  32. #define MAS2_X0 0x00000040
  33. #define MAS2_X1 0x00000020
  34. #define MAS2_W 0x00000010
  35. #define MAS2_I 0x00000008
  36. #define MAS2_M 0x00000004
  37. #define MAS2_G 0x00000002
  38. #define MAS2_E 0x00000001
  39. #define MAS3_RPN 0xFFFFF000
  40. #define MAS3_U0 0x00000200
  41. #define MAS3_U1 0x00000100
  42. #define MAS3_U2 0x00000080
  43. #define MAS3_U3 0x00000040
  44. #define MAS3_UX 0x00000020
  45. #define MAS3_SX 0x00000010
  46. #define MAS3_UW 0x00000008
  47. #define MAS3_SW 0x00000004
  48. #define MAS3_UR 0x00000002
  49. #define MAS3_SR 0x00000001
  50. #define MAS4_TLBSELD(x) MAS0_TLBSEL(x)
  51. #define MAS4_TIDDSEL 0x000F0000
  52. #define MAS4_TSIZED(x) MAS1_TSIZE(x)
  53. #define MAS4_X0D 0x00000040
  54. #define MAS4_X1D 0x00000020
  55. #define MAS4_WD 0x00000010
  56. #define MAS4_ID 0x00000008
  57. #define MAS4_MD 0x00000004
  58. #define MAS4_GD 0x00000002
  59. #define MAS4_ED 0x00000001
  60. #define MAS6_SPID0 0x3FFF0000
  61. #define MAS6_SPID1 0x00007FFE
  62. #define MAS6_SAS 0x00000001
  63. #define MAS6_SPID MAS6_SPID0
  64. #define MAS7_RPN 0xFFFFFFFF
  65. #ifndef __ASSEMBLY__
  66. #ifndef CONFIG_PHYS_64BIT
  67. typedef unsigned long phys_addr_t;
  68. #else
  69. typedef unsigned long long phys_addr_t;
  70. #endif
  71. typedef struct {
  72. unsigned long id;
  73. unsigned long vdso_base;
  74. } mm_context_t;
  75. #endif /* !__ASSEMBLY__ */
  76. #endif /* _ASM_POWERPC_MMU_FSL_BOOKE_H_ */