linux-mips
[Top] [All Lists]

Réf. : Compiling a 2.6 kernel for Mips

To: Yoann Allain <yallain@avilinks.com>
Subject: Réf. : Compiling a 2.6 kernel for Mips
From: Florian DELIZY <florian.delizy@sagem.com>
Date: Wed, 28 Sep 2005 15:01:48 +0200
Cc: linux-mips@linux-mips.org
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org




> Hi,

> I am no more a newbie but I still need some help to build kernels :
> I am working on the Wintegra Evaluation Board (WEB777) and I used the
> 2.4 kernel Wintegra gave me with the patch for that board.
> I tried to adapt the patch for the 2.6 kernel but it doesn't work. I
> traced the kernel to find it crashed very early before displaying anything.
> In fact the host processor makes an address and tries to read it but
> this makes an exception :

> * Exception 0x02 (user) : TLB (load or instruction fetch) *
> * in address: 80101ea8
> ClockDiv2+0xe38:
> [80101ea8] 8c820000 lw          r2,0x0000(r4)


> r0(zero): 00000000 r1(AT)  : 1000fc00 r2(v0)  : 0000001c r3(v1)  : 80360000
> r4(a0)  : 0000001c r5(a1)  : 803919f0 r6(a2)  : 0000000d r7(a3)  : 8038df8c

That would help a lot if you could objdump your kernel and give us 10 instructions before (at least)

and 10 instructions after it, you could try an :

mips-linux-objdump -DSz vmlinux | grep -U 20 '^\[80101ea8\]'

and send the output (that should ouput around 20 lines (which will hopefully contain some C code also,
assuùing that you compiled the code with debug informations. Moreover you can also tell us in which
symbol (function) is located the address 0x80101ea8.


> I think this is a problem of host processor misconfiguration, but don't

> find out exactly what it is... To make the address in R4, the processor
> reads some zeroes where in 2.4 kernel, it doesn't and the address read
> in 2.4 is something like 0xbf010f1c.
> I don't know if this can help but here are the few functions before crash:

> kernel_entry
>    J start_kernel
>             cpu_probe() (WEB777 patch)
>             prom_init() (WEB777 patch)
>                   setup_prom_printf() (WEB777 patch)
>                   wds_prom_printf() (WEB777 patch)
>                            putPromChar() (WEB777 patch)
>                            --> CRASH


You should also start to figure out which variable/pointer anything is consulted to get this adress (0x0000001c)
which might then help to understand you're problem.

Regards


Florian Delizy

<Prev in Thread] Current Thread [Next in Thread>