[OpenBIOS] [PATCH] ppc: Fix /memory reg property
Andreas Färber
andreas.faerber at web.de
Sun Nov 7 02:02:02 CET 2010
Am 07.11.2010 um 01:30 schrieb Alexander Graf:
> On 05.11.2010, at 21:46, Andreas Färber wrote:
>
>> Physical address and size were both using two cells instead of one,
>> and their order was wrong. This would happen to work for RAM < 4 GB,
>> since the clear high address bits would happen to match the zero-
>> based
>> memory location. It would indicate a second bank of size zero though.
>>
>> Switch the value order and use encode-phys in preparation for ppc64.
>>
>> This tidies the output of the Haiku boot loader.
>>
>> Cc: Alexander Graf <agraf at suse.de>
>> Signed-off-by: Andreas Färber <andreas.faerber at web.de>
>> ---
>> arch/ppc/qemu/init.c | 10 ++--------
>> 1 files changed, 2 insertions(+), 8 deletions(-)
>>
>> diff --git a/arch/ppc/qemu/init.c b/arch/ppc/qemu/init.c
>> index bfd147a..c5da992 100644
>> --- a/arch/ppc/qemu/init.c
>> +++ b/arch/ppc/qemu/init.c
>> @@ -730,15 +730,9 @@ arch_of_init( void )
>>
>> /* all memory */
>>
>> - PUSH(ram_size >> 32);
>> - fword("encode-int");
>> - PUSH(ram_size & 0xffffffff);
>> - fword("encode-int");
>> - fword("encode+");
>> - PUSH(0);
>> - fword("encode-int");
>> - fword("encode+");
>> PUSH(0);
>> + fword("encode-phys");
>> + PUSH(ram_size & 0xffffffff);
>
> Doesn't this limit RAM to 4GB?
It does limit location and size of RAM to 4 GB, which is correct for
ppc.
For ppc64 we need to bump #address-cells to 2 first, which is
something I'd like to postpone until ppc64 boot gets somewhere.
The current state is definitely wrong either way.
We currently don't handle RAM > 2 GB correctly anyway. It would
overlap ISA, PCI, fw_cfg etc. That may need adjustments in QEMU, too,
haven't checked.
Andreas
More information about the OpenBIOS
mailing list