Am 24.11.2010 um 23:20 schrieb Andreas Färber:
To store a full 64-bit address we need two cells. This matches Apple's OpenFirmware on my G5.
Note that an enlarged #size-cells is not strictly needed and constitutes a difference between Apple and IBM firmware.
Cc: Alexander Graf agraf@suse.de Signed-off-by: Andreas Färber andreas.faerber@web.de
I applied a reworked version in r975, with the PUSH() logic in an inline function.
As mentioned in the commit message, what I failed with was a loop along the lines of:
while (remaining > 0) { PUSH(value); remaining -= sizeof(ucell); value >>= (sizeof(ucell) * 8); }
That shift compiles only if sizeof(phys_addr_t) > sizeof(ucell), i.e. on ppc64.
Andreas