[RFC V6 2/3] arm:add bitrev.h file to support rbit instruction
Russell King - ARM Linux
linux at arm.linux.org.uk
Thu Nov 13 15:53:22 PST 2014
On Fri, Oct 31, 2014 at 01:42:44PM +0800, Wang, Yalin wrote:
> This patch add bitrev.h file to support rbit instruction,
> so that we can do bitrev operation by hardware.
> Signed-off-by: Yalin Wang <yalin.wang at sonymobile.com>
> arch/arm/Kconfig | 1 +
> arch/arm/include/asm/bitrev.h | 21 +++++++++++++++++++++
> 2 files changed, 22 insertions(+)
> create mode 100644 arch/arm/include/asm/bitrev.h
> diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
> index 89c4b5c..be92b3b 100644
> --- a/arch/arm/Kconfig
> +++ b/arch/arm/Kconfig
> @@ -28,6 +28,7 @@ config ARM
> select HANDLE_DOMAIN_IRQ
> select HARDIRQS_SW_RESEND
> select HAVE_ARCH_AUDITSYSCALL if (AEABI && !OABI_COMPAT)
> + select HAVE_ARCH_BITREVERSE if (CPU_V7M || CPU_V7)
Looking at this, this is just wrong. Take a moment to consider what
happens if we build a kernel which supports both ARMv6 _and_ ARMv7 CPUs.
What happens if an ARMv6 CPU tries to execute an rbit instruction?
Second point (which isn't obvious from your submissions on-list) is that
you've loaded the patch system up with patches for other parts of the
kernel tree for which I am not responsible for. As such, I can't take
those patches without the sub-tree maintainer acking them. Also, the
commit text in those patches look weird:
6fire: Convert byte_rev_table uses to bitrev8
Use the inline function instead of directly indexing the array.
This allows some architectures with hardware instructions for bit
reversals to eliminate the array.
Signed-off-by: Joe Perches <(address hidden)>
Signed-off-by: Yalin Wang <(address hidden)>
Why is Joe signing off on these patches? As his is the first sign-off,
one assumes that he was responsible for creating the patch in the first
place, but there is no From: line marking him as the author. Shouldn't
his entry be an Acked-by: ?
FTTC broadband for 0.8mile line: currently at 9.5Mbps down 400kbps up
according to speedtest.net.
More information about the linux-arm-kernel