#define MIPS_SEGCFG_MK         _ULCAST_(1)
 #define MIPS_SEGCFG_UK         _ULCAST_(0)
 
+#define MIPS_PWFIELD_GDI_SHIFT 24
+#define MIPS_PWFIELD_GDI_MASK  0x3f000000
+#define MIPS_PWFIELD_UDI_SHIFT 18
+#define MIPS_PWFIELD_UDI_MASK  0x00fc0000
+#define MIPS_PWFIELD_MDI_SHIFT 12
+#define MIPS_PWFIELD_MDI_MASK  0x0003f000
+#define MIPS_PWFIELD_PTI_SHIFT 6
+#define MIPS_PWFIELD_PTI_MASK  0x00000fc0
+#define MIPS_PWFIELD_PTEI_SHIFT        0
+#define MIPS_PWFIELD_PTEI_MASK 0x0000003f
+
+#define MIPS_PWSIZE_GDW_SHIFT  24
+#define MIPS_PWSIZE_GDW_MASK   0x3f000000
+#define MIPS_PWSIZE_UDW_SHIFT  18
+#define MIPS_PWSIZE_UDW_MASK   0x00fc0000
+#define MIPS_PWSIZE_MDW_SHIFT  12
+#define MIPS_PWSIZE_MDW_MASK   0x0003f000
+#define MIPS_PWSIZE_PTW_SHIFT  6
+#define MIPS_PWSIZE_PTW_MASK   0x00000fc0
+#define MIPS_PWSIZE_PTEW_SHIFT 0
+#define MIPS_PWSIZE_PTEW_MASK  0x0000003f
+
+#define MIPS_PWCTL_PWEN_SHIFT  31
+#define MIPS_PWCTL_PWEN_MASK   0x80000000
+#define MIPS_PWCTL_DPH_SHIFT   7
+#define MIPS_PWCTL_DPH_MASK    0x00000080
+#define MIPS_PWCTL_HUGEPG_SHIFT        6
+#define MIPS_PWCTL_HUGEPG_MASK 0x00000060
+#define MIPS_PWCTL_PSN_SHIFT   0
+#define MIPS_PWCTL_PSN_MASK    0x0000003f
+
 #ifndef __ASSEMBLY__
 
 /*
 #define read_c0_segctl2()      __read_32bit_c0_register($5, 4)
 #define write_c0_segctl2(val)  __write_32bit_c0_register($5, 4, val)
 
+/* Hardware Page Table Walker */
+#define read_c0_pwbase()       __read_ulong_c0_register($5, 5)
+#define write_c0_pwbase(val)   __write_ulong_c0_register($5, 5, val)
+
+#define read_c0_pwfield()      __read_ulong_c0_register($5, 6)
+#define write_c0_pwfield(val)  __write_ulong_c0_register($5, 6, val)
+
+#define read_c0_pwsize()       __read_ulong_c0_register($5, 7)
+#define write_c0_pwsize(val)   __write_ulong_c0_register($5, 7, val)
+
+#define read_c0_pwctl()                __read_32bit_c0_register($6, 6)
+#define write_c0_pwctl(val)    __write_32bit_c0_register($6, 6, val)
+
 /* Cavium OCTEON (cnMIPS) */
 #define read_c0_cvmcount()     __read_ulong_c0_register($9, 6)
 #define write_c0_cvmcount(val) __write_ulong_c0_register($9, 6, val)