diff options
author | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-10-07 10:43:04 -0400 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2013-10-07 10:43:04 -0400 |
commit | a56e74f546b64be93731e42d83baf5b538cc1b11 (patch) | |
tree | 18f6dee45d801e57ac9db2a31664b0d5c0762c50 /arch/tile/kernel | |
parent | d08e2e09042bd3f7ef66a35cb4bb92794ab26bb2 (diff) | |
parent | e4e7f10bfc4069925e99cc4b428c3434e30b6c3f (diff) |
Merge branch 'arm-aesbs' of git://git.linaro.org/people/ardbiesheuvel/linux-arm into devel-stable
Diffstat (limited to 'arch/tile/kernel')
-rw-r--r-- | arch/tile/kernel/compat.c | 2 | ||||
-rw-r--r-- | arch/tile/kernel/futex_64.S | 55 | ||||
-rw-r--r-- | arch/tile/kernel/setup.c | 3 | ||||
-rw-r--r-- | arch/tile/kernel/unaligned.c | 4 |
4 files changed, 4 insertions, 60 deletions
diff --git a/arch/tile/kernel/compat.c b/arch/tile/kernel/compat.c index ed378416b86a..49120843ff96 100644 --- a/arch/tile/kernel/compat.c +++ b/arch/tile/kernel/compat.c | |||
@@ -84,7 +84,7 @@ COMPAT_SYSCALL_DEFINE5(llseek, unsigned int, fd, unsigned int, offset_high, | |||
84 | { | 84 | { |
85 | return sys_llseek(fd, offset_high, offset_low, result, origin); | 85 | return sys_llseek(fd, offset_high, offset_low, result, origin); |
86 | } | 86 | } |
87 | 87 | ||
88 | /* Provide the compat syscall number to call mapping. */ | 88 | /* Provide the compat syscall number to call mapping. */ |
89 | #undef __SYSCALL | 89 | #undef __SYSCALL |
90 | #define __SYSCALL(nr, call) [nr] = (call), | 90 | #define __SYSCALL(nr, call) [nr] = (call), |
diff --git a/arch/tile/kernel/futex_64.S b/arch/tile/kernel/futex_64.S deleted file mode 100644 index f465d1eda20f..000000000000 --- a/arch/tile/kernel/futex_64.S +++ /dev/null | |||
@@ -1,55 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright 2011 Tilera Corporation. All Rights Reserved. | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or | ||
5 | * modify it under the terms of the GNU General Public License | ||
6 | * as published by the Free Software Foundation, version 2. | ||
7 | * | ||
8 | * This program is distributed in the hope that it will be useful, but | ||
9 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
10 | * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or | ||
11 | * NON INFRINGEMENT. See the GNU General Public License for | ||
12 | * more details. | ||
13 | * | ||
14 | * Atomically access user memory, but use MMU to avoid propagating | ||
15 | * kernel exceptions. | ||
16 | */ | ||
17 | |||
18 | #include <linux/linkage.h> | ||
19 | #include <asm/errno.h> | ||
20 | #include <asm/futex.h> | ||
21 | #include <asm/page.h> | ||
22 | #include <asm/processor.h> | ||
23 | |||
24 | /* | ||
25 | * Provide a set of atomic memory operations supporting <asm/futex.h>. | ||
26 | * | ||
27 | * r0: user address to manipulate | ||
28 | * r1: new value to write, or for cmpxchg, old value to compare against | ||
29 | * r2: (cmpxchg only) new value to write | ||
30 | * | ||
31 | * Return __get_user struct, r0 with value, r1 with error. | ||
32 | */ | ||
33 | #define FUTEX_OP(name, ...) \ | ||
34 | STD_ENTRY(futex_##name) \ | ||
35 | __VA_ARGS__; \ | ||
36 | { \ | ||
37 | move r1, zero; \ | ||
38 | jrp lr \ | ||
39 | }; \ | ||
40 | STD_ENDPROC(futex_##name); \ | ||
41 | .pushsection __ex_table,"a"; \ | ||
42 | .quad 1b, get_user_fault; \ | ||
43 | .popsection | ||
44 | |||
45 | .pushsection .fixup,"ax" | ||
46 | get_user_fault: | ||
47 | { movei r1, -EFAULT; jrp lr } | ||
48 | ENDPROC(get_user_fault) | ||
49 | .popsection | ||
50 | |||
51 | FUTEX_OP(cmpxchg, mtspr CMPEXCH_VALUE, r1; 1: cmpexch4 r0, r0, r2) | ||
52 | FUTEX_OP(set, 1: exch4 r0, r0, r1) | ||
53 | FUTEX_OP(add, 1: fetchadd4 r0, r0, r1) | ||
54 | FUTEX_OP(or, 1: fetchor4 r0, r0, r1) | ||
55 | FUTEX_OP(andn, nor r1, r1, zero; 1: fetchand4 r0, r0, r1) | ||
diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c index 4c34caea9dd3..74c91729a62a 100644 --- a/arch/tile/kernel/setup.c +++ b/arch/tile/kernel/setup.c | |||
@@ -1268,8 +1268,7 @@ static void __init validate_va(void) | |||
1268 | if ((long)VMALLOC_START >= 0) | 1268 | if ((long)VMALLOC_START >= 0) |
1269 | early_panic( | 1269 | early_panic( |
1270 | "Linux VMALLOC region below the 2GB line (%#lx)!\n" | 1270 | "Linux VMALLOC region below the 2GB line (%#lx)!\n" |
1271 | "Reconfigure the kernel with fewer NR_HUGE_VMAPS\n" | 1271 | "Reconfigure the kernel with smaller VMALLOC_RESERVE.\n", |
1272 | "or smaller VMALLOC_RESERVE.\n", | ||
1273 | VMALLOC_START); | 1272 | VMALLOC_START); |
1274 | #endif | 1273 | #endif |
1275 | } | 1274 | } |
diff --git a/arch/tile/kernel/unaligned.c b/arch/tile/kernel/unaligned.c index b425fb6a480d..b030b4e78845 100644 --- a/arch/tile/kernel/unaligned.c +++ b/arch/tile/kernel/unaligned.c | |||
@@ -551,8 +551,8 @@ static tilegx_bundle_bits jit_x1_bnezt(int ra, int broff) | |||
551 | /* | 551 | /* |
552 | * This function generates unalign fixup JIT. | 552 | * This function generates unalign fixup JIT. |
553 | * | 553 | * |
554 | * We fist find unalign load/store instruction's destination, source | 554 | * We first find unalign load/store instruction's destination, source |
555 | * reguisters: ra, rb and rd. and 3 scratch registers by calling | 555 | * registers: ra, rb and rd. and 3 scratch registers by calling |
556 | * find_regs(...). 3 scratch clobbers should not alias with any register | 556 | * find_regs(...). 3 scratch clobbers should not alias with any register |
557 | * used in the fault bundle. Then analyze the fault bundle to determine | 557 | * used in the fault bundle. Then analyze the fault bundle to determine |
558 | * if it's a load or store, operand width, branch or address increment etc. | 558 | * if it's a load or store, operand width, branch or address increment etc. |