Skip to content
  • Aurelien Jarno's avatar
    MIPS: BPF: Fix build on pre-R2 little endian CPUs · b259e51f
    Aurelien Jarno authored
    
    
    The rotr, seh and wsbh instructions have been introduced with the R2
    ISA. Thus the current BPF code fails to build on pre-R2 little endian
    CPUs:
    
        CC      arch/mips/net/bpf_jit.o
        AS      arch/mips/net/bpf_jit_asm.o
      /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S: Assembler messages:
      /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:67: Error: opcode not supported on this processor: mips32 (mips32) `wsbh $8,$19'
      /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:68: Error: opcode not supported on this processor: mips32 (mips32) `rotr $19,$8,16'
      /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:83: Error: opcode not supported on this processor: mips32 (mips32) `wsbh $8,$19'
      /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:84: Error: opcode not supported on this processor: mips32 (mips32) `seh $19,$8'
      /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:151: Error: opcode not supported on this processor: mips32 (mips32) `wsbh $8,$12'
      /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:153: Error: opcode not supported on this processor: mips32 (mips32) `rotr $19,$8,16'
      /home/aurel32/linux-4.2/arch/mips/net/bpf_jit_asm.S:164: Error: opcode not supported on this processor: mips32 (mips32) `wsbh $19,$12'
      /home/aurel32/linux-4.2/scripts/Makefile.build:294: recipe for target 'arch/mips/net/bpf_jit_asm.o' failed
    
    Fix that by providing equivalent code for these CPUs.
    
    Signed-off-by: default avatarAurelien Jarno <aurelien@aurel32.net>
    Reviewed-by: default avatarMarkos Chandras <markos.chandras@imgtec.com>
    Cc: stable@vger.kernel.org # v4.2+
    Cc: linux-mips@linux-mips.org
    Patchwork: https://patchwork.linux-mips.org/patch/11098/
    
    
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    b259e51f