[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <35FD53F367049845BC99AC72306C23D103EDAF89E198@CNBJMBX05.corpusers.net>
Date: Fri, 9 Jan 2015 20:40:56 +0800
From: "Wang, Yalin" <Yalin.Wang@...ymobile.com>
To: 'Russell King - ARM Linux' <linux@....linux.org.uk>
CC: 'Ard Biesheuvel' <ard.biesheuvel@...aro.org>,
'Will Deacon' <will.deacon@....com>,
"'linux-kernel@...r.kernel.org'" <linux-kernel@...r.kernel.org>,
"'akinobu.mita@...il.com'" <akinobu.mita@...il.com>,
"'linux-mm@...ck.org'" <linux-mm@...ck.org>,
'Joe Perches' <joe@...ches.com>,
"'linux-arm-kernel@...ts.infradead.org'"
<linux-arm-kernel@...ts.infradead.org>
Subject: RE: [RFC V6 2/3] arm:add bitrev.h file to support rbit instruction
> -----Original Message-----
> From: Russell King - ARM Linux [mailto:linux@....linux.org.uk]
> Sent: Friday, January 09, 2015 7:11 PM
> To: Wang, Yalin
> Cc: 'Ard Biesheuvel'; 'Will Deacon'; 'linux-kernel@...r.kernel.org';
> 'akinobu.mita@...il.com'; 'linux-mm@...ck.org'; 'Joe Perches'; 'linux-arm-
> kernel@...ts.infradead.org'
> Subject: Re: [RFC V6 2/3] arm:add bitrev.h file to support rbit instruction
>
> On Fri, Jan 09, 2015 at 10:16:32AM +0800, Wang, Yalin wrote:
> > > -----Original Message-----
> > > From: Russell King - ARM Linux [mailto:linux@....linux.org.uk]
> > > Sent: Friday, January 09, 2015 2:41 AM
> > > To: Wang, Yalin
> > > Cc: 'Will Deacon'; 'Ard Biesheuvel'; 'linux-kernel@...r.kernel.org';
> > > 'akinobu.mita@...il.com'; 'linux-mm@...ck.org'; 'Joe Perches';
> > > 'linux-arm- kernel@...ts.infradead.org'
> > > Subject: Re: [RFC V6 2/3] arm:add bitrev.h file to support rbit
> > > instruction
> > >
> > > The root cause is that the kernel being built is supposed to support
> > > both
> > > ARMv7 and ARMv6K CPUs. However, "rbit" is only available on
> > > ARMv6T2 (thumb2) and ARMv7, and not plain ARMv6 or ARMv6K CPUs.
> > >
> > In the patch that you applied:
> > 8205/1 add bitrev.h file to support rbit instruction
> >
> > I have add :
> > + select HAVE_ARCH_BITREVERSE if ((CPU_V7M || CPU_V7) && !CPU_V6)
> >
> > If you build kernel support ARMv6K, should CONFIG_CPU_V6=y, isn't it ?
> > Then will not build hardware rbit instruction, isn't it ?
>
> The config has:
>
> CONFIG_CPU_PJ4=y
> # CONFIG_CPU_V6 is not set
> CONFIG_CPU_V6K=y
> CONFIG_CPU_V7=y
> CONFIG_CPU_32v6=y
> CONFIG_CPU_32v6K=y
> CONFIG_CPU_32v7=y
>
> And no, the CONFIG_CPU_V* flags refer to the CPUs. The
> CONFIG_CPU_32v* symbols refer to the CPU architectures.
>
Oh, I see,
How about change like this:
+ select HAVE_ARCH_BITREVERSE if ((CPU_V7M || CPU_V7) && !CPU_V6 && !CPU_V6K)
I am not sure if I also need add some older CPU types like !CPU_ARM9TDMI && !CPU_ARM940T ?
Another solution is:
+ select HAVE_ARCH_BITREVERSE if ((CPU_32V7M || CPU_32V7) && !CPU_32V6 && !CPU_32V5 && !CPU_32V4 && !CPU_32V4T && !CPU_32V3)
By the way, I am not clear about the difference between CPU_V6 and CPU_V6K, could you tell me? :)
Thank you
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists