[PATCH 3/3] ARM: Select CPU_32v6K for CPU_V7 only if ARCH_OMAP2 isnot selected

Catalin Marinas catalin.marinas at arm.com
Thu Jan 28 13:05:31 EST 2010


On Thu, 2010-01-28 at 17:47 +0000, Tony Lindgren wrote:
> * Catalin Marinas <catalin.marinas at arm.com> [100128 02:58]:
> > On Tue, 2010-01-26 at 19:37 +0000, Tony Lindgren wrote:
> > > Otherwise the kernel built with both CPU_V6 and CPU_V7 will not
> > > boot on omap2.
> > >
> > > Signed-off-by: Tony Lindgren <tony at atomide.com>
> > > ---
> > >  arch/arm/mm/Kconfig |    4 ++--
> > >  1 files changed, 2 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
> > > index baf6384..4c2e90d 100644
> > > --- a/arch/arm/mm/Kconfig
> > > +++ b/arch/arm/mm/Kconfig
> > > @@ -399,7 +399,7 @@ config CPU_V6
> > >  config CPU_32v6K
> > >         bool "Support ARM V6K processor extensions" if !SMP
> > >         depends on CPU_V6
> > > -       default y if SMP && !ARCH_MX3
> > > +       default y if SMP && !(ARCH_MX3 || ARCH_OMAP2)
> > >         help
> > >           Say Y here if your ARMv6 processor supports the 'K' extension.
> > >           This enables the kernel to use some instructions not present
> > > @@ -410,7 +410,7 @@ config CPU_32v6K
> > >  # ARMv7
> > >  config CPU_V7
> > >         bool "Support ARM V7 processor" if ARCH_INTEGRATOR || MACH_REALVIEW_EB || MACH_REALVIEW_PBX
> > > -       select CPU_32v6K
> > > +       select CPU_32v6K if !ARCH_OMAP2
> >
> > I suspect that would be an issue for all ARMv6 platforms without the MP
> > extensions (v6K). Could we do something like:
> >
> >       select CPU_32v6K if SMP || !CPU_V6
> 
> Hmm, but then we can't compile in SMP for single core systems and
> keep it bootable on single core v6?

Not with the current kernel since it hardcodes the shareability bit in
the page tables and the LDREX/STREX operations don't work as expected on
uniprocessor hardware.

I agree that it would be nice to be able to have an SMP kernel booting
on both UP and MP but there are some #ifdef CONFIG_SMP in the kernel
which would need to be sorted out.

-- 
Catalin




More information about the linux-arm-kernel mailing list