Hi Piotr,
On Tue, Jul 29, 2014 at 12:50 PM, piotrcz <[email protected]> wrote:
> However, I have generate binary file and vmem file. Now exceptions are in
> correct place but processor hangs.
>
> The last commands read from memory are:
> 84 c4 00 00
> d7 e1 4f fc
> a4 c6 00 01
>
> and this commands are from die_if_kernel
> c0004734 <die_if_kernel>:
> c0004734: 84 c4 00 00 l.lwz r6,0x0(r4)
> c0004738: d7 e1 4f fc l.sw 0xfffffffc(r1),r9
> c000473c: a4 c6 00 01 l.andi r6,r6,0x1
> c0004740: bc 06 00 00 l.sfeqi r6,0x0
> c0004744: 0c 00 00 06 l.bnf c000475c <die_if_kernel+0x28>
> c0004748: 9c 21 ff fc l.addi r1,r1,0xfffffffc
> c000474c: 9c 21 00 04 l.addi r1,r1,0x4
> c0004750: 85 21 ff fc l.lwz r9,0xfffffffc(r1)
> c0004754: 44 00 48 00 l.jr r9
> c0004758: 15 00 00 00 l.nop 0x0
> c000475c: 9c 21 00 04 l.addi r1,r1,0x4
> c0004760: 85 21 ff fc l.lwz r9,0xfffffffc(r1)
> c0004764: 03 ff ff d8 l.j c00046c4 <die>
> c0004768: 15 00 00 00 l.nop 0x0
Do you start the kernel with r3 = 0?
If r3 contains random data, the kernel will assume it's a pointer to the FDT,
and may crash.
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds
_______________________________________________
OpenRISC mailing list
[email protected]
http://lists.openrisc.net/listinfo/openrisc