Re: [PATCH] semi_loader: Handle dtbs with 64 bit addresses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 17 August 2012 17:12, Dave Martin <dave.martin@xxxxxxxxxx> wrote:
> On Fri, Aug 17, 2012 at 05:00:46PM +0100, Peter Maydell wrote:
>> On 17 August 2012 16:45, Dave Martin <dave.martin@xxxxxxxxxx> wrote:
>> >> @@ -186,7 +202,10 @@ no_add_memory:
>> >>
>> >>       if(info->initrd_start) {
>> >>               uint32_t initrd_end = info->initrd_start + info->initrd_size;
>> >> -
>> >> +             /* It's not documented whether these cells should honour
>> >> +              * #address-cells. Currently the kernel accepts them as being
>> >> +              * addresses of either size, so we leave them as 32 bits for now.
>> >> +              */
>> >
>> > Interesting... OK.
>>
>> I have a query in with Grant to get him to make a decision here
>> and write some documentation...
>
> OK.  It feels like they certainly should follow #address-cells.  For
> non-AArch64 platforms, we're dependent on at least enough low physical
> RAM (or a low alias) to load the kernel -- in practice that means the
> initrd should fit in it too.  I guess we should just leave this patch
> as-is for now.
>
> Ultimately, for AArch64 it can make sense for there to be no RAM in the
> bottom 4GB of physical address space, so I would be worried if the DT
> bindings don't cope with this.

You can also feed in a 64 bit address here and the kernel will cope
fine: it simply looks at the size of the property itself, ignoring
#address-cells. So the kernel will cope fine with any of the following
DTB generator strategies:
 * assume these properties follow #address-cells
 * always 32 bit (and implicitly require the initrd to be in low memory)
 * always 64 bit

-- PMM
_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm


[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux