[OpenBIOS] [commit] r947 - trunk/openbios-devel/arch/ppc/qemu

repository service svn at openbios.org
Sun Nov 7 17:51:48 CET 2010


Author: afaerber
Date: Sun Nov  7 17:51:47 2010
New Revision: 947
URL: http://tracker.coreboot.org/trac/openbios/changeset/947

Log:
ppc: Fix /memory reg property

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.

v2:
* Document TODOs for ppc64, requested by Alex.

Cc: Alexander Graf <agraf at suse.de>
Signed-off-by: Andreas Färber <andreas.faerber at web.de>

Modified:
   trunk/openbios-devel/arch/ppc/qemu/init.c

Modified: trunk/openbios-devel/arch/ppc/qemu/init.c
==============================================================================
--- trunk/openbios-devel/arch/ppc/qemu/init.c	Sat Nov  6 02:17:02 2010	(r946)
+++ trunk/openbios-devel/arch/ppc/qemu/init.c	Sun Nov  7 17:51:47 2010	(r947)
@@ -730,15 +730,12 @@
 
 	/* 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+");
+	/* TODO Adjust this when #address-cells gets increased for ppc64. */
 	PUSH(0);
+	fword("encode-phys");
+	/* This needs adjusting if #size-cells gets increased.
+	   Alternatively use multiple (address, size) tuples. */
+	PUSH(ram_size & 0xffffffff);
 	fword("encode-int");
 	fword("encode+");
 	push_str("reg");



More information about the OpenBIOS mailing list