Date: Sat, 15 Oct 2011 11:42:55 +0530 From: "Jayachandran C." <jchandra@freebsd.org> To: Nathan Whitehorn <nwhitehorn@freebsd.org> Cc: Rafal Jaworowski <raj@semihalf.com>, Marcel Moolenaar <marcel@freebsd.org>, FreeBSD Current <freebsd-current@freebsd.org> Subject: Re: [RFC] FDT fix for 64 bit platforms Message-ID: <CA%2B7sy7Ba6zrRGQuon%2B7FPk8EhgnpYLWTGv0EAPy0pdRXJfc3ZQ@mail.gmail.com> In-Reply-To: <4E989C28.3030606@freebsd.org> References: <CA%2B7sy7AhU7WLuabx6HCtUgvEtUHWBmGe-eP=N8L9VknM65r-mg@mail.gmail.com> <4E989C28.3030606@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Oct 15, 2011 at 2:01 AM, Nathan Whitehorn <nwhitehorn@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. =A0Since 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 hav= ing > phandles greater than 32 bits violates the FDT spec, and declaring that t= he > 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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CA%2B7sy7Ba6zrRGQuon%2B7FPk8EhgnpYLWTGv0EAPy0pdRXJfc3ZQ>