ppc: Don't set up RTAS for OldWorld Macs

According to historical device trees, pre-iMac Macs do not seem to
have the /rtas node.

Make /rtas conditional to NewWorld Macs for now, while allowing to
extend this to future CHRP machines.

This means that the ppc-softmmu would by default not have it,
except when using -M mac99. ppc64-softmmu would get it by default.

Signed-off-by: Andreas Färber <andreas.faerber@web.de>


git-svn-id: svn://coreboot.org/openbios/trunk/openbios-devel@936 f158a5a8-5612-0410-a976-696ce0be7e32
This commit is contained in:
Andreas Färber
2010-10-31 10:21:50 +00:00
committed by Andreas Färber
parent b544062187
commit 8d8e29fce6
2 changed files with 16 additions and 8 deletions

View File

@@ -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

View File

@@ -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 );