From mboxrd@z Thu Jan 1 00:00:00 1970 From: Becky Bruce Date: Wed, 2 Jun 2010 13:12:04 -0500 Subject: [U-Boot] [PATCH V2 05/10] mpc85xx: Add print_tlbcam() function In-Reply-To: <1275502329-23457-5-git-send-email-beckyb@kernel.crashing.org> References: <1275502329-23457-1-git-send-email-beckyb@kernel.crashing.org> <1275502329-23457-2-git-send-email-beckyb@kernel.crashing.org> <1275502329-23457-3-git-send-email-beckyb@kernel.crashing.org> <1275502329-23457-4-git-send-email-beckyb@kernel.crashing.org> <1275502329-23457-5-git-send-email-beckyb@kernel.crashing.org> Message-ID: <1275502329-23457-6-git-send-email-beckyb@kernel.crashing.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de This dumps out the contents of TLB1 on 85xx-based systems. Signed-off-by: Becky Bruce --- arch/powerpc/cpu/mpc85xx/tlb.c | 20 ++++++++++++++++++++ arch/powerpc/include/asm/mmu.h | 1 + 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/arch/powerpc/cpu/mpc85xx/tlb.c b/arch/powerpc/cpu/mpc85xx/tlb.c index eebb6ae..f2833a5 100644 --- a/arch/powerpc/cpu/mpc85xx/tlb.c +++ b/arch/powerpc/cpu/mpc85xx/tlb.c @@ -74,6 +74,26 @@ void read_tlbcam_entry(int idx, u32 *valid, u32 *tsize, unsigned long *epn, } #ifndef CONFIG_NAND_SPL +void print_tlbcam(void) +{ + int i; + unsigned int num_cam = mfspr(SPRN_TLB1CFG) & 0xfff; + + /* walk all the entries */ + printf("TLBCAM entries\n"); + for (i = 0; i < num_cam; i++) { + unsigned long epn; + u32 tsize, valid; + phys_addr_t rpn; + + read_tlbcam_entry(i, &valid, &tsize, &epn, &rpn); + printf("entry %02d: V: %d EPN 0x%08x RPN 0x%08llx size:", + i, (valid == 0) ? 0 : 1, (unsigned int)epn, + (unsigned long long)rpn); + print_size(TSIZE_TO_BYTES(tsize), "\n"); + } +} + static inline void use_tlb_cam(u8 idx) { int i = idx / 32; diff --git a/arch/powerpc/include/asm/mmu.h b/arch/powerpc/include/asm/mmu.h index d4c7b75..c01c85f 100644 --- a/arch/powerpc/include/asm/mmu.h +++ b/arch/powerpc/include/asm/mmu.h @@ -486,6 +486,7 @@ extern void init_tlbs(void); extern int find_tlb_idx(void *addr, u8 tlbsel); extern void init_used_tlb_cams(void); extern int find_free_tlbcam(void); +extern void print_tlbcam(void); extern unsigned int setup_ddr_tlbs(unsigned int memsize_in_meg); -- 1.6.0.6