[OpenBIOS] r573 - in trunk/openbios-devel: arch/ppc/qemu forth/admin

svn at openbios.org svn at openbios.org
Sat Aug 29 23:09:22 CEST 2009


Author: laurent
Date: 2009-08-29 23:09:21 +0200 (Sat, 29 Aug 2009)
New Revision: 573

Modified:
   trunk/openbios-devel/arch/ppc/qemu/ofmem.c
   trunk/openbios-devel/forth/admin/nvram.fs
Log:
Define load-base to follow memory mapping defined in the BootX source 
comments.

This as been reported by Steven Noonan.



Modified: trunk/openbios-devel/arch/ppc/qemu/ofmem.c
===================================================================
--- trunk/openbios-devel/arch/ppc/qemu/ofmem.c	2009-08-29 20:42:22 UTC (rev 572)
+++ trunk/openbios-devel/arch/ppc/qemu/ofmem.c	2009-08-29 21:09:21 UTC (rev 573)
@@ -30,10 +30,24 @@
 extern void isi_exception( void );
 extern void setup_mmu( ulong code_base );
 
+/*
+ * From Apple's BootX source comments:
+ *
+ *  96 MB map (currently unused - 4363357 tracks re-adoption)
+ * 00000000 - 00003FFF  : Exception Vectors
+ * 00004000 - 03FFFFFF  : Kernel Image, Boot Struct and Drivers (~64 MB)
+ * 04000000 - 04FFFFFF  : File Load Area (16 MB)   [80 MB]
+ * 05000000 - 053FFFFF  : FS Cache    (4 MB)       [84 MB]
+ * 05400000 - 055FFFFF  : Malloc Zone (2 MB)       [86 MB]
+ * 05600000 - 057FFFFF  : BootX Image (2 MB)       [88 MB]
+ * 05800000 - 05FFFFFF  : Unused/OF   (8 MB)       [96 MB]
+ *
+ */
+
 #define FREE_BASE		0x00004000
 #define OF_CODE_START	0xfff00000UL
 #define IO_BASE			0x80000000
-#define OFMEM			((ofmem_t*)FREE_BASE)
+#define OFMEM			((ofmem_t*)0x05400000)
 
 #define OF_MALLOC_BASE		((char*)OFMEM + ((sizeof(ofmem_t) + 3) & ~3))
 
@@ -78,7 +92,7 @@
 ulong
 get_ram_bottom( void )
 {
-        return (ulong)OF_MALLOC_BASE;
+        return (ulong)FREE_BASE;
 }
 
 static ucell get_heap_top( void )

Modified: trunk/openbios-devel/forth/admin/nvram.fs
===================================================================
--- trunk/openbios-devel/forth/admin/nvram.fs	2009-08-29 20:42:22 UTC (rev 572)
+++ trunk/openbios-devel/forth/admin/nvram.fs	2009-08-29 21:09:21 UTC (rev 573)
@@ -334,7 +334,7 @@
 " false"    " real-mode?"           bool-config
 " -1"       " real-base"            int-config
 " -1"       " real-size"            int-config
-" 0x800000" " load-base"            int-config
+" 4000000"  " load-base"          int-config
 " -1"       " virt-base"            int-config
 " -1"       " virt-size"            int-config
 [THEN]




More information about the OpenBIOS mailing list