Nice idea, but which claim() are we talking about?
1. The OF_claim() call.
2. The claim()-method of /cpus/PowerPC.../.
3. The claim()-method of /memory@0.
Unfortunately none of them really helps us.
I made a test with OF_claim(), passing the address-argument as 0, but it
only returns memory from the lowest 256MB. Same with the claim() method of
/memory, which only returns the memory listed under "available". The claim()
method of /cpus/PowerPC happily returns all memory from 0 to 0x10000000,
ignoring /memory's "available", but nothing more.
Another crazy experiment was to use the release() method of /memory, to add
the region 0x10000000-0x20000000 to the "available" property. But again
the kernel crashes when accessing it.
*sigh* ... so what do we have to do to access more than 256MB?