Index: kernel/arch/mips32/include/mm/tlb.h
===================================================================
--- kernel/arch/mips32/include/mm/tlb.h	(revision 3f69f63de2e129489498b2d6e5aab1cc110a9429)
+++ kernel/arch/mips32/include/mm/tlb.h	(revision d704d7f038e55dfafc09dc2e9511d26c2bb9cdcb)
@@ -43,6 +43,8 @@
 #if defined(PROCESSOR_R4000)
 #define TLB_ENTRY_COUNT  48
+#define TLB_INDEX_BITS   6
 #elif defined(PROCESSOR_4Kc)
 #define TLB_ENTRY_COUNT  16
+#define TLB_INDEX_BITS   4
 #else
 #error Please define TLB_ENTRY_COUNT for the target processor.
@@ -118,9 +120,9 @@
 #ifdef __BE__
 		unsigned p : 1;
-		unsigned : 27;
-		unsigned index : 4;
+		unsigned : 32 - TLB_INDEX_BITS - 1;
+		unsigned index : TLB_INDEX_BITS;
 #else
-		unsigned index : 4;
-		unsigned : 27;
+		unsigned index : TLB_INDEX_BITS;
+		unsigned : 32 - TLB_INDEX_BITS - 1;
 		unsigned p : 1;
 #endif
