diff options
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. |
