VServer 1.9.2 (patch-2.6.8.1-vs1.9.2.diff)
[linux-2.6.git] / include / asm-ppc / mmu.h
index 5797fd1..7bf3a4d 100644 (file)
@@ -379,6 +379,74 @@ typedef struct _P601_BAT {
 #define PPC44x_TLB_SW          0x00000002      /* Super write */
 #define PPC44x_TLB_SR          0x00000001      /* Super read */
 
+/* Book-E defined page sizes */
+#define BOOKE_PAGESZ_1K                0
+#define BOOKE_PAGESZ_4K                1
+#define BOOKE_PAGESZ_16K       2
+#define BOOKE_PAGESZ_64K       3
+#define BOOKE_PAGESZ_256K      4
+#define BOOKE_PAGESZ_1M                5
+#define BOOKE_PAGESZ_4M                6
+#define BOOKE_PAGESZ_16M       7
+#define BOOKE_PAGESZ_64M       8
+#define BOOKE_PAGESZ_256M      9
+#define BOOKE_PAGESZ_1GB       10
+#define BOOKE_PAGESZ_4GB       11
+#define BOOKE_PAGESZ_16GB      12
+#define BOOKE_PAGESZ_64GB      13
+#define BOOKE_PAGESZ_256GB     14
+#define BOOKE_PAGESZ_1TB       15
+
+/*
+ * Freescale Book-E MMU support
+ */
+
+#define MAS0_TLBSEL    0x10000000
+#define MAS0_ESEL      0x000F0000
+#define MAS0_NV                0x00000001
+
+#define MAS1_VALID     0x80000000
+#define MAS1_IPROT     0x40000000
+#define MAS1_TID       0x03FF0000
+#define MAS1_TS                0x00001000
+#define MAS1_TSIZE(x)  (x << 8)
+
+#define MAS2_EPN       0xFFFFF000
+#define MAS2_SHAREN    0x00000200
+#define MAS2_X0                0x00000040
+#define MAS2_X1                0x00000020
+#define MAS2_W         0x00000010
+#define MAS2_I         0x00000008
+#define MAS2_M         0x00000004
+#define MAS2_G         0x00000002
+#define MAS2_E         0x00000001
+
+#define MAS3_RPN       0xFFFFF000
+#define MAS3_U0                0x00000200
+#define MAS3_U1                0x00000100
+#define MAS3_U2                0x00000080
+#define MAS3_U3                0x00000040
+#define MAS3_UX                0x00000020
+#define MAS3_SX                0x00000010
+#define MAS3_UW                0x00000008
+#define MAS3_SW                0x00000004
+#define MAS3_UR                0x00000002
+#define MAS3_SR                0x00000001
+
+#define MAS4_TLBSELD   0x10000000
+#define MAS4_TIDDSEL   0x00030000
+#define MAS4_DSHAREN   0x00001000
+#define MAS4_TSIZED(x) (x << 8)
+#define MAS4_X0D       0x00000040
+#define MAS4_X1D       0x00000020
+#define MAS4_WD                0x00000010
+#define MAS4_ID                0x00000008
+#define MAS4_MD                0x00000004
+#define MAS4_GD                0x00000002
+#define MAS4_ED                0x00000001
+
+#define MAS6_SPID      0x00FF0000
+#define MAS6_SAS       0x00000001
 
 #endif /* _PPC_MMU_H_ */
 #endif /* __KERNEL__ */