
Hi Prakash,
On Thursday 31 December 2009 11:04:50 prakash bedge wrote:
Why the below code start with the TLB1?
My U-boot image is supposed to boot from flash, so here #else condition is valid in my case. I believe it should start from the TLB 0 entry. But I think TLB0 is not selected.
code snippet from /cpu/ppc4xx/start.S
addis r0,0,0x0000 #ifdef CONFIG_SYS_RAMBOOT li r4,0 /* Start with TLB #0 */ #else li r4,1 /* Start with TLB #1 */ #endif li r1,64 /* 64 TLB entries */ sub r1,r1,r4 /* calculate last TLB # */ mtctr r1
.. Here we are setting TLBs from 0-63. #else bl tlbtab /* Get tlbtab pointer */ #endif mr r5,r0 li r1,0x003f /* 64 TLB entries max */ mtctr r1 li r4,0 /* TLB # */
I might be not very clear of above code. Please explain.
What makes you think that this code causes problems with your custom board port? Did you check the content of the TLB's using a JTAG debugger (tlb 0 63 on the BDI2000/3000)?
BTW: This code is working for all kind of PPC4xx boards. Even 440GX based ones. So I don't really expect a problem with your board in this code snippet here.
Cheers, Stefan
-- DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-0 Fax: (+49)-8142-66989-80 Email: office@denx.de