* Debugging kernel on mpc7448
@ 2010-11-03 15:01 Cajus Pollmeier
0 siblings, 0 replies; 4+ messages in thread
From: Cajus Pollmeier @ 2010-11-03 15:01 UTC (permalink / raw)
To: Linuxppc-dev
Hello there,
I'm currently trying to get a kernel upgrade from 2.6.11 to 2.6.31
working with u-boot/cuImage.c2k on a custom marvell discovery 3 board.
In the moment, the following steps work:
* u-boot (1.1.4, not changeable in the moment) runs from flash and
offers a prompt
* loading cuImage.c2k
* running the code of wrapper.c until calling vmlinux.addr
* entering __start in head_32.S and running until early_init gets called
The systems then hangs until the watchdog resets the board. In this
early stage, I've no output to the serial console - which is the only
way to see what's going on without having a development board with
single step capabilities.
To track it until early_init, I tried to place a stupid "blr" in
head_32.S, in order to get back to wrapper.c - which writes out a
message to the serial console in case the kernel "accidently" gets back
to it.
>From now on, I'm not sure if early_init is properly called. The blr
after the call is either not reached or there's something going on which
is beyond my limited knowledge of ppc assembler. Maybe u-boot gets
overwritten, but the blr isn't even reached if I change early_init by
just returning 0U immediately. Hmm.
Any pointers to help debugging would be really appreciated ;-)
Cheers,
Cajus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Debugging kernel on mpc7448
@ 2010-11-03 15:02 Cajus Pollmeier
0 siblings, 0 replies; 4+ messages in thread
From: Cajus Pollmeier @ 2010-11-03 15:02 UTC (permalink / raw)
To: Linuxppc-dev
Hello there,
I'm currently trying to get a kernel upgrade from 2.6.11 to 2.6.31
working with u-boot/cuImage.c2k on a custom marvell discovery 3 board.
In the moment, the following steps work:
* u-boot (1.1.4, not changeable in the moment) runs from flash and
offers a prompt
* loading cuImage.c2k
* running the code of wrapper.c until calling vmlinux.addr
* entering __start in head_32.S and running until early_init gets called
The systems then hangs until the watchdog resets the board. In this
early stage, I've no output to the serial console - which is the only
way to see what's going on there without having a development board with
single step capabilities.
To track it until early_init, I tried to place a stupid "blr" in
head_32.S, in order to get back to wrapper.c - which writes out a
message to the serial console in case the kernel "accidently" gets back
to it.
>From now on, I'm not sure if early_init is properly called. The blr
after the call is either not reached or there's something going on which
is beyond my limited knowledge of ppc assembler. Maybe u-boot gets
overwritten, but the blr isn't even reached if I change early_init by
just returning 0U immediately. Hmm.
Any pointers to help debugging would be really appreciated ;-)
Cheers,
Cajus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Debugging kernel on mpc7448
@ 2010-11-03 15:03 Cajus Pollmeier
2010-11-05 2:25 ` tiejun.chen
0 siblings, 1 reply; 4+ messages in thread
From: Cajus Pollmeier @ 2010-11-03 15:03 UTC (permalink / raw)
To: Linuxppc-dev
Hello there,
I'm currently trying to get a kernel upgrade from 2.6.11 to 2.6.31
working with u-boot/cuImage.c2k on a custom marvell discovery 3 board.
In the moment, the following steps work:
* u-boot (1.1.4, not changeable in the moment) runs from flash and
offers a prompt
* loading cuImage.c2k
* running the code of wrapper.c until calling vmlinux.addr
* entering __start in head_32.S and running until early_init gets called
The systems then hangs until the watchdog resets the board. In this
early stage, I've no output to the serial console - which is the only
way to see what's going on there without having a development board with
single step capabilities.
To track it until early_init, I tried to place a stupid "blr" in
head_32.S, in order to get back to wrapper.c - which writes out a
message to the serial console in case the kernel "accidently" gets back
to it.
>From now on, I'm not sure if early_init is properly called. The blr
after the call is either not reached or there's something going on which
is beyond my limited knowledge of ppc assembler. Maybe u-boot gets
overwritten, but the blr isn't even reached if I change early_init by
just returning 0U immediately. Hmm.
Any pointers to help debugging would be really appreciated ;-)
Cheers,
Cajus
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Debugging kernel on mpc7448
2010-11-03 15:03 Debugging kernel on mpc7448 Cajus Pollmeier
@ 2010-11-05 2:25 ` tiejun.chen
0 siblings, 0 replies; 4+ messages in thread
From: tiejun.chen @ 2010-11-05 2:25 UTC (permalink / raw)
To: Cajus Pollmeier; +Cc: Linuxppc-dev
Cajus Pollmeier wrote:
> Hello there,
>
> I'm currently trying to get a kernel upgrade from 2.6.11 to 2.6.31
> working with u-boot/cuImage.c2k on a custom marvell discovery 3 board.
Are you sure if all device nodes information of c2k.dts are matched your actual
board hardware? If no I think you have to add some fixup() to correct those
'incorrect' device on the file, cuboot-c2k.c.
> In the moment, the following steps work:
>
> * u-boot (1.1.4, not changeable in the moment) runs from flash and
> offers a prompt
> * loading cuImage.c2k
> * running the code of wrapper.c until calling vmlinux.addr
Did you see those message with uncompressing zImage? Maybe its convenient to
help you for other guys if you can attach all boot log.
> * entering __start in head_32.S and running until early_init gets called
>
> The systems then hangs until the watchdog resets the board. In this
Often the watchdog should be invoked when its associated driver initialization.
So I wonder when the watchdog live.
> early stage, I've no output to the serial console - which is the only
> way to see what's going on there without having a development board with
> single step capabilities.
>
> To track it until early_init, I tried to place a stupid "blr" in
> head_32.S, in order to get back to wrapper.c - which writes out a
> message to the serial console in case the kernel "accidently" gets back
> to it.
Firstly I think you can lighten one LED to mask a flag for single step if there
is one LED existed on your target :) That's a ugly way but also make the life
easy sometimes.
And actually bootloader already initial UART so you can write some simple thing
directly into that corresponding UART data register to hint where the kernel
run. Note you can get this UART base address from bootloader, or the cuboot
early stage.
Tiejun
>
>>From now on, I'm not sure if early_init is properly called. The blr
> after the call is either not reached or there's something going on which
> is beyond my limited knowledge of ppc assembler. Maybe u-boot gets
> overwritten, but the blr isn't even reached if I change early_init by
> just returning 0U immediately. Hmm.
>
> Any pointers to help debugging would be really appreciated ;-)
>
> Cheers,
> Cajus
>
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev@lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2010-11-05 2:25 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-11-03 15:03 Debugging kernel on mpc7448 Cajus Pollmeier
2010-11-05 2:25 ` tiejun.chen
-- strict thread matches above, loose matches on Subject: below --
2010-11-03 15:02 Cajus Pollmeier
2010-11-03 15:01 Cajus Pollmeier
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).