From: "Grant Likely" <grant.likely@secretlab.ca>
To: "Bernd Sowislo" <BSowislo@gmx.de>,
"linuxppc-embedded list" <linuxppc-embedded@ozlabs.org>
Subject: Re: Fw: [Bugme-new] [Bug 7808] New: Xilinx ML403 does not boot
Date: Sun, 14 Jan 2007 01:37:39 -0700 [thread overview]
Message-ID: <528646bc0701140037k71757790j8af48afac8391c75@mail.gmail.com> (raw)
In-Reply-To: <EJEFJPEGEFDHNKNCEDPOCEJDCEAA.BSowislo@gmx.de>
On 1/14/07, Bernd Sowislo <BSowislo@gmx.de> wrote:
> High,
> you were right,
> the 4.1 version from 4.1-20060811 works
> with the weak statement
Good.
> but the kernel hangs
> after
> now booting the kernel
>
> even if I switch back to the old crosstool path
> (after make clean)
>
> now no version work
> any idea?
I'm using gcc 4.0.0 as packaged by ELDK 4.0; you might want to give it a tr=
y.
All I do is this to get a working image on linux 2.6.20rc4
$ make distclean
$ make CROSS_COMPILE=3Dppc_4xx- ARCH=3Dppc ml403_defconfig
$ make CROSS_COMPILE=3Dppc_4xx- ARCH=3Dppc menuconfig # and disable XMON
$ make CROSS_COMPILE=3Dppc_4xx- ARCH=3Dppc zImage
Try that and see how it works.
Cheers,
g.
>
> -----Urspr=FCngliche Nachricht-----
> Von: glikely@gmail.com [mailto:glikely@gmail.com]Im Auftrag von Grant
> Likely
> Gesendet: Freitag, 12. Januar 2007 17:42
> An: Andrew Morton
> Cc: linuxppc-dev@ozlabs.org; BSowislo@gmx.de;
> bugme-daemon@kernel-bugs.osdl.org
> Betreff: Re: Fw: [Bugme-new] [Bug 7808] New: Xilinx ML403 does not boot
>
>
> > There is another question:
> > the embed-config declares a static pointer bp
> > for the info structure
> > this pointer is used by the calling load_kernel
> > routine.
> > is a variable valid for the caller if it is declared
> > in the context of a subroutine?
>
> You mean this at line 28?
>
> /* For those boards that don't provide one.
> */
> #if !defined(CONFIG_MBX)
> static bd_t bdinfo;
> #endif
>
> Yes, this is okay to pass around.
>
> ...
>
> Let's get one possible issue out of the way: You said you used
> ml430_defconfig as .config. Did you do a 'make ml403_defconfig', or
> did you just copy the file? If you just copied the file, did you do a
> 'make oldconfig' before building? If you didn't do either 'make
> ml403_defconfig' or 'cp; make oldconfig' then you will probably have
> config problems.
>
> ...
>
> Try this: get an object dump of zImage and see where embed_config is
> referenced. Below are the relevant sections from my image.
>
> The interesting bits are there are 2 definitions for embed_config (1
> weak) in my zImage; but it is easy to see that the call to
> embed_config is linked to the strong (correct) one at address 4005fc.
> The weak one is at 400158.
>
> What do you see?
>
> $ ppc_4xx-objdump -dS arch/ppc/boot/images/zImage.elf | grep embed_config=
-C
> 5
> 40014c: 39 20 00 00 li r9,0
> 400150: 7d 28 03 a6 mtlr r9
> 400154: 4e 80 00 20 blr
> */
> void __attribute__ ((weak))
> embed_config(bd_t **bdp)
> {
> }
> 400158: 4e 80 00 20 blr
>
> 0040015c <load_kernel>:
> --
> unsigned long initrd_size;
>
> /* First, capture the embedded board information. Then
> * initialize the serial console port.
> */
> embed_config(&bp);
> 400170: 38 61 00 18 addi r3,r1,24
> 400174: 90 01 00 44 stw r0,68(r1)
> 400178: 90 c1 00 18 stw r6,24(r1)
> 40017c: 48 00 04 81 bl 4005fc <embed_config>
> #if defined(CONFIG_SERIAL_CPM_CONSOLE) ||
> defined(CONFIG_SERIAL_8250_CONSOLE)
> com_port =3D serial_init(0, bp);
> 400180: 80 81 00 18 lwz r4,24(r1)
> 400184: 38 60 00 00 li r3,0
> 400188: 48 00 0f b5 bl 40113c <serial_init>
> --
> 4005ec: bb 01 00 20 lmw r24,32(r1)
> 4005f0: 7c 08 03 a6 mtlr r0
> 4005f4: 38 21 00 40 addi r1,r1,64
> 4005f8: 4e 80 00 20 blr
>
> 004005fc <embed_config>:
> * - If the data cache is turned on this must have been done by
> * a bootloader and we assume that the cache contents are
> * valid.
> */
> __asm__("mfdccr %0": "=3Dr" (dccr));
> 4005fc: 7c 1a fa a6 mfdccr r0
> if (dccr =3D=3D 0) {
> 400600: 2f 80 00 00 cmpwi cr7,r0,0
> 400604: 40 9e 00 1c bne- cr7,400620 <embed_config+0x24>
> 400608: 38 00 01 00 li r0,256
> 40060c: 7c 09 03 a6 mtctr r0
> 400610: 39 20 00 00 li r9,0
> for (addr =3D 0;
> addr < (congruence_classes * line_size);
> addr +=3D line_size) {
> __asm__("dccci 0,%0": :"b"(addr));
> 400614: 7c 00 4b 8c dccci r0,r9
> 400618: 39 29 00 20 addi r9,r9,32
> 40061c: 42 00 ff f8 bdnz+ 400614 <embed_config+0x18>
> }
> }
>
> bd =3D &bdinfo;
> *bdp =3D bd;
>
>
--=20
Grant Likely, B.Sc. P.Eng.
Secret Lab Technologies Ltd.
grant.likely@secretlab.ca
(403) 399-0195
next prev parent reply other threads:[~2007-01-14 8:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-01-11 9:03 Fw: [Bugme-new] [Bug 7808] New: Xilinx ML403 does not boot Andrew Morton
2007-01-11 14:34 ` Grant Likely
2007-01-12 5:59 ` Grant Likely
2007-01-12 16:42 ` Grant Likely
[not found] ` <EJEFJPEGEFDHNKNCEDPOCEJDCEAA.BSowislo@gmx.de>
2007-01-14 8:37 ` Grant Likely [this message]
[not found] ` <EJEFJPEGEFDHNKNCEDPOOEJKCEAA.BSowislo@gmx.de>
2007-01-18 6:27 ` Grant Likely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=528646bc0701140037k71757790j8af48afac8391c75@mail.gmail.com \
--to=grant.likely@secretlab.ca \
--cc=BSowislo@gmx.de \
--cc=linuxppc-embedded@ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).