[PATCH u-boot] powerpc/mpc85xx: socrates: Re-enable building u-boot-socrates.bin

Heiko Schocher hs at denx.de
Sat Dec 31 16:31:57 CET 2022


Hello Pali,

On 31.12.22 14:36, Heiko Schocher wrote:
> Hello Pali,
> 
> On 31.12.22 13:58, Pali Rohár wrote:
>> On Saturday 31 December 2022 10:36:07 Heiko Schocher wrote:
>>> Hello Pali,
>>>
>>> On 28.12.22 19:18, Pali Rohár wrote:
>>>> U-Boot build system builds final U-Boot binary for socrates board in custom
>>>> file u-boot-socrates.bin (instead of standard u-boot.bin). Output target
>>>> file u-boot-socrates.bin is generated by binman as defined in board binman
>>>> config file arch/powerpc/dts/socrates-u-boot.dtsi.
>>>>
>>>> But binman was disabled in commit 5af42eafd7e1 ("Makefile: Reduce usage of
>>>> custom mpc85xx u-boot.bin target") for all mpc85xx boards which do not use
>>>> standard powerpc binman config file arch/powerpc/dts/u-boot.dtsi and boards
>>>> which do not require binman at all.
>>>>
>>>> The only such mpc85xx board is socrates. So since that commit, U-Boot does
>>>> not final binary for socrates board anymore.
>>>>
>>>> Fix this issue by re-enabling binman for socrates board. And build process
>>>> starts again producing u-boot-socrates.bin binary.
>>>>
>>>> Note that build process for this socrates board always produce u-boot.bin
>>>> binary which is broken and not usable for socrates board. Long term
>>>> solution should be to disable building broken binary u-boot.bin and then
>>>> renaming u-boot-socrates.bin to u-boot.bin, or switching to use common
>>>> powerpc binman config file arch/powerpc/dts/socrates-u-boot.dtsi (if it is
>>>> possible).
>>>>
>>>> Fixes: 5af42eafd7e1 ("Makefile: Reduce usage of custom mpc85xx u-boot.bin target")
>>>> Signed-off-by: Pali Rohár <pali at kernel.org>
>>>> ---
>>>> Heiko Schocher: Could you test if u-boot is still working on this board?
>>>>
>>>> Tom Rini: Cannot be this issue handled by CI? For example that CI check
>>>> build process produce required output binaries?
>>>> ---
>>>>  arch/powerpc/cpu/mpc85xx/Kconfig | 1 +
>>>>  1 file changed, 1 insertion(+)
>>>
>>> With this patch, u-boot-socrates.bin is build again, so yes...
>>>
>>> Tested-by: Heiko Schocher <hs at denx.de>
>>>
>>> ... but current u-boot does not boot anymore on this board ... I have to
>>> dig into, obvious difference I see in hexdump is:
>>>
>>> old (2022.01) u-boot:
>>> """
>>> 00001930  74 65 00 6f 66 66 73 65  74 00 73 74 64 6f 75 74  |te.offset.stdout|
>>> 00001940  2d 70 61 74 68 00 ff ff  ff ff ff ff ff ff ff ff  |-path...........|
>>> 00001950  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
>>> *
>>> 00020000  27 05 19 56 3c 60 e4 01  60 63 3f 10 38 63 fb f0  |'..V<`..`c?.8c..|
>>> 00020010  3c 80 e4 01 60 84 40 00  38 00 00 00 38 84 ff fc  |<...`. at .8...8...|
>>> 00020020  90 04 00 00 7c 04 18 40  40 82 ff f4 3c 80 e4 01  |....|..@@...<...|
>>>
>>> """
>>>
>>> New
>>> """
>>> 00001930  74 65 00 6f 66 66 73 65  74 00 73 74 64 6f 75 74  |te.offset.stdout|
>>> 00001940  2d 70 61 74 68 00 ff ff  ff ff ff ff ff ff ff ff  |-path...........|
>>> 00001950  ff ff ff ff ff ff ff ff  ff ff ff ff ff ff ff ff  |................|
>>> *
>>> 00020000  3c 60 e4 01 60 63 3f 10  38 63 fb f0 3c 80 e4 01  |<`..`c?.8c..<...|
>>> 00020010  60 84 40 00 38 00 00 00  38 84 ff fc 90 04 00 00  |`. at .8...8.......|
>>> 00020020  7c 04 18 40 40 82 ff f4  3c 80 e4 01 60 84 3f 20  ||..@@...<...`.? |
>>>
>>> """
>>>
>>> So "U-Boot magic" is misssing ...
>>
>> It was removed in commit 2dcf776ebcf7 ("powerpc: mpc85xx: Drop _start symbol").
>> Was it used for something?
> 
> I think (hope) not!
> 
>>> reset vector at end of image is for both the same:
>>>
>>> 000bfff0  ff ff ff ff ff ff ff ff  ff ff ff ff 4b ff f0 04  |............K...|
>>> 000c0000
>>
>> 4b ff f0 04 is ppc branch instruction pos-0xffc, so to offset 0xbf000
>> in dumped file (not available in the output). I think this is correct.
> 
> Yes, this is correct.
> 
>>
>>> I have to dig deeper into it, to find out what have changed in the meantime,
>>> (Think I start a "git bisect") just find some more time for it...
>>
>> I think that git bisect would be needed to investigate what is the
>> problematic commit.
>>
> 
> Just bisecting it ... and commit:
> """
> commit 985503439762c3168aeb80f529bb9bbcd773dd2c
> Author: Simon Glass <sjg at chromium.org>
> Date:   Thu Dec 16 20:59:31 2021 -0700
> 
>     fdt: Don't call board_fdt_blob_setup() without OF_BOARD
> """
> 
> poped up ... so I enabled CONFIG_OF_BOARD for socrates build to get
> board specific function board_fdt_blob_setup() again called, and
> with this change board boots again, based on this commit!
> 
> But ... building current head:
> 3089d12a02efd1dc5dce01e0ec0fda9142693b11
> 
> with this change, again, no u-boot output ...so there is a next "git bisect"
> round necessary. I have to stop now, else I get an angry wife ... will continue
> next week... hopefully with a good result...
> 
> Have a good slide to the new year!

Next git bisect round shows up:
"""
commit be7dbb60c5bfa38ea444fe7de1dca8bd35f83f5b (refs/bisect/bad)
Author: Tom Rini <trini at konsulko.com>
Date:   Sun Dec 12 22:12:30 2021 -0500

    Convert CONFIG_SYS_IMMR to Kconfig
"""

and yes, config symbol:

CONFIG_SYS_IMMR=0xff700000

is crap for socrates... you fixed this already in mainline with
"""
commit 39f42fe20a8239c6a878f7fac03e758b2117009e
Author: Pali Rohár <pali at kernel.org>
Date:   Mon May 2 18:29:25 2022 +0200

    powerpc: mpc85xx: Set default SYS_IMMR value for P1/P2 CPUs

    This reduce usage of per-board custom settings.
"""

but with current HEAD, board still does not boot, CONFIG_SYS_IMMR is correct...

puh... so I have to git bisect in a third round with correcting IMMR
value between your fix and commit be7dbb60c5

bye,
Heiko

> 
> bye,
> Heiko
> 
> 
>>> Nevertheless, I think, this patch can go in...
>>>
>>> bye,
>>> Heiko
>>>
>>> -- 
>>> DENX Software Engineering GmbH,      Managing Director: Erika Unter
>>> HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
>>> Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: hs at denx.de
> 
> 
> bye,
> Heiko
> 

-- 
DENX Software Engineering GmbH,      Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-52   Fax: +49-8142-66989-80   Email: hs at denx.de


More information about the U-Boot mailing list