diff --git a/arch/ppc/qemu/init.c b/arch/ppc/qemu/init.c index 9b62746..3bd6b40 100644 --- a/arch/ppc/qemu/init.c +++ b/arch/ppc/qemu/init.c @@ -753,13 +753,19 @@ arch_of_init( void ) node_methods_init(buf); #ifdef CONFIG_RTAS - if( !(ph=find_dev("/rtas")) ) - printk("Warning: No /rtas node\n"); - else { - unsigned long size = 0x1000; - while( size < (unsigned long)of_rtas_end - (unsigned long)of_rtas_start ) - size *= 2; - set_property( ph, "rtas-size", (char*)&size, sizeof(size) ); + /* OldWorld Macs don't have an /rtas node. */ + switch (machine_id) { + case ARCH_MAC99: + case ARCH_MAC99_U3: + if (!(ph = find_dev("/rtas"))) { + printk("Warning: No /rtas node\n"); + } else { + unsigned long size = 0x1000; + while (size < (unsigned long)of_rtas_end - (unsigned long)of_rtas_start) + size *= 2; + set_property(ph, "rtas-size", (char*)&size, sizeof(size)); + } + break; } #endif diff --git a/arch/ppc/qemu/methods.c b/arch/ppc/qemu/methods.c index bbb101f..12424e9 100644 --- a/arch/ppc/qemu/methods.c +++ b/arch/ppc/qemu/methods.c @@ -304,7 +304,9 @@ node_methods_init( const char *cpuname ) { phandle_t chosen, ph; #ifdef CONFIG_RTAS - REGISTER_NODE( rtas ); + if (is_newworld()) { + REGISTER_NODE( rtas ); + } #endif REGISTER_NODE( ciface ); REGISTER_NODE( memory );