Re: PS3?
On Mon, Oct 9, 2017 at 12:51 PM, Geoff Levand <geoff@infradead.org> wrote:
> Hi Rob,
>
> On 10/09/2017 09:48 AM, Rob Herring wrote:
>> That's source (dts) version. I'm talking about the dtb binary version.
>> Forcing the version to 0x10 should confirm and workaround your issue.
>> Assuming this is in fact the issue, then a fix would look something
>> like this:
>>
>> diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
>> index 27c535af0be8..c78198de155d 100644
>> --- a/drivers/of/fdt.c
>> +++ b/drivers/of/fdt.c
>> @@ -1210,6 +1210,9 @@ bool __init early_init_dt_verify(void *params)
>> if (fdt_check_header(params))
>> return false;
>>
>> + if (!fdt_offset_ptr(params))
>> + fdt_set_version(params, 16);
>> +
>> /* Setup flat device-tree pointer */
>> initial_boot_params = params;
>> of_fdt_crc32 = crc32_be(~0, initial_boot_params,
>>
>
> The boot fails later when processing the dtb. I tracked it down
> to exactly what happens a while ago, and decided it was better to
> just work on an updated bootloader based on a new kernel.
Right, I expect it fails in fdt_offset_ptr() which is pretty much used
in every libfdt call later on. I'm fixing it here before the arch
tries to read anything from the FDT.
Rob
Reply to:
- References:
- Re: PS3?
- From: Geoff Levand <geoff@infradead.org>
- Re: PS3?
- From: Rob Herring <robh@kernel.org>
- Re: PS3?
- From: Geoff Levand <geoff@infradead.org>
- Re: PS3?
- From: Rob Herring <robh@kernel.org>
- Re: PS3?
- From: Geoff Levand <geoff@infradead.org>