From mboxrd@z Thu Jan 1 00:00:00 1970 From: catalin.marinas@arm.com (Catalin Marinas) Date: Thu, 28 Jan 2010 18:05:31 +0000 Subject: [PATCH 3/3] ARM: Select CPU_32v6K for CPU_V7 only if ARCH_OMAP2 isnot selected In-Reply-To: <20100128174741.GN23505@atomide.com> References: <20100126193748.15134.4837.stgit@baageli.muru.com> <1264676451.7064.40.camel@pc1117.cambridge.arm.com> <20100128174741.GN23505@atomide.com> Message-ID: <1264701931.7064.98.camel@pc1117.cambridge.arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Thu, 2010-01-28 at 17:47 +0000, Tony Lindgren wrote: > * Catalin Marinas [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 > > > --- > > > 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