Merge branch 'fixes' of git://git.linaro.org/people/rmk/linux-arm

Pull ARM fixes from Russell King:
 "Just a few relatively small ARM fixes found since the last merge
  window, nothing too exciting"

* 'fixes' of git://git.linaro.org/people/rmk/linux-arm:
  ARM: 7837/3: fix Thumb-2 bug in AES assembler code
  ARM: only allow kernel mode neon with AEABI
  ARM: 7839/1: entry: fix tracing of ARM-private syscalls
  ARM: 7836/1: add __get_user_unaligned/__put_user_unaligned
This commit is contained in:
Linus Torvalds 2013-09-28 11:56:34 -07:00
commit 874db4d800
4 changed files with 13 additions and 7 deletions

View File

@ -2217,8 +2217,7 @@ config NEON
config KERNEL_MODE_NEON config KERNEL_MODE_NEON
bool "Support for NEON in kernel mode" bool "Support for NEON in kernel mode"
default n depends on NEON && AEABI
depends on NEON
help help
Say Y to include support for NEON in kernel mode. Say Y to include support for NEON in kernel mode.

View File

@ -148,7 +148,7 @@ AES_Te:
@ const AES_KEY *key) { @ const AES_KEY *key) {
.align 5 .align 5
ENTRY(AES_encrypt) ENTRY(AES_encrypt)
sub r3,pc,#8 @ AES_encrypt adr r3,AES_encrypt
stmdb sp!,{r1,r4-r12,lr} stmdb sp!,{r1,r4-r12,lr}
mov r12,r0 @ inp mov r12,r0 @ inp
mov r11,r2 mov r11,r2
@ -381,7 +381,7 @@ _armv4_AES_encrypt:
.align 5 .align 5
ENTRY(private_AES_set_encrypt_key) ENTRY(private_AES_set_encrypt_key)
_armv4_AES_set_encrypt_key: _armv4_AES_set_encrypt_key:
sub r3,pc,#8 @ AES_set_encrypt_key adr r3,_armv4_AES_set_encrypt_key
teq r0,#0 teq r0,#0
moveq r0,#-1 moveq r0,#-1
beq .Labrt beq .Labrt
@ -843,7 +843,7 @@ AES_Td:
@ const AES_KEY *key) { @ const AES_KEY *key) {
.align 5 .align 5
ENTRY(AES_decrypt) ENTRY(AES_decrypt)
sub r3,pc,#8 @ AES_decrypt adr r3,AES_decrypt
stmdb sp!,{r1,r4-r12,lr} stmdb sp!,{r1,r4-r12,lr}
mov r12,r0 @ inp mov r12,r0 @ inp
mov r11,r2 mov r11,r2

View File

@ -19,6 +19,13 @@
#include <asm/unified.h> #include <asm/unified.h>
#include <asm/compiler.h> #include <asm/compiler.h>
#if __LINUX_ARM_ARCH__ < 6
#include <asm-generic/uaccess-unaligned.h>
#else
#define __get_user_unaligned __get_user
#define __put_user_unaligned __put_user
#endif
#define VERIFY_READ 0 #define VERIFY_READ 0
#define VERIFY_WRITE 1 #define VERIFY_WRITE 1

View File

@ -442,10 +442,10 @@ local_restart:
ldrcc pc, [tbl, scno, lsl #2] @ call sys_* routine ldrcc pc, [tbl, scno, lsl #2] @ call sys_* routine
add r1, sp, #S_OFF add r1, sp, #S_OFF
cmp scno, #(__ARM_NR_BASE - __NR_SYSCALL_BASE) 2: cmp scno, #(__ARM_NR_BASE - __NR_SYSCALL_BASE)
eor r0, scno, #__NR_SYSCALL_BASE @ put OS number back eor r0, scno, #__NR_SYSCALL_BASE @ put OS number back
bcs arm_syscall bcs arm_syscall
2: mov why, #0 @ no longer a real syscall mov why, #0 @ no longer a real syscall
b sys_ni_syscall @ not private func b sys_ni_syscall @ not private func
#if defined(CONFIG_OABI_COMPAT) || !defined(CONFIG_AEABI) #if defined(CONFIG_OABI_COMPAT) || !defined(CONFIG_AEABI)