public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Tom Rini <trini@konsulko.com>
To: "Pali Rohár" <pali@kernel.org>
Cc: u-boot@lists.denx.de, maemo-leste@lists.dyne.org,
	Sicelo <absicsz@gmail.com>, Merlijn Wajer <merlijn@wizzup.org>,
	Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>,
	Pavel Machek <pavel@ucw.cz>
Subject: Re: [maemo-leste] Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT)
Date: Sun, 20 Nov 2022 10:33:35 -0500	[thread overview]
Message-ID: <20221120153335.GF7282@bill-the-cat> (raw)
In-Reply-To: <20221119211301.pffzina66azietye@pali>

[-- Attachment #1: Type: text/plain, Size: 5166 bytes --]

On Sat, Nov 19, 2022 at 10:13:01PM +0100, Pali Rohár wrote:
> On Wednesday 09 November 2022 21:33:28 Pali Rohár wrote:
> > On Wednesday 02 November 2022 01:08:26 Pali Rohár wrote:
> > > On Friday 21 October 2022 21:09:55 Pali Rohár wrote:
> > > > On Thursday 20 October 2022 22:06:58 Pali Rohár wrote:
> > > > > On Monday 10 October 2022 23:30:21 Sicelo wrote:
> > > > > > On Sun, Oct 09, 2022 at 09:33:17PM +0200, Pali Rohár wrote:
> > > > > > > Hello!
> > > > > > > 
> > > > > > > Current u-boot from master branch does not work on n900 hw. It does not
> > > > > > > show anything on display, there just nokia logo.
> > > > > > > 
> > > > > > > In qemu it is working fine and all tests are passing. Also in qemu is
> > > > > > > display working without any problem.
> > > > > > > 
> > > > > > > Could you help me to debug it? Maybe something is printed to serial
> > > > > > > console? Or maybe serial console could be used for printf-debugging?
> > > > > > > 
> > > > > > > I just figured out that disabling CONFIG_POSITION_INDEPENDENT u-boot
> > > > > > > option make it working again. But it requires to restoring older version
> > > > > > > of lowlevel_init.S file which does not depend on POSITION_INDEPENDENT:
> > > > > > > 
> > > > > > >     git checkout 7c4ad9821758f98db127e9d6864671c906c02d3b -- board/nokia/rx51/lowlevel_init.S
> > > > > > > 
> > > > > > > And also setting CONFIG_SYS_TEXT_BASE=0x80008000 (to some value in RAM).
> > > > > > 
> > > > > > Hi
> > > > > > 
> > > > > > I have a really crude serial console setup in place now, but very little
> > > > > > time, and even less experience with u-boot. I should be able to do the
> > > > > > tests for you on Saturday night (UTC+2). Perhaps over IRC might be a
> > > > > > good idea, in case I need some hand-holding, and if you still need the
> > > > > > help by then.
> > > > > > 
> > > > > > Regards
> > > > > > Sicelo
> > > > > 
> > > > > Well, I do not know where to start or how to instruct somebody who is
> > > > > not experienced with u-boot debugging. I think that the first step
> > > > > should be to look if U-Boot prints something on the serial console or
> > > > > not. If it prints then try to find via printf-driven-debugging place
> > > > > where it stuck. If it does not print anything on the console then try to
> > > > > setup debug early console, check if it prints something now and do same
> > > > > type of debugging. And if even early debug console does not work then
> > > > > probably initialize serial console directly in lowlevel_init.S file,
> > > > > prints something to serial, then move code for printing to later stage
> > > > > and try to figure out what is broken...
> > > > 
> > > > Early debug uart console can be enabled by configs/nokia_rx51_defconfig options:
> > > > 
> > > > CONFIG_DEBUG_UART=y
> > > > CONFIG_DEBUG_UART_OMAP=y
> > > > CONFIG_DEBUG_UART_SHIFT=2
> > > > CONFIG_DEBUG_UART_BASE=0x49020000
> > > > CONFIG_DEBUG_UART_CLOCK=48000000
> > > > 
> > > > And all debug verbose logs can be enabled by configs/nokia_rx51_defconfig options:
> > > > 
> > > > CONFIG_DM_DEBUG=y
> > > > CONFIG_LOG=y
> > > > CONFIG_LOGLEVEL=9
> > > > CONFIG_LOG_MAX_LEVEL=9
> > > > CONFIG_LOG_DEFAULT_LEVEL=9
> > > > 
> > > > By compiling via 'make u-boot.bin KCPPFLAGS=-DLOG_DEBUG'
> > > 
> > > Can somebody with serial console provide this debug output if there is
> > > something useful?
> > 
> > Can somebody help me with this?
> 
> Merlijn Wajer now sent me output from serial console:
> 
>   ...
>   initcall: 0001ebd4 (relocated to 8fe0abd4)
>   MMC:   0
>      - 0 'omap_hsmmc'
>      - found
>   1
>      - 0 'omap_hsmmc'
>      - 1 'omap_hsmmc'
>      - found
>   2
>      - 0 'omap_hsmmc'
>      - 1 'omap_hsmmc'
>      - not found
>   OMAP SD/MMC: 0, OMAP SD/MMC: 1
>   initcall: 0001ea8c (relocated to 8fe0aa8c)
>   Loading Environment from <NULL>... Using default environment
>   Destroy Hash Table: 8fe25a98 table = 00000000
>   Create Hash Table: N=387
> 
> After the "Create Hash Table: N=387" line there is nothing more.
> Repeated tests have same result, always stop at that line.
> 
> In qemu after that line I see following output:
> 
>   INSERT: table 8fe25a98, filled 1/389 rv 8fd0e2f4 ==> name="bootcmd" value="run sdboot;run emmcboot;run attachboot;echo"
>   INSERT: table 8fe25a98, filled 2/389 rv 8fd0e344 ==> name="bootdelay" value="30"
>   INSERT: table 8fe25a98, filled 3/389 rv 8fd0f960 ==> name="baudrate" value="115200"
>   DELETE CANDIDATE: "preboot"
>   hdelete: DELETE key "preboot"
>   DELETE ERROR ##############################
>   INSERT: table 8fe25a98, filled 4/389 rv 8fd0e574 ==> name="loadaddr" value="0x80008000"
>   ...
> 
> In qemu is u-boot working fine.
> 
> So it looks like that there is u-boot crash in environment code and only
> when running on real HW.
> 
> Any idea? Could there be some relocation issue in u-boot env code?

My first thought here is that something like 534f0fbd6520 ("arm64: Fix
relocation of env_addr if POSITION_INDEPENDENT=y") might be needed on
32bit as well?

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

  reply	other threads:[~2022-11-20 15:33 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-09 19:33 Broken u-boot on n900 hw (possibly CONFIG_POSITION_INDEPENDENT) Pali Rohár
2022-10-10 21:30 ` [maemo-leste] " Sicelo
2022-10-20 20:06   ` Pali Rohár
2022-10-21 19:09     ` Pali Rohár
2022-11-02  0:08       ` Pali Rohár
2022-11-09 20:33         ` Pali Rohár
2022-11-19 14:38           ` Ashish Shah
2022-11-19 18:24             ` Sicelo
2022-11-19 21:13           ` Pali Rohár
2022-11-20 15:33             ` Tom Rini [this message]
2022-11-20 16:13               ` Pali Rohár

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=20221120153335.GF7282@bill-the-cat \
    --to=trini@konsulko.com \
    --cc=absicsz@gmail.com \
    --cc=ivo.g.dimitrov.75@gmail.com \
    --cc=maemo-leste@lists.dyne.org \
    --cc=merlijn@wizzup.org \
    --cc=pali@kernel.org \
    --cc=pavel@ucw.cz \
    --cc=u-boot@lists.denx.de \
    /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