|
@@ -3157,23 +3157,28 @@ void dump_segments(void)
|
|
for (i = 0; i < mmu_slb_size; i++) {
|
|
for (i = 0; i < mmu_slb_size; i++) {
|
|
asm volatile("slbmfee %0,%1" : "=r" (esid) : "r" (i));
|
|
asm volatile("slbmfee %0,%1" : "=r" (esid) : "r" (i));
|
|
asm volatile("slbmfev %0,%1" : "=r" (vsid) : "r" (i));
|
|
asm volatile("slbmfev %0,%1" : "=r" (vsid) : "r" (i));
|
|
- if (esid || vsid) {
|
|
|
|
- printf("%02d %016lx %016lx", i, esid, vsid);
|
|
|
|
- if (esid & SLB_ESID_V) {
|
|
|
|
- llp = vsid & SLB_VSID_LLP;
|
|
|
|
- if (vsid & SLB_VSID_B_1T) {
|
|
|
|
- printf(" 1T ESID=%9lx VSID=%13lx LLP:%3lx \n",
|
|
|
|
- GET_ESID_1T(esid),
|
|
|
|
- (vsid & ~SLB_VSID_B) >> SLB_VSID_SHIFT_1T,
|
|
|
|
- llp);
|
|
|
|
- } else {
|
|
|
|
- printf(" 256M ESID=%9lx VSID=%13lx LLP:%3lx \n",
|
|
|
|
- GET_ESID(esid),
|
|
|
|
- (vsid & ~SLB_VSID_B) >> SLB_VSID_SHIFT,
|
|
|
|
- llp);
|
|
|
|
- }
|
|
|
|
- } else
|
|
|
|
- printf("\n");
|
|
|
|
|
|
+
|
|
|
|
+ if (!esid && !vsid)
|
|
|
|
+ continue;
|
|
|
|
+
|
|
|
|
+ printf("%02d %016lx %016lx", i, esid, vsid);
|
|
|
|
+
|
|
|
|
+ if (!(esid & SLB_ESID_V)) {
|
|
|
|
+ printf("\n");
|
|
|
|
+ continue;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ llp = vsid & SLB_VSID_LLP;
|
|
|
|
+ if (vsid & SLB_VSID_B_1T) {
|
|
|
|
+ printf(" 1T ESID=%9lx VSID=%13lx LLP:%3lx \n",
|
|
|
|
+ GET_ESID_1T(esid),
|
|
|
|
+ (vsid & ~SLB_VSID_B) >> SLB_VSID_SHIFT_1T,
|
|
|
|
+ llp);
|
|
|
|
+ } else {
|
|
|
|
+ printf(" 256M ESID=%9lx VSID=%13lx LLP:%3lx \n",
|
|
|
|
+ GET_ESID(esid),
|
|
|
|
+ (vsid & ~SLB_VSID_B) >> SLB_VSID_SHIFT,
|
|
|
|
+ llp);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|