Linuxppc-embedded Digest, Vol 26, Issue 36

Wang Matthew-R59995 Qi.W at freescale.com
Thu Oct 19 11:10:44 EST 2006


Hi Kumar,

Actually I do many trials about it. Vxwerks Bootrom is smaller than
U-Boot. The key difference between Bootrom and U-boot is that some
source code of Bootrom is invisible to the users.

Actually the rfi instruction which I point out is the first rfi
instruction of Linux PowerPC bringup.

Before that, it's TLB entry invalidation and temp TLB entry mapping.

I check MMU setting carefully before coming Linux Kernel.

I just want to know if other guys met similar scenario like me. I don't
need the precise answer, just overall suggestion about it because I
understand that not everyone has the same bootloader of mine, that
bootloader is actually a customized bootloader.

Anyway thank you.

R9 point to LR register, mask the high 20 bit of r9 and send to r7, and
then add 24, which means stride 6 instructions for rfi instruction
execution.

Of course, rfi can switch the TLB entry, both the previous TLB entry and
the temp TLB entry point to the same physical address.

I've checked it.

B.R
Wang Qi.


Date: Wed, 18 Oct 2006 08:39:23 -0500
From: Kumar Gala <galak at kernel.crashing.org>
Subject: Re: About the RFI instruction on Linux Powerpc
To: Wang Matthew-R59995 <Qi.W at freescale.com>
Cc: linuxppc-embedded at ozlabs.org
Message-ID: <0EE06CE5-98CB-49BB-A398-DF0E3277125D at kernel.crashing.org>
Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed


On Oct 18, 2006, at 7:49 AM, Wang Matthew-R59995 wrote:

> Hi folks,
>
> Currently I meet an issue about rfi instruction. Please see the  
> following source code. This source code is contained at the  
> head_fsl_booke.h of ./arch/powerpc/kernel directory.
>
>  xori r6,r4,1
>  slwi r6,r6,5  /* setup new context with other address space */
>  bl 1f  /* Find our address */
> 1: mflr r9
>  rlwimi r7,r9,0,20,31
>  addi r7,r7,24
>  mtspr SPRN_SRR0,r7
>  mtspr SPRN_SRR1,r6
>  rfi
> I found that rfi instruction can't jump to the address of SRR0. I  
> take the MPC8555CDS board to do those test. And I don't take U-Boot  
> as bootloader, while the Vxwerks Bootrom.
>
> I just want to try if Bootrom can bring up the Linux Powerpc kernel.
>
> Any suggestion for that?

What does happen after the rfi instruction?  Do you have a JTAG  
debugger or something you can use to single step through this code?   
Do you know the value of r9?

There are some expectations as to what's setup by the bootloader when  
you jump into the kernel.  They are pretty minimal but I dont know if  
the VxWorks Bootrom does the same thing as u-boot.

- kumar



More information about the Linuxppc-embedded mailing list