Changeset e600ec4 in mainline


Ignore:
Timestamp:
2006-06-18T12:01:50Z (19 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
beec330
Parents:
fbf7b4c
Message:

verbose segment and BAT registers printout

Location:
arch/ppc32
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • arch/ppc32/include/asm/regname.h

    rfbf7b4c re600ec4  
    2727 */
    2828
    29  /** @addtogroup ppc32 
     29/** @addtogroup ppc32   
    3030 * @{
    3131 */
     
    228228#endif
    229229
    230  /** @}
    231  */
    232 
     230/** @}
     231 */
  • arch/ppc32/src/mm/memory_init.c

    rfbf7b4c re600ec4  
    5050       
    5151        for (i = 0; i < bootinfo.memmap.count; i++)
    52                 printf("base: %#x size: %#x\n", bootinfo.memmap.zones[i].start, bootinfo.memmap.zones[i].size);
     52                printf("base: %.*p size: %#x\n", sizeof(bootinfo.memmap.zones[i].start) * 2, bootinfo.memmap.zones[i].start, bootinfo.memmap.zones[i].size);
    5353}
    5454
  • arch/ppc32/src/mm/tlb.c

    rfbf7b4c re600ec4  
    376376
    377377
     378#define PRINT_BAT(name, ureg, lreg) \
     379        asm volatile ( \
     380                "mfspr %0," #ureg "\n" \
     381                "mfspr %1," #lreg "\n" \
     382                : "=r" (upper), "=r" (lower) \
     383        ); \
     384        mask = (upper & 0x1ffc) >> 2; \
     385        if (upper & 3) { \
     386                __u32 tmp = mask; \
     387                length = 128; \
     388                while (tmp) { \
     389                        if ((tmp & 1) == 0) { \
     390                                printf("ibat[0]: error in mask\n"); \
     391                                break; \
     392                        } \
     393                        length <<= 1; \
     394                        tmp >>= 1; \
     395                } \
     396        } else \
     397                length = 0; \
     398        printf(name ": page=%.*p frame=%.*p length=%d KB (mask=%#x)%s%s\n", sizeof(upper) * 2, upper & 0xffff0000, sizeof(lower) * 2, lower & 0xffff0000, length, mask, ((upper >> 1) & 1) ? " supervisor" : "", (upper & 1) ? " user" : "");
     399
     400
    378401void tlb_print(void)
    379402{
     
    387410                        : "r" (sr << 28)
    388411                );
    389                 printf("vsid[%#x]=%#x\n", sr << 28, vsid);
    390         }
     412                printf("vsid[%d]: VSID=%.*p (ASID=%d)%s%s\n", sr, sizeof(vsid) * 2, vsid & 0xffffff, (vsid & 0xffffff) >> 4, ((vsid >> 30) & 1) ? " supervisor" : "", ((vsid >> 29) & 1) ? " user" : "");
     413        }
     414       
     415        __u32 upper;
     416        __u32 lower;
     417        __u32 mask;
     418        __u32 length;
     419       
     420        PRINT_BAT("ibat[0]", 528, 529);
     421        PRINT_BAT("ibat[1]", 530, 531);
     422        PRINT_BAT("ibat[2]", 532, 533);
     423        PRINT_BAT("ibat[3]", 534, 535);
     424       
     425        PRINT_BAT("dbat[0]", 536, 537);
     426        PRINT_BAT("dbat[1]", 538, 539);
     427        PRINT_BAT("dbat[2]", 540, 541);
     428        PRINT_BAT("dbat[3]", 542, 543);
    391429}
    392430
Note: See TracChangeset for help on using the changeset viewer.