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

Alexander von Gluck IV
2019-06-29T02:00:42Z

June 28, 2019 8:49 PM, "Alexander von Gluck IV" <kallisti5@unixzen.com> wrote:
> 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.
> in
>
> And it now works :-|

Raised to the Raspberry Pi folks here:
https://github.com/raspberrypi/firmware/issues/1164

Maybe they'll have some insight.