[PATCH 06/11] arm-dt: postpone machine detection until setup_arch with CONFIG_ARM_DEVTREE

Ben Dooks ben at simtec.co.uk
Tue Jan 5 03:36:19 EST 2010


Jeremy Kerr wrote:
> When we're using CONFIG_ARM_DEVTREE, we need to postpone machine detection
> until later in setup_arch. Because ARM_DEVTREE depends on !DEBUG_LL,
> we don't need the mdesc this early anyway.
> 
> We'll add support for ARM_DEVTREE && DEBUG_LL later.

Why not add a specific machine type for 'this is device tree' and
then these routines don't even need to #ifdef. It would especially
be good as it allows dt and non-dt machines to coexist in the same
kernel together.

> Signed-off-by: Jeremy Kerr <jeremy.kerr at canonical.com>
> 
> ---
>  arch/arm/kernel/head.S |    9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S
> index 38ccbe1..66bb56f 100644
> --- a/arch/arm/kernel/head.S
> +++ b/arch/arm/kernel/head.S
> @@ -82,9 +82,18 @@ ENTRY(stext)
>  	bl	__lookup_processor_type		@ r5=procinfo r9=cpuid
>  	movs	r10, r5				@ invalid processor (r5=0)?
>  	beq	__error_p			@ yes, error 'p'
> +
> +	/* If we're using the device tree for machine detection, we don't
> +	 * look for a machinfo here, as we'll dynamically create one in
> +	 * setup_arch(). ARM_DEVTREE depends on !DEBUG_LL, so we won't need
> +	 * any machinfo fields 'til later.
> +	 */
> +#ifndef CONFIG_ARM_DEVTREE
>  	bl	__lookup_machine_type		@ r5=machinfo
>  	movs	r8, r5				@ invalid machine (r5=0)?
>  	beq	__error_a			@ yes, error 'a'
> +#endif
> +
>  	bl	__vet_atags
>  	bl	__create_page_tables
>  
> 
> _______________________________________________
> linux-arm-kernel mailing list
> linux-arm-kernel at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel



More information about the devicetree-discuss mailing list