MIPS: dump_tlb: Take global bit into account
[linux-2.6-block.git] / arch / mips / lib / r3k_dump_tlb.c
index 975a1385511617b2507aab6fb8f53a87faa7c6e2..1335e4394e33558392d32f1f579a1c7e1f0b3f8c 100644 (file)
@@ -35,8 +35,9 @@ static void dump_tlb(int first, int last)
                entrylo0 = read_c0_entrylo0();
 
                /* Unused entries have a virtual address of KSEG0.  */
-               if ((entryhi & PAGE_MASK) != KSEG0
-                   && (entryhi & ASID_MASK) == asid) {
+               if ((entryhi & PAGE_MASK) != KSEG0 &&
+                   (entrylo0 & R3K_ENTRYLO_G ||
+                    (entryhi & ASID_MASK) == asid)) {
                        /*
                         * Only print entries in use
                         */
@@ -47,10 +48,10 @@ static void dump_tlb(int first, int last)
                               entryhi & PAGE_MASK,
                               entryhi & ASID_MASK,
                               entrylo0 & PAGE_MASK,
-                              (entrylo0 & (1 << 11)) ? 1 : 0,
-                              (entrylo0 & (1 << 10)) ? 1 : 0,
-                              (entrylo0 & (1 << 9)) ? 1 : 0,
-                              (entrylo0 & (1 << 8)) ? 1 : 0);
+                              (entrylo0 & R3K_ENTRYLO_N) ? 1 : 0,
+                              (entrylo0 & R3K_ENTRYLO_D) ? 1 : 0,
+                              (entrylo0 & R3K_ENTRYLO_V) ? 1 : 0,
+                              (entrylo0 & R3K_ENTRYLO_G) ? 1 : 0);
                }
        }
        printk("\n");