diff options
Diffstat (limited to 'arch/tile')
-rw-r--r-- | arch/tile/configs/tilegx_defconfig | 1 | ||||
-rw-r--r-- | arch/tile/include/asm/atomic.h | 14 | ||||
-rw-r--r-- | arch/tile/include/asm/atomic_32.h | 14 | ||||
-rw-r--r-- | arch/tile/include/asm/atomic_64.h | 6 | ||||
-rw-r--r-- | arch/tile/include/asm/bitops_32.h | 2 | ||||
-rw-r--r-- | arch/tile/include/asm/bitops_64.h | 7 | ||||
-rw-r--r-- | arch/tile/include/asm/ptrace.h | 2 | ||||
-rw-r--r-- | arch/tile/include/asm/spinlock_32.h | 2 | ||||
-rw-r--r-- | arch/tile/kernel/intvec_32.S | 2 | ||||
-rw-r--r-- | arch/tile/kernel/module.c | 31 | ||||
-rw-r--r-- | arch/tile/kernel/pci.c | 2 | ||||
-rw-r--r-- | arch/tile/kernel/setup.c | 3 | ||||
-rw-r--r-- | arch/tile/kvm/Kconfig | 1 | ||||
-rw-r--r-- | arch/tile/lib/atomic_32.c | 2 | ||||
-rw-r--r-- | arch/tile/lib/atomic_asm_32.S | 2 |
15 files changed, 19 insertions, 72 deletions
diff --git a/arch/tile/configs/tilegx_defconfig b/arch/tile/configs/tilegx_defconfig index 09f1c7fad8bf..2ad73fb707b9 100644 --- a/arch/tile/configs/tilegx_defconfig +++ b/arch/tile/configs/tilegx_defconfig | |||
@@ -1479,7 +1479,6 @@ CONFIG_NFS_FSCACHE=y | |||
1479 | CONFIG_NFS_USE_KERNEL_DNS=y | 1479 | CONFIG_NFS_USE_KERNEL_DNS=y |
1480 | # CONFIG_NFS_USE_NEW_IDMAPPER is not set | 1480 | # CONFIG_NFS_USE_NEW_IDMAPPER is not set |
1481 | CONFIG_NFSD=m | 1481 | CONFIG_NFSD=m |
1482 | CONFIG_NFSD_DEPRECATED=y | ||
1483 | CONFIG_NFSD_V2_ACL=y | 1482 | CONFIG_NFSD_V2_ACL=y |
1484 | CONFIG_NFSD_V3=y | 1483 | CONFIG_NFSD_V3=y |
1485 | CONFIG_NFSD_V3_ACL=y | 1484 | CONFIG_NFSD_V3_ACL=y |
diff --git a/arch/tile/include/asm/atomic.h b/arch/tile/include/asm/atomic.h index 739cfe0499d1..921dbeb8a70c 100644 --- a/arch/tile/include/asm/atomic.h +++ b/arch/tile/include/asm/atomic.h | |||
@@ -121,15 +121,6 @@ static inline int atomic_read(const atomic_t *v) | |||
121 | */ | 121 | */ |
122 | #define atomic_add_negative(i, v) (atomic_add_return((i), (v)) < 0) | 122 | #define atomic_add_negative(i, v) (atomic_add_return((i), (v)) < 0) |
123 | 123 | ||
124 | /** | ||
125 | * atomic_inc_not_zero - increment unless the number is zero | ||
126 | * @v: pointer of type atomic_t | ||
127 | * | ||
128 | * Atomically increments @v by 1, so long as @v is non-zero. | ||
129 | * Returns non-zero if @v was non-zero, and zero otherwise. | ||
130 | */ | ||
131 | #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) | ||
132 | |||
133 | /* Nonexistent functions intended to cause link errors. */ | 124 | /* Nonexistent functions intended to cause link errors. */ |
134 | extern unsigned long __xchg_called_with_bad_pointer(void); | 125 | extern unsigned long __xchg_called_with_bad_pointer(void); |
135 | extern unsigned long __cmpxchg_called_with_bad_pointer(void); | 126 | extern unsigned long __cmpxchg_called_with_bad_pointer(void); |
@@ -186,9 +177,4 @@ extern unsigned long __cmpxchg_called_with_bad_pointer(void); | |||
186 | #include <asm/atomic_64.h> | 177 | #include <asm/atomic_64.h> |
187 | #endif | 178 | #endif |
188 | 179 | ||
189 | /* Provide the appropriate atomic_long_t definitions. */ | ||
190 | #ifndef __ASSEMBLY__ | ||
191 | #include <asm-generic/atomic-long.h> | ||
192 | #endif | ||
193 | |||
194 | #endif /* _ASM_TILE_ATOMIC_H */ | 180 | #endif /* _ASM_TILE_ATOMIC_H */ |
diff --git a/arch/tile/include/asm/atomic_32.h b/arch/tile/include/asm/atomic_32.h index 92a8bee32311..c03349e0ca9f 100644 --- a/arch/tile/include/asm/atomic_32.h +++ b/arch/tile/include/asm/atomic_32.h | |||
@@ -11,7 +11,7 @@ | |||
11 | * NON INFRINGEMENT. See the GNU General Public License for | 11 | * NON INFRINGEMENT. See the GNU General Public License for |
12 | * more details. | 12 | * more details. |
13 | * | 13 | * |
14 | * Do not include directly; use <asm/atomic.h>. | 14 | * Do not include directly; use <linux/atomic.h>. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #ifndef _ASM_TILE_ATOMIC_32_H | 17 | #ifndef _ASM_TILE_ATOMIC_32_H |
@@ -21,7 +21,7 @@ | |||
21 | 21 | ||
22 | #ifndef __ASSEMBLY__ | 22 | #ifndef __ASSEMBLY__ |
23 | 23 | ||
24 | /* Tile-specific routines to support <asm/atomic.h>. */ | 24 | /* Tile-specific routines to support <linux/atomic.h>. */ |
25 | int _atomic_xchg(atomic_t *v, int n); | 25 | int _atomic_xchg(atomic_t *v, int n); |
26 | int _atomic_xchg_add(atomic_t *v, int i); | 26 | int _atomic_xchg_add(atomic_t *v, int i); |
27 | int _atomic_xchg_add_unless(atomic_t *v, int a, int u); | 27 | int _atomic_xchg_add_unless(atomic_t *v, int a, int u); |
@@ -81,18 +81,18 @@ static inline int atomic_add_return(int i, atomic_t *v) | |||
81 | } | 81 | } |
82 | 82 | ||
83 | /** | 83 | /** |
84 | * atomic_add_unless - add unless the number is already a given value | 84 | * __atomic_add_unless - add unless the number is already a given value |
85 | * @v: pointer of type atomic_t | 85 | * @v: pointer of type atomic_t |
86 | * @a: the amount to add to v... | 86 | * @a: the amount to add to v... |
87 | * @u: ...unless v is equal to u. | 87 | * @u: ...unless v is equal to u. |
88 | * | 88 | * |
89 | * Atomically adds @a to @v, so long as @v was not already @u. | 89 | * Atomically adds @a to @v, so long as @v was not already @u. |
90 | * Returns non-zero if @v was not @u, and zero otherwise. | 90 | * Returns the old value of @v. |
91 | */ | 91 | */ |
92 | static inline int atomic_add_unless(atomic_t *v, int a, int u) | 92 | static inline int __atomic_add_unless(atomic_t *v, int a, int u) |
93 | { | 93 | { |
94 | smp_mb(); /* barrier for proper semantics */ | 94 | smp_mb(); /* barrier for proper semantics */ |
95 | return _atomic_xchg_add_unless(v, a, u) != u; | 95 | return _atomic_xchg_add_unless(v, a, u); |
96 | } | 96 | } |
97 | 97 | ||
98 | /** | 98 | /** |
@@ -199,7 +199,7 @@ static inline u64 atomic64_add_return(u64 i, atomic64_t *v) | |||
199 | * @u: ...unless v is equal to u. | 199 | * @u: ...unless v is equal to u. |
200 | * | 200 | * |
201 | * Atomically adds @a to @v, so long as @v was not already @u. | 201 | * Atomically adds @a to @v, so long as @v was not already @u. |
202 | * Returns non-zero if @v was not @u, and zero otherwise. | 202 | * Returns the old value of @v. |
203 | */ | 203 | */ |
204 | static inline u64 atomic64_add_unless(atomic64_t *v, u64 a, u64 u) | 204 | static inline u64 atomic64_add_unless(atomic64_t *v, u64 a, u64 u) |
205 | { | 205 | { |
diff --git a/arch/tile/include/asm/atomic_64.h b/arch/tile/include/asm/atomic_64.h index 1c1e60d8ccb6..27fe667fddfe 100644 --- a/arch/tile/include/asm/atomic_64.h +++ b/arch/tile/include/asm/atomic_64.h | |||
@@ -11,7 +11,7 @@ | |||
11 | * NON INFRINGEMENT. See the GNU General Public License for | 11 | * NON INFRINGEMENT. See the GNU General Public License for |
12 | * more details. | 12 | * more details. |
13 | * | 13 | * |
14 | * Do not include directly; use <asm/atomic.h>. | 14 | * Do not include directly; use <linux/atomic.h>. |
15 | */ | 15 | */ |
16 | 16 | ||
17 | #ifndef _ASM_TILE_ATOMIC_64_H | 17 | #ifndef _ASM_TILE_ATOMIC_64_H |
@@ -64,7 +64,7 @@ static inline int atomic_add_return(int i, atomic_t *v) | |||
64 | return val; | 64 | return val; |
65 | } | 65 | } |
66 | 66 | ||
67 | static inline int atomic_add_unless(atomic_t *v, int a, int u) | 67 | static inline int __atomic_add_unless(atomic_t *v, int a, int u) |
68 | { | 68 | { |
69 | int guess, oldval = v->counter; | 69 | int guess, oldval = v->counter; |
70 | do { | 70 | do { |
@@ -73,7 +73,7 @@ static inline int atomic_add_unless(atomic_t *v, int a, int u) | |||
73 | guess = oldval; | 73 | guess = oldval; |
74 | oldval = atomic_cmpxchg(v, guess, guess + a); | 74 | oldval = atomic_cmpxchg(v, guess, guess + a); |
75 | } while (guess != oldval); | 75 | } while (guess != oldval); |
76 | return oldval != u; | 76 | return oldval; |
77 | } | 77 | } |
78 | 78 | ||
79 | /* Now the true 64-bit operations. */ | 79 | /* Now the true 64-bit operations. */ |
diff --git a/arch/tile/include/asm/bitops_32.h b/arch/tile/include/asm/bitops_32.h index d31ab905cfa7..571b118bfd9b 100644 --- a/arch/tile/include/asm/bitops_32.h +++ b/arch/tile/include/asm/bitops_32.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #define _ASM_TILE_BITOPS_32_H | 16 | #define _ASM_TILE_BITOPS_32_H |
17 | 17 | ||
18 | #include <linux/compiler.h> | 18 | #include <linux/compiler.h> |
19 | #include <asm/atomic.h> | 19 | #include <linux/atomic.h> |
20 | #include <asm/system.h> | 20 | #include <asm/system.h> |
21 | 21 | ||
22 | /* Tile-specific routines to support <asm/bitops.h>. */ | 22 | /* Tile-specific routines to support <asm/bitops.h>. */ |
diff --git a/arch/tile/include/asm/bitops_64.h b/arch/tile/include/asm/bitops_64.h index 99615e8d2d8b..e9c8e381ee0e 100644 --- a/arch/tile/include/asm/bitops_64.h +++ b/arch/tile/include/asm/bitops_64.h | |||
@@ -16,7 +16,7 @@ | |||
16 | #define _ASM_TILE_BITOPS_64_H | 16 | #define _ASM_TILE_BITOPS_64_H |
17 | 17 | ||
18 | #include <linux/compiler.h> | 18 | #include <linux/compiler.h> |
19 | #include <asm/atomic.h> | 19 | #include <linux/atomic.h> |
20 | #include <asm/system.h> | 20 | #include <asm/system.h> |
21 | 21 | ||
22 | /* See <asm/bitops.h> for API comments. */ | 22 | /* See <asm/bitops.h> for API comments. */ |
@@ -97,9 +97,6 @@ static inline int test_and_change_bit(unsigned nr, | |||
97 | return (oldval & mask) != 0; | 97 | return (oldval & mask) != 0; |
98 | } | 98 | } |
99 | 99 | ||
100 | #define ext2_set_bit_atomic(lock, nr, addr) \ | 100 | #include <asm-generic/bitops/ext2-atomic-setbit.h> |
101 | test_and_set_bit((nr), (unsigned long *)(addr)) | ||
102 | #define ext2_clear_bit_atomic(lock, nr, addr) \ | ||
103 | test_and_clear_bit((nr), (unsigned long *)(addr)) | ||
104 | 101 | ||
105 | #endif /* _ASM_TILE_BITOPS_64_H */ | 102 | #endif /* _ASM_TILE_BITOPS_64_H */ |
diff --git a/arch/tile/include/asm/ptrace.h b/arch/tile/include/asm/ptrace.h index 6be2246e015c..c6cddd7e8d51 100644 --- a/arch/tile/include/asm/ptrace.h +++ b/arch/tile/include/asm/ptrace.h | |||
@@ -112,8 +112,6 @@ struct pt_regs *get_pt_regs(struct pt_regs *); | |||
112 | /* Trace the current syscall. */ | 112 | /* Trace the current syscall. */ |
113 | extern void do_syscall_trace(void); | 113 | extern void do_syscall_trace(void); |
114 | 114 | ||
115 | extern void show_regs(struct pt_regs *); | ||
116 | |||
117 | #define arch_has_single_step() (1) | 115 | #define arch_has_single_step() (1) |
118 | 116 | ||
119 | /* | 117 | /* |
diff --git a/arch/tile/include/asm/spinlock_32.h b/arch/tile/include/asm/spinlock_32.h index a8f2c6e31a87..a5e4208d34f9 100644 --- a/arch/tile/include/asm/spinlock_32.h +++ b/arch/tile/include/asm/spinlock_32.h | |||
@@ -17,7 +17,7 @@ | |||
17 | #ifndef _ASM_TILE_SPINLOCK_32_H | 17 | #ifndef _ASM_TILE_SPINLOCK_32_H |
18 | #define _ASM_TILE_SPINLOCK_32_H | 18 | #define _ASM_TILE_SPINLOCK_32_H |
19 | 19 | ||
20 | #include <asm/atomic.h> | 20 | #include <linux/atomic.h> |
21 | #include <asm/page.h> | 21 | #include <asm/page.h> |
22 | #include <asm/system.h> | 22 | #include <asm/system.h> |
23 | #include <linux/compiler.h> | 23 | #include <linux/compiler.h> |
diff --git a/arch/tile/kernel/intvec_32.S b/arch/tile/kernel/intvec_32.S index 72ade79b621b..fc94607f0bd5 100644 --- a/arch/tile/kernel/intvec_32.S +++ b/arch/tile/kernel/intvec_32.S | |||
@@ -21,7 +21,7 @@ | |||
21 | #include <asm/ptrace.h> | 21 | #include <asm/ptrace.h> |
22 | #include <asm/thread_info.h> | 22 | #include <asm/thread_info.h> |
23 | #include <asm/irqflags.h> | 23 | #include <asm/irqflags.h> |
24 | #include <asm/atomic.h> | 24 | #include <linux/atomic.h> |
25 | #include <asm/asm-offsets.h> | 25 | #include <asm/asm-offsets.h> |
26 | #include <hv/hypervisor.h> | 26 | #include <hv/hypervisor.h> |
27 | #include <arch/abi.h> | 27 | #include <arch/abi.h> |
diff --git a/arch/tile/kernel/module.c b/arch/tile/kernel/module.c index f68df69f1f67..28fa6ece9d3a 100644 --- a/arch/tile/kernel/module.c +++ b/arch/tile/kernel/module.c | |||
@@ -98,25 +98,6 @@ void module_free(struct module *mod, void *module_region) | |||
98 | */ | 98 | */ |
99 | } | 99 | } |
100 | 100 | ||
101 | /* We don't need anything special. */ | ||
102 | int module_frob_arch_sections(Elf_Ehdr *hdr, | ||
103 | Elf_Shdr *sechdrs, | ||
104 | char *secstrings, | ||
105 | struct module *mod) | ||
106 | { | ||
107 | return 0; | ||
108 | } | ||
109 | |||
110 | int apply_relocate(Elf_Shdr *sechdrs, | ||
111 | const char *strtab, | ||
112 | unsigned int symindex, | ||
113 | unsigned int relsec, | ||
114 | struct module *me) | ||
115 | { | ||
116 | pr_err("module %s: .rel relocation unsupported\n", me->name); | ||
117 | return -ENOEXEC; | ||
118 | } | ||
119 | |||
120 | #ifdef __tilegx__ | 101 | #ifdef __tilegx__ |
121 | /* | 102 | /* |
122 | * Validate that the high 16 bits of "value" is just the sign-extension of | 103 | * Validate that the high 16 bits of "value" is just the sign-extension of |
@@ -249,15 +230,3 @@ int apply_relocate_add(Elf_Shdr *sechdrs, | |||
249 | } | 230 | } |
250 | return 0; | 231 | return 0; |
251 | } | 232 | } |
252 | |||
253 | int module_finalize(const Elf_Ehdr *hdr, | ||
254 | const Elf_Shdr *sechdrs, | ||
255 | struct module *me) | ||
256 | { | ||
257 | /* FIXME: perhaps remove the "writable" bit from the TLB? */ | ||
258 | return 0; | ||
259 | } | ||
260 | |||
261 | void module_arch_cleanup(struct module *mod) | ||
262 | { | ||
263 | } | ||
diff --git a/arch/tile/kernel/pci.c b/arch/tile/kernel/pci.c index 6d4cb5d7a9fd..2a8014cb1ff5 100644 --- a/arch/tile/kernel/pci.c +++ b/arch/tile/kernel/pci.c | |||
@@ -228,7 +228,7 @@ err_cont: | |||
228 | * (pin - 1) converts from the PCI standard's [1:4] convention to | 228 | * (pin - 1) converts from the PCI standard's [1:4] convention to |
229 | * a normal [0:3] range. | 229 | * a normal [0:3] range. |
230 | */ | 230 | */ |
231 | static int tile_map_irq(struct pci_dev *dev, u8 slot, u8 pin) | 231 | static int tile_map_irq(const struct pci_dev *dev, u8 slot, u8 pin) |
232 | { | 232 | { |
233 | struct pci_controller *controller = | 233 | struct pci_controller *controller = |
234 | (struct pci_controller *)dev->sysdata; | 234 | (struct pci_controller *)dev->sysdata; |
diff --git a/arch/tile/kernel/setup.c b/arch/tile/kernel/setup.c index 6cdc9ba55fe0..5f85d8b34dbb 100644 --- a/arch/tile/kernel/setup.c +++ b/arch/tile/kernel/setup.c | |||
@@ -553,8 +553,7 @@ static void __init setup_bootmem_allocator(void) | |||
553 | 553 | ||
554 | #ifdef CONFIG_KEXEC | 554 | #ifdef CONFIG_KEXEC |
555 | if (crashk_res.start != crashk_res.end) | 555 | if (crashk_res.start != crashk_res.end) |
556 | reserve_bootmem(crashk_res.start, | 556 | reserve_bootmem(crashk_res.start, resource_size(&crashk_res), 0); |
557 | crashk_res.end - crashk_res.start + 1, 0); | ||
558 | #endif | 557 | #endif |
559 | } | 558 | } |
560 | 559 | ||
diff --git a/arch/tile/kvm/Kconfig b/arch/tile/kvm/Kconfig index b88f9c047781..669fcdba31ea 100644 --- a/arch/tile/kvm/Kconfig +++ b/arch/tile/kvm/Kconfig | |||
@@ -33,6 +33,5 @@ config KVM | |||
33 | If unsure, say N. | 33 | If unsure, say N. |
34 | 34 | ||
35 | source drivers/vhost/Kconfig | 35 | source drivers/vhost/Kconfig |
36 | source drivers/virtio/Kconfig | ||
37 | 36 | ||
38 | endif # VIRTUALIZATION | 37 | endif # VIRTUALIZATION |
diff --git a/arch/tile/lib/atomic_32.c b/arch/tile/lib/atomic_32.c index 46570211df52..771b251b409d 100644 --- a/arch/tile/lib/atomic_32.c +++ b/arch/tile/lib/atomic_32.c | |||
@@ -17,7 +17,7 @@ | |||
17 | #include <linux/uaccess.h> | 17 | #include <linux/uaccess.h> |
18 | #include <linux/module.h> | 18 | #include <linux/module.h> |
19 | #include <linux/mm.h> | 19 | #include <linux/mm.h> |
20 | #include <asm/atomic.h> | 20 | #include <linux/atomic.h> |
21 | #include <asm/futex.h> | 21 | #include <asm/futex.h> |
22 | #include <arch/chip.h> | 22 | #include <arch/chip.h> |
23 | 23 | ||
diff --git a/arch/tile/lib/atomic_asm_32.S b/arch/tile/lib/atomic_asm_32.S index 24448734f6f1..1f75a2a56101 100644 --- a/arch/tile/lib/atomic_asm_32.S +++ b/arch/tile/lib/atomic_asm_32.S | |||
@@ -70,7 +70,7 @@ | |||
70 | */ | 70 | */ |
71 | 71 | ||
72 | #include <linux/linkage.h> | 72 | #include <linux/linkage.h> |
73 | #include <asm/atomic.h> | 73 | #include <linux/atomic.h> |
74 | #include <asm/page.h> | 74 | #include <asm/page.h> |
75 | #include <asm/processor.h> | 75 | #include <asm/processor.h> |
76 | 76 | ||