On 27 April 2015 at 17:06, Christoffer Dall <christoffer.d...@linaro.org> wrote:
> On Tue, Apr 21, 2015 at 03:47:13PM +0100, Peter Maydell wrote:
>
> [...]
>
>> > @@ -340,9 +357,31 @@ static void fdt_add_gic_node(VirtBoardInfo *vbi)
>> >                                       2, vbi->memmap[VIRT_GIC_DIST].size,
>> >                                       2, vbi->memmap[VIRT_GIC_CPU].base,
>> >                                       2, vbi->memmap[VIRT_GIC_CPU].size);
>> > +    qemu_fdt_setprop_cell(vbi->fdt, "/intc", "#address-cells", 0x2);
>> > +    qemu_fdt_setprop_cell(vbi->fdt, "/intc", "#size-cells", 0x2);
>> > +    qemu_fdt_setprop(vbi->fdt, "/intc", "ranges", NULL, 0);
>> >
>>
>> Why do we need an empty ranges attribute?
>>
>
> Without it, Linux fails to make things work.  I suspect this is related
> to specifically setting the #address-cells and #size-cells.

Looking at the DT spec I think it's a requirement for any node
which has children, to specify the address translation.
Empty ranges means "1:1 translation" (and more complicated
transformations are possible).

-- PMM

Reply via email to