Subject: Re: [Cbe-oss-dev] [PATCH] Ignore memory listed in PS3 device tree

From: Geoff Levand <[email-masked]>
Date: Tue, 03 Apr 2007 15:45:18 -0700

David Woodhouse wrote:
> On Tue, 2007-04-03 at 14:18 -0700, Geoff Levand wrote:
>> I'm in the middle of implementing the zImage and kexec support for the
>> 2.6.21 kernel, but haven't pushed all of it out to ps3-linux.git yet.
>> Once that is done, there is little need for a 2.6.16 based bootloader,
>> since it would be just as well to use a recent kernel.

> But to go back to the unanswered question.... why _did_ we change from
> having the memory in the device-tree, to dynamically querying for it?

There are several points here I feel need explanation.  One is that memory
is a dynamic resource allocated by the HV, so it needs to be managed as a
dynamic resource by the guest OS.  Another point is that the HV has two
types of memory; boot memory, and virtual memory.  Boot memory is what will
be in is in the DT when I finish the zImage implementation.  Virtual memory
is what I currently have as hotplug memory.

So there are really two answers, one is that having the boot memory in the
DT hasn't changed, I just haven't finished that part yet.  The other is that
we get the amount of memory at runtime because it is a dynamic resource, and
cannot be known at DT compile time.  It is just by some luck that the 2.6.16
kernel continues to work correctly on the PS3, but it is not guaranteed to,
and has a good chance of failing on non-ps3 systems that use the lv1 hypervisor.

-Geoff