Subject: Re: [PATCH] powerpc: Make RTAS instantiation depend on CONFIG_PPC_RTAS

From: Benjamin Herrenschmidt <[email-masked]>
Date: Mon, 15 Jun 2009 11:49:14 +1000

On Fri, 2009-06-12 at 14:08 +1000, Michael Ellerman wrote:
> Currently prom_init.c always instantiates RTAS, even if the kernel
> is built without RTAS support - that seems wrong.

Nak :-)

We want to always instantiate it from prom_init.c because we can't do
it any more later. There's the vague possibility that you may want to
boot a non-RTAS kernel which then kexec's into an RTAS kernel, and that
isn't possible if the initial prom_init.c didn't instanciate RTAS and
put a reference to it in the flat device-tree.

Cheers,
Ben.

> Signed-off-by: Michael Ellerman <[email-masked]>
> ---
>  arch/powerpc/kernel/prom_init.c |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
> 
> diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
> index 2f0e64b..6c2dc59 100644
> --- a/arch/powerpc/kernel/prom_init.c
> +++ b/arch/powerpc/kernel/prom_init.c
> @@ -1052,6 +1052,7 @@ static void __init prom_init_mem(void)
>  }
>  
> 
> +#ifdef CONFIG_PPC_RTAS
>  /*
>   * Allocate room for and instantiate RTAS
>   */
> @@ -1109,6 +1110,9 @@ static void __init prom_instantiate_rtas(void)
>  
>  	prom_debug("prom_instantiate_rtas: end...\n");
>  }
> +#else
> +static inline void prom_instantiate_rtas(void) { }
> +#endif /* CONFIG_PPC_RTAS */
>  
>  #ifdef CONFIG_PPC64
>  /*