[OpenBIOS] [commit] r859 - trunk/openbios-devel/arch/sparc64

repository service svn at openbios.org
Wed Aug 25 18:58:56 CEST 2010


Author: mcayland
Date: Wed Aug 25 18:58:55 2010
New Revision: 859
URL: http://tracker.coreboot.org/trac/openbios/changeset/859

Log:
Alter the MMU properties as suggested by the UltraSPARC-II device tree prtconf output in the Debian sparc-utils package and 
Solaris 9 boot; i.e. remove the /CPU/mmu device, relocate its methods to /virtual-memory, and alter the /chosen mmu property so 
that it now points to /virtual-memory. This helps both Solaris 9 and OpenSolaris boot further along the way.

Signed-off-by: Mark Cave-Ayland <mark.cave-ayland at siriusit.co.uk>

Modified:
   trunk/openbios-devel/arch/sparc64/lib.c
   trunk/openbios-devel/arch/sparc64/tree.fs

Modified: trunk/openbios-devel/arch/sparc64/lib.c
==============================================================================
--- trunk/openbios-devel/arch/sparc64/lib.c	Tue Aug 24 21:45:57 2010	(r858)
+++ trunk/openbios-devel/arch/sparc64/lib.c	Wed Aug 25 18:58:55 2010	(r859)
@@ -446,7 +446,7 @@
     { "SUNW,retain",        mem_retain      },
 };
 
-DECLARE_UNNAMED_NODE(mmu, INSTALL_OPEN, 0);
+DECLARE_NODE(mmu, INSTALL_OPEN, 0, "/virtual-memory");
 
 NODE_METHODS(mmu) = {
     { "open",               mmu_open              },
@@ -462,33 +462,18 @@
 
 void ob_mmu_init(const char *cpuname, uint64_t ram_size)
 {
-    char nodebuff[256];
-
     /* memory node */
     REGISTER_NODE_METHODS(memory, "/memory");
 
     /* MMU node */
-    snprintf(nodebuff, sizeof(nodebuff), "/%s", cpuname);
-    push_str(nodebuff);
-    fword("find-device");
-
-    fword("new-device");
-
-    push_str("mmu");
-    fword("device-name");
-
-    fword("finish-device");
-
-    snprintf(nodebuff, sizeof(nodebuff), "/%s/mmu", cpuname);
-
-    REGISTER_NODE_METHODS(mmu, nodebuff);
+    REGISTER_NODE_METHODS(mmu, "/virtual-memory");
 
     ofmem_register(find_dev("/memory"), find_dev("/virtual-memory"));
 
     push_str("/chosen");
     fword("find-device");
 
-    push_str(nodebuff);
+    push_str("/virtual-memory");
     fword("open-dev");
     fword("encode-int");
     push_str("mmu");

Modified: trunk/openbios-devel/arch/sparc64/tree.fs
==============================================================================
--- trunk/openbios-devel/arch/sparc64/tree.fs	Tue Aug 24 21:45:57 2010	(r858)
+++ trunk/openbios-devel/arch/sparc64/tree.fs	Wed Aug 25 18:58:55 2010	(r859)
@@ -31,19 +31,13 @@
   external
   : open true ;
   : close ;
-  \ claim ( phys size align -- base )
-\  : claim 2drop ;
-  \ release ( phys size -- )
+  \ see arch/sparc64/lib.c for methods
 finish-device
 
 new-device
   " virtual-memory" device-name
   external
-  : open true ;
-  : close ;
-  \ claim ( phys size align -- base )
-\  : claim 2drop ;
-  \ release ( phys size -- )
+  \ see arch/sparc64/lib.c for methods
 finish-device
 
 " /options" find-device



More information about the OpenBIOS mailing list