[U-Boot] rpi2: u-boot misaligned operation

Alexander von Gluck IV
2019-06-29T01:48:47Z

June 26, 2019 3:22 AM, "Matthias Brugger" <matthias.bgg@gmail.com> wrote:
> On 25/06/2019 02:42, Alexander von Gluck IV wrote:
>
>> Was rebuilding u-boot binary for the Raspberry Pi 2 (from master), and ran into the following
>> issue:
>> "
>> U-Boot 2019.07-rc4-00179-g77f6e2dd05 (Jun 24 2019 - 14:25:14 -0500)
>>
>> DRAM: 128 MiB
>> RPI 2 Model B (0xa21041)
>> MMC: sdhci at 7e300000: 0
>> Loading Environment from FAT... *** Warning - bad CRC, using default environment
>>
>> mbox: Header response code invalid
>> bcm2835: Could not configure display
>> In: serial
>> Out: vidconsole
>> Err: vidconsole
>> Net: CACHE: Misaligned operation at range [07fdb6e8, 07fdb700]
>> CACHE: Misaligned operation at range [07fdb6e8, 07fdb700]
>> CACHE: Misaligned operation at range [07fdb6e8, 07fdb700]
>> CACHE: Misaligned operation at range [07fdb6e8, 07fdb700]
>> CACHE: Misaligned operation at range [07fdb6e8, 07fdb700]
>> CACHE: Misaligned operation at range [07fdb6e8, 07fdb700]
>> .
>> .
>> .
>> "
>>
>> git commit: 77f6e2dd0551d8a825bab391a1bd6b838874bcd4
>> Anyone seen this before?
>>
>> Thanks!
>
> Can you try to git-bisect between:
> git bisect good e4afcb2876eeeddd2376c8b07808276b75862498
> git bisect bad 3950f0f8563acab248214df36053bb6c57b91940
>
> I suppose that the one I marked as good actually works. :)

e4afcb2876eeeddd2376c8b07808276b75862498 is actually bad.
7e2ae620e15ef578b8f2812ec21ec07fae6c1e2f is bad (3 months ago)
91e1bc53c4b61cd7b871d485f4c136084245e9a2 is bad

I can't build before 91e1bc53c4b61cd7b871d485f4c136084245e9a2 due to libfdt
incompatibilities :-|

*however* I found an old u-boot for the rpi2 build in 2017
(which i'm pretty sure worked)
(ebca2083d3689c77c7d1365f1e6862b55abef8a2)

U-Boot 2017.11-00023-gebca2083d3 (Nov 17 2017 - 09:00:41 -0600)

DRAM: 128 MiB
RPI 2 Model B (0xa21041)
MMC: sdhci at 7e300000: 0
*** Warning - bad CRC, using default environment

mbox: Header response code invalid
bcm2835: Could not configure display
In: serial
Out: vidconsole
Err: vidconsole
Net: CACHE: Misaligned operation at range [07fb3f64, 07fb3f80]
CACHE: Misaligned operation at range [07fb3f64, 07fb3f80]
CACHE: Misaligned operation at range [07fb3f64, 07fb3f80]
CACHE: Misaligned operation at range [07fb3f64, 07fb3f80]
CACHE: Misaligned operation at range [07fb3f64, 07fb3f80]
CACHE: Misaligned operation at range [07fb3f64, 07fb3f80]
CACHE: Misaligned operation at range [07fb3f64, 07fb3f80]

This one was even built with our own toolchain before
we began to rely on host toolchains.

The big difference in the room is the pre-u-boot loaders
from the pi foundation. We're using their latest:

https://github.com/raspberrypi/firmware/tree/master/boot

I reverted bootloader.bin and start.elf from 2017:
https://github.com/raspberrypi/firmware/blob/dc93c7922bb31f20759a94a6e000299da8e331e3/boot/start.elf
https://github.com/raspberrypi/firmware/blob/dc93c7922bb31f20759a94a6e000299da8e331e3/boot/bootcode.bin

And it now works :-|

-- Alex