r8a7794/alt and CONFIG_PROVE_LOCKING=y

Geert Uytterhoeven geert at linux-m68k.org
Mon Jan 11 11:27:56 PST 2016


Hi Russell,

On Mon, Jan 11, 2016 at 7:55 PM, Russell King - ARM Linux
<linux at arm.linux.org.uk> wrote:
> On Mon, Jan 11, 2016 at 07:46:57PM +0100, Geert Uytterhoeven wrote:
>> When CONFIG_PROVE_LOCKING=y, r8a7794/alt doesn't boot (no output).
>> Earlycon doesn't help, but DEBUG_LL=y and earlyprintk gave me:
>>
>>     Error: unrecognized/unsupported machine ID (r1 = 0x18009008).
>>
>>     Available machine support:
>>
>>     ID (hex) NAME
>>     ffffffff    Generic DT based system
>>     ffffffff Generic R8A7794 (Flattened Device Tree)
>>
>>     Please check your kernel config and/or bootloader.
>>
>> I'm booting using
>>
>>     tftp 41000000 alt/zImage
>>     tftp 40f00000 alt/r8a7794-alt.dtb
>>     bootz 41000000 - 40f00000
>>
>> just like on r8a7791/koelsch, where CONFIG_PROVE_LOCKING does work.
>>
>> If I disable CONFIG_PROVE_LOCKING (e.g. shmobile_defconfig), the same kernel
>> boots fine.
>>
>> Anyone with a clue?
>
> You're probably overwriting the dtb.  Presumably, RAM starts at
> 0x40000000, which means if your kernel is larger than 16MB-32k
> after decompression, the dtb will get overwritten.

That's what I was assuming, too.
But why would it work on the koelsch sister board, even with the same
kernel config?

Upon closer look, koelsch loads the DT a bit higher in memory:

## Flattened Device Tree blob at 40f00000
   Booting using the fdt blob at 0x40f00000
      Loading Device Tree to 40fed000, end 40fff5b1 ... OK

than alt:

## Flattened Device Tree blob at 40f00000
   Booting using the fdt blob at 0x40f00000
      Loading Device Tree to 40ef6000, end 40effc4b ... OK

This extra ca. 1 MiB seems to make the difference. Adding a bit more to
the kernel makes it fail on koelsch too, even without any output.

Doh, newer board, more stringent kernel size limitation...

Thanks!

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert at linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



More information about the linux-arm-kernel mailing list