On Tue, Oct 16, 2012 at 02:21:46PM +0100, Lorenzo Pieralisi wrote: > As soon as the device tree is unflattened the cpu logical to physical > mapping is carried out in setup_arch to build a proper array of MPIDR and > corresponding logical indexes. > > The mapping could have been carried out using the flattened DT blob and > related primitives, but since the mapping is not needed by early boot > code it can safely be executed when the device tree has been uncompressed to > its tree data structure. > > This patch adds the arm_dt_init_cpu maps() function call in setup_arch(). > > If the kernel is not compiled with DT support the function is empty and > no logical mapping takes place through it; the mapping carried out in > smp_setup_processor_id() is left unchanged. > If DT is supported the mapping created in smp_setup_processor_id() is > overriden. > The DT mapping also sets the possible cpus mask, hence platform > code need not set it again in the respective smp_init_cpus() functions. > > Signed-off-by: Lorenzo Pieralisi <[email protected]> > --- > arch/arm/kernel/setup.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c > index da1d1aa..20c530b 100644 > --- a/arch/arm/kernel/setup.c > +++ b/arch/arm/kernel/setup.c > @@ -758,6 +758,7 @@ void __init setup_arch(char **cmdline_p) > > unflatten_device_tree(); > > + arm_dt_init_cpu_maps(); > #ifdef CONFIG_SMP > if (is_smp()) { > smp_set_ops(mdesc->smp); > -- > 1.7.12
Acked-by: Will Deacon <[email protected]> Will _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
