On 10/15/11 01:12, Jayachandran C. wrote:
On Sat, Oct 15, 2011 at 2:01 AM, Nathan Whitehorn
<nwhiteh...@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.
Why shouldn't phandle 0 be valid? The invalid phandle is -1. This is one
of the problems with our existing FDT code -- it makes all kinds of
wrong assumptions like this about IEEE 1275.
-Nathan
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"