MPC755 Porting Problem

Sangmoon Kim dogoil at etinsys.com
Sat Dec 15 17:24:18 EST 2001


Hi?
I'm porting linux for a MPC755 board which I designed,
and having some trouble with arch/ppc/kernel/head.S
I load the kernel at phiscal address 0x00000000
and head.S seams to relocate it to 0xc0000000
The code is like this

        mfmsr   r0 /* Inst and data addr translations are disabled */
        ori     r0,r0,MSR_DR|MSR_IR /* enable Inst and data addr translation */
        mtspr   SRR1,r0
        lis     r0,start_here at h
        ori     r0,r0,start_here at l
        mtspr   SRR0,r0
        SYNC
        RFI /* jump to SRR0 */

start_here:
        /* Call setup_cpu for CPU 0 */
        li      r3,0            /* data offset */
        li      r24,0           /* cpu# */
        bl      call_setup_cpu

It is running at base address 0x00000000.
start_here is at address 0xc000369c.
And the IBAT0, and DBAT0 is C0001FFE-00000002.
So after RFI it should go to start_here.

But If I insert some code like 'bl serial_hello',
which prints hello? to serial console after start_here.
It never prints a message. It works before the RFI.

Where can I start to debug it?

serial_hello is like this.

void
serial_hello()
{
        serial_putc(SCC_A_ADDRESS,'h');
        serial_putc(SCC_A_ADDRESS,'e');
        serial_putc(SCC_A_ADDRESS,'l');
        serial_putc(SCC_A_ADDRESS,'l');
        serial_putc(SCC_A_ADDRESS,'o');
        serial_putc(SCC_A_ADDRESS,'?');
        serial_putc(SCC_A_ADDRESS,'\n');
        serial_putc(SCC_A_ADDRESS,'\r');
}
Thanks in advance.
- Sangmoon Kim -

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list