[RFC] FDT fix for 64 bit platforms
Jayachandran C.
jchandra at freebsd.org
Sat Oct 15 06:12:57 UTC 2011
On Sat, Oct 15, 2011 at 2:01 AM, Nathan Whitehorn
<nwhitehorn at freebsd.org> wrote:
> On 10/14/11 14:10, Jayachandran C. wrote:
>>
>> I'm planning commit this -CURRENT if there an no objections.
>>
>> In the current implementation, phandle is used to store a pointer to
>> the location inside the device tree. Since phandle_t is u32, this
>> will not work on 64 bit platforms. With this fix, the phandle is the
>> offset from the start of device tree pointer 'fdtp', which will be 32
>> bit.
>>
>> Review or testing from device tree users will be welcome.
>>
>> JC.
>
> Why not use offsets into the FDT rather than full pointers? I believe having
> phandles greater than 32 bits violates the FDT spec, and declaring that the
> FDT can't itself be larger than 4 GB seems reasonable.
I am actually using the offset from the beginning of FDT (fdtp) as
phandle. I cannot use the usual fdt offset (after off_dt_struct) as
phandle, because in that case offset of 0 is valid, but phandle 0
should not be valid.
JC.
More information about the freebsd-current
mailing list