[OpenBIOS] r341 - openbios-devel/arch/ppc/qemu

svn at openbios.org svn at openbios.org
Fri Jan 2 08:41:40 CET 2009


Author: blueswirl
Date: 2009-01-02 08:41:40 +0100 (Fri, 02 Jan 2009)
New Revision: 341

Modified:
   openbios-devel/arch/ppc/qemu/init.c
   openbios-devel/arch/ppc/qemu/kernel.h
   openbios-devel/arch/ppc/qemu/methods.c
   openbios-devel/arch/ppc/qemu/qemu.fs
   openbios-devel/arch/ppc/qemu/tree.fs
Log:
Correct duplicate /cpus and more (Laurent Vivier)

Correct duplicate /cpus
Correct mmu properties in /chosen
Add mmu methods to /cpus/<cpu>


Modified: openbios-devel/arch/ppc/qemu/init.c
===================================================================
--- openbios-devel/arch/ppc/qemu/init.c	2009-01-01 07:48:12 UTC (rev 340)
+++ openbios-devel/arch/ppc/qemu/init.c	2009-01-02 07:41:40 UTC (rev 341)
@@ -489,7 +489,7 @@
 #endif
 	snprintf(buf, sizeof(buf), "/cpus/%s", cpu->name);
 	ofmem_register(find_dev(buf));
-	node_methods_init();
+	node_methods_init(buf);
 
 #ifdef USE_RTAS
 	if( !(ph=find_dev("/rtas")) )

Modified: openbios-devel/arch/ppc/qemu/kernel.h
===================================================================
--- openbios-devel/arch/ppc/qemu/kernel.h	2009-01-01 07:48:12 UTC (rev 340)
+++ openbios-devel/arch/ppc/qemu/kernel.h	2009-01-02 07:41:40 UTC (rev 341)
@@ -25,7 +25,7 @@
 extern void             call_elf( ulong elf_entry );
 
 /* methods.c */
-extern void		node_methods_init( void );
+extern void		node_methods_init( const char *cpuname );
 
 /* main.c */
 extern void 		boot( void );

Modified: openbios-devel/arch/ppc/qemu/methods.c
===================================================================
--- openbios-devel/arch/ppc/qemu/methods.c	2009-01-01 07:48:12 UTC (rev 340)
+++ openbios-devel/arch/ppc/qemu/methods.c	2009-01-02 07:41:40 UTC (rev 341)
@@ -149,7 +149,7 @@
 /************************************************************************/
 
 DECLARE_NODE( memory, INSTALL_OPEN, 0, "/memory" );
-DECLARE_NODE( mmu, INSTALL_OPEN, 0, "/cpu at 0" );
+DECLARE_UNNAMED_NODE( mmu, INSTALL_OPEN, 0 );
 DECLARE_NODE( mmu_ciface, 0, 0, "+/openprom/client-services" );
 
 
@@ -291,14 +291,21 @@
 /************************************************************************/
 
 void
-node_methods_init( void )
+node_methods_init( const char *cpuname )
 {
+	phandle_t chosen, ph;
 #ifdef USE_RTAS
 	REGISTER_NODE( rtas );
 #endif
 	REGISTER_NODE( ciface );
 	REGISTER_NODE( memory );
-	REGISTER_NODE( mmu );
+	REGISTER_NODE_METHODS( mmu, cpuname );
 	REGISTER_NODE( mmu_ciface );
 	REGISTER_NODE( tty );
+
+	chosen = find_dev("/chosen");
+	if (chosen) {
+		ph = find_dev(cpuname);
+		set_int_property(chosen, "mmu", ph);
+	}
 }

Modified: openbios-devel/arch/ppc/qemu/qemu.fs
===================================================================
--- openbios-devel/arch/ppc/qemu/qemu.fs	2009-01-01 07:48:12 UTC (rev 340)
+++ openbios-devel/arch/ppc/qemu/qemu.fs	2009-01-02 07:41:40 UTC (rev 341)
@@ -37,7 +37,6 @@
 :noname
   " rtc" " rtc" preopen
   " memory" " /memory" preopen
-  " mmu" " /cpu at 0" preopen
   \ " stdout" " /packages/terminal-emulator" preopen
   " stdout" " screen" preopen
   " stdin" " adb-keyboard" preopen

Modified: openbios-devel/arch/ppc/qemu/tree.fs
===================================================================
--- openbios-devel/arch/ppc/qemu/tree.fs	2009-01-01 07:48:12 UTC (rev 340)
+++ openbios-devel/arch/ppc/qemu/tree.fs	2009-01-02 07:41:40 UTC (rev 341)
@@ -35,13 +35,6 @@
 	: close ;
 finish-device
 
-new-device
-        " cpus" device-name
-        " cpus" device-type
-	1 encode-int " #address-cells" property
-	0 encode-int " #size-cells" property
-finish-device
-
 \ -------------------------------------------------------------
 \ /packages
 \ -------------------------------------------------------------




More information about the OpenBIOS mailing list