Port-ofppc archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: SmartFirmware /memory (was: Pegasos dmesg)
Hi,
I have to revive this old thread, because the problem is still not solved... :|
Matt Sealey wrote:
> Argh. Well, the latest "1.2" firmware was built-on 20051216 (revision 2B5
> production run) and you're running a slightly older firmware.
> Unfortunately, in the newer ones, it's fixed;
>
> memory@0:
> name "memory"
> linux,phandle 0fc54a00 (264587776)
> available 00000000 00010000 00024d74 00fdb28c 01800000 00400000
> 0294b007 00000ff9 02a4c000 0d1b1000 0fbffab4 0000054c
> [...]
I won't call that fixed. The "available" property only lists memory from the
lowest 256MB region, although you have 1 GB installed.
> I'm not sure exactly how you're meant to do it with broken "available"
> properties, I think Linux worked through sheer random chance and lucky
> memory mappings.
Which lucky memory mappings? ;)
I tried to study the Linux source, but I didn't get any clue. Neither did I
find any Pegasos specific code there, dealing with memory.
> The internal firmware memory allocator is fairly happy
> to claim() memory for you, so what might be best is to do some little
> tests, find out how much memory you have (reg) and then try and allocate
> 256MB chunks of it. [...]
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?
--
_ Frank Wille (frank%phoenix.owl.de@localhost)
_ // http://sun.hasenbraten.de/~frank/
\X/ Phx @ #AmigaGer
Home |
Main Index |
Thread Index |
Old Index