diff options
Diffstat (limited to 'arch/arc/include/asm')
-rw-r--r-- | arch/arc/include/asm/arcregs.h | 89 | ||||
-rw-r--r-- | arch/arc/include/asm/atomic.h | 4 | ||||
-rw-r--r-- | arch/arc/include/asm/bitops.h | 4 | ||||
-rw-r--r-- | arch/arc/include/asm/bug.h | 7 | ||||
-rw-r--r-- | arch/arc/include/asm/cache.h | 2 | ||||
-rw-r--r-- | arch/arc/include/asm/current.h | 4 | ||||
-rw-r--r-- | arch/arc/include/asm/irqflags.h | 4 | ||||
-rw-r--r-- | arch/arc/include/asm/kgdb.h | 32 | ||||
-rw-r--r-- | arch/arc/include/asm/processor.h | 13 | ||||
-rw-r--r-- | arch/arc/include/asm/setup.h | 1 | ||||
-rw-r--r-- | arch/arc/include/asm/smp.h | 10 | ||||
-rw-r--r-- | arch/arc/include/asm/string.h | 3 | ||||
-rw-r--r-- | arch/arc/include/asm/syscalls.h | 4 | ||||
-rw-r--r-- | arch/arc/include/asm/thread_info.h | 4 | ||||
-rw-r--r-- | arch/arc/include/asm/unaligned.h | 2 |
15 files changed, 94 insertions, 89 deletions
diff --git a/arch/arc/include/asm/arcregs.h b/arch/arc/include/asm/arcregs.h index 372466b371bf..be33db8a2ee3 100644 --- a/arch/arc/include/asm/arcregs.h +++ b/arch/arc/include/asm/arcregs.h | |||
@@ -9,19 +9,16 @@ | |||
9 | #ifndef _ASM_ARC_ARCREGS_H | 9 | #ifndef _ASM_ARC_ARCREGS_H |
10 | #define _ASM_ARC_ARCREGS_H | 10 | #define _ASM_ARC_ARCREGS_H |
11 | 11 | ||
12 | #ifdef __KERNEL__ | ||
13 | |||
14 | /* Build Configuration Registers */ | 12 | /* Build Configuration Registers */ |
15 | #define ARC_REG_DCCMBASE_BCR 0x61 /* DCCM Base Addr */ | 13 | #define ARC_REG_DCCMBASE_BCR 0x61 /* DCCM Base Addr */ |
16 | #define ARC_REG_CRC_BCR 0x62 | 14 | #define ARC_REG_CRC_BCR 0x62 |
17 | #define ARC_REG_DVFB_BCR 0x64 | ||
18 | #define ARC_REG_EXTARITH_BCR 0x65 | ||
19 | #define ARC_REG_VECBASE_BCR 0x68 | 15 | #define ARC_REG_VECBASE_BCR 0x68 |
20 | #define ARC_REG_PERIBASE_BCR 0x69 | 16 | #define ARC_REG_PERIBASE_BCR 0x69 |
21 | #define ARC_REG_FP_BCR 0x6B /* Single-Precision FPU */ | 17 | #define ARC_REG_FP_BCR 0x6B /* ARCompact: Single-Precision FPU */ |
22 | #define ARC_REG_DPFP_BCR 0x6C /* Dbl Precision FPU */ | 18 | #define ARC_REG_DPFP_BCR 0x6C /* ARCompact: Dbl Precision FPU */ |
23 | #define ARC_REG_DCCM_BCR 0x74 /* DCCM Present + SZ */ | 19 | #define ARC_REG_DCCM_BCR 0x74 /* DCCM Present + SZ */ |
24 | #define ARC_REG_TIMERS_BCR 0x75 | 20 | #define ARC_REG_TIMERS_BCR 0x75 |
21 | #define ARC_REG_AP_BCR 0x76 | ||
25 | #define ARC_REG_ICCM_BCR 0x78 | 22 | #define ARC_REG_ICCM_BCR 0x78 |
26 | #define ARC_REG_XY_MEM_BCR 0x79 | 23 | #define ARC_REG_XY_MEM_BCR 0x79 |
27 | #define ARC_REG_MAC_BCR 0x7a | 24 | #define ARC_REG_MAC_BCR 0x7a |
@@ -31,6 +28,9 @@ | |||
31 | #define ARC_REG_MIXMAX_BCR 0x7e | 28 | #define ARC_REG_MIXMAX_BCR 0x7e |
32 | #define ARC_REG_BARREL_BCR 0x7f | 29 | #define ARC_REG_BARREL_BCR 0x7f |
33 | #define ARC_REG_D_UNCACH_BCR 0x6A | 30 | #define ARC_REG_D_UNCACH_BCR 0x6A |
31 | #define ARC_REG_BPU_BCR 0xc0 | ||
32 | #define ARC_REG_ISA_CFG_BCR 0xc1 | ||
33 | #define ARC_REG_SMART_BCR 0xFF | ||
34 | 34 | ||
35 | /* status32 Bits Positions */ | 35 | /* status32 Bits Positions */ |
36 | #define STATUS_AE_BIT 5 /* Exception active */ | 36 | #define STATUS_AE_BIT 5 /* Exception active */ |
@@ -191,14 +191,6 @@ | |||
191 | #define PAGES_TO_KB(n_pages) ((n_pages) << (PAGE_SHIFT - 10)) | 191 | #define PAGES_TO_KB(n_pages) ((n_pages) << (PAGE_SHIFT - 10)) |
192 | #define PAGES_TO_MB(n_pages) (PAGES_TO_KB(n_pages) >> 10) | 192 | #define PAGES_TO_MB(n_pages) (PAGES_TO_KB(n_pages) >> 10) |
193 | 193 | ||
194 | #ifdef CONFIG_ARC_FPU_SAVE_RESTORE | ||
195 | /* These DPFP regs need to be saved/restored across ctx-sw */ | ||
196 | struct arc_fpu { | ||
197 | struct { | ||
198 | unsigned int l, h; | ||
199 | } aux_dpfp[2]; | ||
200 | }; | ||
201 | #endif | ||
202 | 194 | ||
203 | /* | 195 | /* |
204 | *************************************************************** | 196 | *************************************************************** |
@@ -212,27 +204,19 @@ struct bcr_identity { | |||
212 | #endif | 204 | #endif |
213 | }; | 205 | }; |
214 | 206 | ||
215 | #define EXTN_SWAP_VALID 0x1 | 207 | struct bcr_isa { |
216 | #define EXTN_NORM_VALID 0x2 | ||
217 | #define EXTN_MINMAX_VALID 0x2 | ||
218 | #define EXTN_BARREL_VALID 0x2 | ||
219 | |||
220 | struct bcr_extn { | ||
221 | #ifdef CONFIG_CPU_BIG_ENDIAN | 208 | #ifdef CONFIG_CPU_BIG_ENDIAN |
222 | unsigned int pad:20, crc:1, ext_arith:2, mul:2, barrel:2, minmax:2, | 209 | unsigned int pad1:23, atomic1:1, ver:8; |
223 | norm:2, swap:1; | ||
224 | #else | 210 | #else |
225 | unsigned int swap:1, norm:2, minmax:2, barrel:2, mul:2, ext_arith:2, | 211 | unsigned int ver:8, atomic1:1, pad1:23; |
226 | crc:1, pad:20; | ||
227 | #endif | 212 | #endif |
228 | }; | 213 | }; |
229 | 214 | ||
230 | /* DSP Options Ref Manual */ | 215 | struct bcr_mpy { |
231 | struct bcr_extn_mac_mul { | ||
232 | #ifdef CONFIG_CPU_BIG_ENDIAN | 216 | #ifdef CONFIG_CPU_BIG_ENDIAN |
233 | unsigned int pad:16, type:8, ver:8; | 217 | unsigned int pad:8, x1616:8, dsp:4, cycles:2, type:2, ver:8; |
234 | #else | 218 | #else |
235 | unsigned int ver:8, type:8, pad:16; | 219 | unsigned int ver:8, type:2, cycles:2, dsp:4, x1616:8, pad:8; |
236 | #endif | 220 | #endif |
237 | }; | 221 | }; |
238 | 222 | ||
@@ -251,6 +235,7 @@ struct bcr_perip { | |||
251 | unsigned int pad:8, sz:8, pad2:8, start:8; | 235 | unsigned int pad:8, sz:8, pad2:8, start:8; |
252 | #endif | 236 | #endif |
253 | }; | 237 | }; |
238 | |||
254 | struct bcr_iccm { | 239 | struct bcr_iccm { |
255 | #ifdef CONFIG_CPU_BIG_ENDIAN | 240 | #ifdef CONFIG_CPU_BIG_ENDIAN |
256 | unsigned int base:16, pad:5, sz:3, ver:8; | 241 | unsigned int base:16, pad:5, sz:3, ver:8; |
@@ -277,8 +262,8 @@ struct bcr_dccm { | |||
277 | #endif | 262 | #endif |
278 | }; | 263 | }; |
279 | 264 | ||
280 | /* Both SP and DP FPU BCRs have same format */ | 265 | /* ARCompact: Both SP and DP FPU BCRs have same format */ |
281 | struct bcr_fp { | 266 | struct bcr_fp_arcompact { |
282 | #ifdef CONFIG_CPU_BIG_ENDIAN | 267 | #ifdef CONFIG_CPU_BIG_ENDIAN |
283 | unsigned int fast:1, ver:8; | 268 | unsigned int fast:1, ver:8; |
284 | #else | 269 | #else |
@@ -286,6 +271,30 @@ struct bcr_fp { | |||
286 | #endif | 271 | #endif |
287 | }; | 272 | }; |
288 | 273 | ||
274 | struct bcr_timer { | ||
275 | #ifdef CONFIG_CPU_BIG_ENDIAN | ||
276 | unsigned int pad2:15, rtsc:1, pad1:6, t1:1, t0:1, ver:8; | ||
277 | #else | ||
278 | unsigned int ver:8, t0:1, t1:1, pad1:6, rtsc:1, pad2:15; | ||
279 | #endif | ||
280 | }; | ||
281 | |||
282 | struct bcr_bpu_arcompact { | ||
283 | #ifdef CONFIG_CPU_BIG_ENDIAN | ||
284 | unsigned int pad2:19, fam:1, pad:2, ent:2, ver:8; | ||
285 | #else | ||
286 | unsigned int ver:8, ent:2, pad:2, fam:1, pad2:19; | ||
287 | #endif | ||
288 | }; | ||
289 | |||
290 | struct bcr_generic { | ||
291 | #ifdef CONFIG_CPU_BIG_ENDIAN | ||
292 | unsigned int pad:24, ver:8; | ||
293 | #else | ||
294 | unsigned int ver:8, pad:24; | ||
295 | #endif | ||
296 | }; | ||
297 | |||
289 | /* | 298 | /* |
290 | ******************************************************************* | 299 | ******************************************************************* |
291 | * Generic structures to hold build configuration used at runtime | 300 | * Generic structures to hold build configuration used at runtime |
@@ -299,6 +308,10 @@ struct cpuinfo_arc_cache { | |||
299 | unsigned int sz_k:8, line_len:8, assoc:4, ver:4, alias:1, vipt:1, pad:6; | 308 | unsigned int sz_k:8, line_len:8, assoc:4, ver:4, alias:1, vipt:1, pad:6; |
300 | }; | 309 | }; |
301 | 310 | ||
311 | struct cpuinfo_arc_bpu { | ||
312 | unsigned int ver, full, num_cache, num_pred; | ||
313 | }; | ||
314 | |||
302 | struct cpuinfo_arc_ccm { | 315 | struct cpuinfo_arc_ccm { |
303 | unsigned int base_addr, sz; | 316 | unsigned int base_addr, sz; |
304 | }; | 317 | }; |
@@ -306,21 +319,25 @@ struct cpuinfo_arc_ccm { | |||
306 | struct cpuinfo_arc { | 319 | struct cpuinfo_arc { |
307 | struct cpuinfo_arc_cache icache, dcache; | 320 | struct cpuinfo_arc_cache icache, dcache; |
308 | struct cpuinfo_arc_mmu mmu; | 321 | struct cpuinfo_arc_mmu mmu; |
322 | struct cpuinfo_arc_bpu bpu; | ||
309 | struct bcr_identity core; | 323 | struct bcr_identity core; |
310 | unsigned int timers; | 324 | struct bcr_isa isa; |
325 | struct bcr_timer timers; | ||
311 | unsigned int vec_base; | 326 | unsigned int vec_base; |
312 | unsigned int uncached_base; | 327 | unsigned int uncached_base; |
313 | struct cpuinfo_arc_ccm iccm, dccm; | 328 | struct cpuinfo_arc_ccm iccm, dccm; |
314 | struct bcr_extn extn; | 329 | struct { |
330 | unsigned int swap:1, norm:1, minmax:1, barrel:1, crc:1, pad1:3, | ||
331 | fpu_sp:1, fpu_dp:1, pad2:6, | ||
332 | debug:1, ap:1, smart:1, rtt:1, pad3:4, | ||
333 | pad4:8; | ||
334 | } extn; | ||
335 | struct bcr_mpy extn_mpy; | ||
315 | struct bcr_extn_xymem extn_xymem; | 336 | struct bcr_extn_xymem extn_xymem; |
316 | struct bcr_extn_mac_mul extn_mac_mul; | ||
317 | struct bcr_fp fp, dpfp; | ||
318 | }; | 337 | }; |
319 | 338 | ||
320 | extern struct cpuinfo_arc cpuinfo_arc700[]; | 339 | extern struct cpuinfo_arc cpuinfo_arc700[]; |
321 | 340 | ||
322 | #endif /* __ASEMBLY__ */ | 341 | #endif /* __ASEMBLY__ */ |
323 | 342 | ||
324 | #endif /* __KERNEL__ */ | ||
325 | |||
326 | #endif /* _ASM_ARC_ARCREGS_H */ | 343 | #endif /* _ASM_ARC_ARCREGS_H */ |
diff --git a/arch/arc/include/asm/atomic.h b/arch/arc/include/asm/atomic.h index 173f303a868f..067551b6920a 100644 --- a/arch/arc/include/asm/atomic.h +++ b/arch/arc/include/asm/atomic.h | |||
@@ -9,8 +9,6 @@ | |||
9 | #ifndef _ASM_ARC_ATOMIC_H | 9 | #ifndef _ASM_ARC_ATOMIC_H |
10 | #define _ASM_ARC_ATOMIC_H | 10 | #define _ASM_ARC_ATOMIC_H |
11 | 11 | ||
12 | #ifdef __KERNEL__ | ||
13 | |||
14 | #ifndef __ASSEMBLY__ | 12 | #ifndef __ASSEMBLY__ |
15 | 13 | ||
16 | #include <linux/types.h> | 14 | #include <linux/types.h> |
@@ -170,5 +168,3 @@ ATOMIC_OP(and, &=, and) | |||
170 | #endif | 168 | #endif |
171 | 169 | ||
172 | #endif | 170 | #endif |
173 | |||
174 | #endif | ||
diff --git a/arch/arc/include/asm/bitops.h b/arch/arc/include/asm/bitops.h index ebc0cf3164dc..1a5bf07eefe2 100644 --- a/arch/arc/include/asm/bitops.h +++ b/arch/arc/include/asm/bitops.h | |||
@@ -13,8 +13,6 @@ | |||
13 | #error only <linux/bitops.h> can be included directly | 13 | #error only <linux/bitops.h> can be included directly |
14 | #endif | 14 | #endif |
15 | 15 | ||
16 | #ifdef __KERNEL__ | ||
17 | |||
18 | #ifndef __ASSEMBLY__ | 16 | #ifndef __ASSEMBLY__ |
19 | 17 | ||
20 | #include <linux/types.h> | 18 | #include <linux/types.h> |
@@ -508,6 +506,4 @@ static inline __attribute__ ((const)) int __ffs(unsigned long word) | |||
508 | 506 | ||
509 | #endif /* !__ASSEMBLY__ */ | 507 | #endif /* !__ASSEMBLY__ */ |
510 | 508 | ||
511 | #endif /* __KERNEL__ */ | ||
512 | |||
513 | #endif | 509 | #endif |
diff --git a/arch/arc/include/asm/bug.h b/arch/arc/include/asm/bug.h index 5b18e94c6678..ea022d47896c 100644 --- a/arch/arc/include/asm/bug.h +++ b/arch/arc/include/asm/bug.h | |||
@@ -21,10 +21,9 @@ void show_kernel_fault_diag(const char *str, struct pt_regs *regs, | |||
21 | unsigned long address); | 21 | unsigned long address); |
22 | void die(const char *str, struct pt_regs *regs, unsigned long address); | 22 | void die(const char *str, struct pt_regs *regs, unsigned long address); |
23 | 23 | ||
24 | #define BUG() do { \ | 24 | #define BUG() do { \ |
25 | dump_stack(); \ | 25 | pr_warn("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \ |
26 | pr_warn("Kernel BUG in %s: %s: %d!\n", \ | 26 | dump_stack(); \ |
27 | __FILE__, __func__, __LINE__); \ | ||
28 | } while (0) | 27 | } while (0) |
29 | 28 | ||
30 | #define HAVE_ARCH_BUG | 29 | #define HAVE_ARCH_BUG |
diff --git a/arch/arc/include/asm/cache.h b/arch/arc/include/asm/cache.h index b3c750979aa1..7861255da32d 100644 --- a/arch/arc/include/asm/cache.h +++ b/arch/arc/include/asm/cache.h | |||
@@ -20,7 +20,7 @@ | |||
20 | #define CACHE_LINE_MASK (~(L1_CACHE_BYTES - 1)) | 20 | #define CACHE_LINE_MASK (~(L1_CACHE_BYTES - 1)) |
21 | 21 | ||
22 | /* | 22 | /* |
23 | * ARC700 doesn't cache any access in top 256M. | 23 | * ARC700 doesn't cache any access in top 1G (0xc000_0000 to 0xFFFF_FFFF) |
24 | * Ideal for wiring memory mapped peripherals as we don't need to do | 24 | * Ideal for wiring memory mapped peripherals as we don't need to do |
25 | * explicit uncached accesses (LD.di/ST.di) hence more portable drivers | 25 | * explicit uncached accesses (LD.di/ST.di) hence more portable drivers |
26 | */ | 26 | */ |
diff --git a/arch/arc/include/asm/current.h b/arch/arc/include/asm/current.h index 87b918585c4a..c2453ee62801 100644 --- a/arch/arc/include/asm/current.h +++ b/arch/arc/include/asm/current.h | |||
@@ -12,8 +12,6 @@ | |||
12 | #ifndef _ASM_ARC_CURRENT_H | 12 | #ifndef _ASM_ARC_CURRENT_H |
13 | #define _ASM_ARC_CURRENT_H | 13 | #define _ASM_ARC_CURRENT_H |
14 | 14 | ||
15 | #ifdef __KERNEL__ | ||
16 | |||
17 | #ifndef __ASSEMBLY__ | 15 | #ifndef __ASSEMBLY__ |
18 | 16 | ||
19 | #ifdef CONFIG_ARC_CURR_IN_REG | 17 | #ifdef CONFIG_ARC_CURR_IN_REG |
@@ -27,6 +25,4 @@ register struct task_struct *curr_arc asm("r25"); | |||
27 | 25 | ||
28 | #endif /* ! __ASSEMBLY__ */ | 26 | #endif /* ! __ASSEMBLY__ */ |
29 | 27 | ||
30 | #endif /* __KERNEL__ */ | ||
31 | |||
32 | #endif /* _ASM_ARC_CURRENT_H */ | 28 | #endif /* _ASM_ARC_CURRENT_H */ |
diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h index 587df8236e8b..742816f1b210 100644 --- a/arch/arc/include/asm/irqflags.h +++ b/arch/arc/include/asm/irqflags.h | |||
@@ -15,8 +15,6 @@ | |||
15 | * -Conditionally disable interrupts (if they are not enabled, don't disable) | 15 | * -Conditionally disable interrupts (if they are not enabled, don't disable) |
16 | */ | 16 | */ |
17 | 17 | ||
18 | #ifdef __KERNEL__ | ||
19 | |||
20 | #include <asm/arcregs.h> | 18 | #include <asm/arcregs.h> |
21 | 19 | ||
22 | /* status32 Reg bits related to Interrupt Handling */ | 20 | /* status32 Reg bits related to Interrupt Handling */ |
@@ -169,6 +167,4 @@ static inline int arch_irqs_disabled(void) | |||
169 | 167 | ||
170 | #endif /* __ASSEMBLY__ */ | 168 | #endif /* __ASSEMBLY__ */ |
171 | 169 | ||
172 | #endif /* KERNEL */ | ||
173 | |||
174 | #endif | 170 | #endif |
diff --git a/arch/arc/include/asm/kgdb.h b/arch/arc/include/asm/kgdb.h index b65fca7ffeb5..fea931634136 100644 --- a/arch/arc/include/asm/kgdb.h +++ b/arch/arc/include/asm/kgdb.h | |||
@@ -19,7 +19,7 @@ | |||
19 | * register API yet */ | 19 | * register API yet */ |
20 | #undef DBG_MAX_REG_NUM | 20 | #undef DBG_MAX_REG_NUM |
21 | 21 | ||
22 | #define GDB_MAX_REGS 39 | 22 | #define GDB_MAX_REGS 87 |
23 | 23 | ||
24 | #define BREAK_INSTR_SIZE 2 | 24 | #define BREAK_INSTR_SIZE 2 |
25 | #define CACHE_FLUSH_IS_SAFE 1 | 25 | #define CACHE_FLUSH_IS_SAFE 1 |
@@ -33,23 +33,27 @@ static inline void arch_kgdb_breakpoint(void) | |||
33 | 33 | ||
34 | extern void kgdb_trap(struct pt_regs *regs); | 34 | extern void kgdb_trap(struct pt_regs *regs); |
35 | 35 | ||
36 | enum arc700_linux_regnums { | 36 | /* This is the numbering of registers according to the GDB. See GDB's |
37 | * arc-tdep.h for details. | ||
38 | * | ||
39 | * Registers are ordered for GDB 7.5. It is incompatible with GDB 6.8. */ | ||
40 | enum arc_linux_regnums { | ||
37 | _R0 = 0, | 41 | _R0 = 0, |
38 | _R1, _R2, _R3, _R4, _R5, _R6, _R7, _R8, _R9, _R10, _R11, _R12, _R13, | 42 | _R1, _R2, _R3, _R4, _R5, _R6, _R7, _R8, _R9, _R10, _R11, _R12, _R13, |
39 | _R14, _R15, _R16, _R17, _R18, _R19, _R20, _R21, _R22, _R23, _R24, | 43 | _R14, _R15, _R16, _R17, _R18, _R19, _R20, _R21, _R22, _R23, _R24, |
40 | _R25, _R26, | 44 | _R25, _R26, |
41 | _BTA = 27, | 45 | _FP = 27, |
42 | _LP_START = 28, | 46 | __SP = 28, |
43 | _LP_END = 29, | 47 | _R30 = 30, |
44 | _LP_COUNT = 30, | 48 | _BLINK = 31, |
45 | _STATUS32 = 31, | 49 | _LP_COUNT = 60, |
46 | _BLINK = 32, | 50 | _STOP_PC = 64, |
47 | _FP = 33, | 51 | _RET = 64, |
48 | __SP = 34, | 52 | _LP_START = 65, |
49 | _EFA = 35, | 53 | _LP_END = 66, |
50 | _RET = 36, | 54 | _STATUS32 = 67, |
51 | _ORIG_R8 = 37, | 55 | _ECR = 76, |
52 | _STOP_PC = 38 | 56 | _BTA = 82, |
53 | }; | 57 | }; |
54 | 58 | ||
55 | #else | 59 | #else |
diff --git a/arch/arc/include/asm/processor.h b/arch/arc/include/asm/processor.h index 82588f3ba77f..210fe97464c3 100644 --- a/arch/arc/include/asm/processor.h +++ b/arch/arc/include/asm/processor.h | |||
@@ -14,12 +14,19 @@ | |||
14 | #ifndef __ASM_ARC_PROCESSOR_H | 14 | #ifndef __ASM_ARC_PROCESSOR_H |
15 | #define __ASM_ARC_PROCESSOR_H | 15 | #define __ASM_ARC_PROCESSOR_H |
16 | 16 | ||
17 | #ifdef __KERNEL__ | ||
18 | |||
19 | #ifndef __ASSEMBLY__ | 17 | #ifndef __ASSEMBLY__ |
20 | 18 | ||
21 | #include <asm/ptrace.h> | 19 | #include <asm/ptrace.h> |
22 | 20 | ||
21 | #ifdef CONFIG_ARC_FPU_SAVE_RESTORE | ||
22 | /* These DPFP regs need to be saved/restored across ctx-sw */ | ||
23 | struct arc_fpu { | ||
24 | struct { | ||
25 | unsigned int l, h; | ||
26 | } aux_dpfp[2]; | ||
27 | }; | ||
28 | #endif | ||
29 | |||
23 | /* Arch specific stuff which needs to be saved per task. | 30 | /* Arch specific stuff which needs to be saved per task. |
24 | * However these items are not so important so as to earn a place in | 31 | * However these items are not so important so as to earn a place in |
25 | * struct thread_info | 32 | * struct thread_info |
@@ -128,6 +135,4 @@ extern unsigned int get_wchan(struct task_struct *p); | |||
128 | */ | 135 | */ |
129 | #define TASK_UNMAPPED_BASE (TASK_SIZE / 3) | 136 | #define TASK_UNMAPPED_BASE (TASK_SIZE / 3) |
130 | 137 | ||
131 | #endif /* __KERNEL__ */ | ||
132 | |||
133 | #endif /* __ASM_ARC_PROCESSOR_H */ | 138 | #endif /* __ASM_ARC_PROCESSOR_H */ |
diff --git a/arch/arc/include/asm/setup.h b/arch/arc/include/asm/setup.h index e10f8cef56a8..6e3ef5ba4f74 100644 --- a/arch/arc/include/asm/setup.h +++ b/arch/arc/include/asm/setup.h | |||
@@ -29,7 +29,6 @@ struct cpuinfo_data { | |||
29 | }; | 29 | }; |
30 | 30 | ||
31 | extern int root_mountflags, end_mem; | 31 | extern int root_mountflags, end_mem; |
32 | extern int running_on_hw; | ||
33 | 32 | ||
34 | void setup_processor(void); | 33 | void setup_processor(void); |
35 | void __init setup_arch_memory(void); | 34 | void __init setup_arch_memory(void); |
diff --git a/arch/arc/include/asm/smp.h b/arch/arc/include/asm/smp.h index 5d06eee43ea9..3845b9e94f69 100644 --- a/arch/arc/include/asm/smp.h +++ b/arch/arc/include/asm/smp.h | |||
@@ -59,7 +59,15 @@ struct plat_smp_ops { | |||
59 | /* TBD: stop exporting it for direct population by platform */ | 59 | /* TBD: stop exporting it for direct population by platform */ |
60 | extern struct plat_smp_ops plat_smp_ops; | 60 | extern struct plat_smp_ops plat_smp_ops; |
61 | 61 | ||
62 | #endif /* CONFIG_SMP */ | 62 | #else /* CONFIG_SMP */ |
63 | |||
64 | static inline void smp_init_cpus(void) {} | ||
65 | static inline const char *arc_platform_smp_cpuinfo(void) | ||
66 | { | ||
67 | return ""; | ||
68 | } | ||
69 | |||
70 | #endif /* !CONFIG_SMP */ | ||
63 | 71 | ||
64 | /* | 72 | /* |
65 | * ARC700 doesn't support atomic Read-Modify-Write ops. | 73 | * ARC700 doesn't support atomic Read-Modify-Write ops. |
diff --git a/arch/arc/include/asm/string.h b/arch/arc/include/asm/string.h index 87676c8f1412..95822b550a18 100644 --- a/arch/arc/include/asm/string.h +++ b/arch/arc/include/asm/string.h | |||
@@ -17,8 +17,6 @@ | |||
17 | 17 | ||
18 | #include <linux/types.h> | 18 | #include <linux/types.h> |
19 | 19 | ||
20 | #ifdef __KERNEL__ | ||
21 | |||
22 | #define __HAVE_ARCH_MEMSET | 20 | #define __HAVE_ARCH_MEMSET |
23 | #define __HAVE_ARCH_MEMCPY | 21 | #define __HAVE_ARCH_MEMCPY |
24 | #define __HAVE_ARCH_MEMCMP | 22 | #define __HAVE_ARCH_MEMCMP |
@@ -36,5 +34,4 @@ extern char *strcpy(char *dest, const char *src); | |||
36 | extern int strcmp(const char *cs, const char *ct); | 34 | extern int strcmp(const char *cs, const char *ct); |
37 | extern __kernel_size_t strlen(const char *); | 35 | extern __kernel_size_t strlen(const char *); |
38 | 36 | ||
39 | #endif /* __KERNEL__ */ | ||
40 | #endif /* _ASM_ARC_STRING_H */ | 37 | #endif /* _ASM_ARC_STRING_H */ |
diff --git a/arch/arc/include/asm/syscalls.h b/arch/arc/include/asm/syscalls.h index dd785befe7fd..e56f9fcc5581 100644 --- a/arch/arc/include/asm/syscalls.h +++ b/arch/arc/include/asm/syscalls.h | |||
@@ -9,8 +9,6 @@ | |||
9 | #ifndef _ASM_ARC_SYSCALLS_H | 9 | #ifndef _ASM_ARC_SYSCALLS_H |
10 | #define _ASM_ARC_SYSCALLS_H 1 | 10 | #define _ASM_ARC_SYSCALLS_H 1 |
11 | 11 | ||
12 | #ifdef __KERNEL__ | ||
13 | |||
14 | #include <linux/compiler.h> | 12 | #include <linux/compiler.h> |
15 | #include <linux/linkage.h> | 13 | #include <linux/linkage.h> |
16 | #include <linux/types.h> | 14 | #include <linux/types.h> |
@@ -22,6 +20,4 @@ int sys_arc_gettls(void); | |||
22 | 20 | ||
23 | #include <asm-generic/syscalls.h> | 21 | #include <asm-generic/syscalls.h> |
24 | 22 | ||
25 | #endif /* __KERNEL__ */ | ||
26 | |||
27 | #endif | 23 | #endif |
diff --git a/arch/arc/include/asm/thread_info.h b/arch/arc/include/asm/thread_info.h index 45be21672011..02bc5ec0fb2e 100644 --- a/arch/arc/include/asm/thread_info.h +++ b/arch/arc/include/asm/thread_info.h | |||
@@ -16,8 +16,6 @@ | |||
16 | #ifndef _ASM_THREAD_INFO_H | 16 | #ifndef _ASM_THREAD_INFO_H |
17 | #define _ASM_THREAD_INFO_H | 17 | #define _ASM_THREAD_INFO_H |
18 | 18 | ||
19 | #ifdef __KERNEL__ | ||
20 | |||
21 | #include <asm/page.h> | 19 | #include <asm/page.h> |
22 | 20 | ||
23 | #ifdef CONFIG_16KSTACKS | 21 | #ifdef CONFIG_16KSTACKS |
@@ -114,6 +112,4 @@ static inline __attribute_const__ struct thread_info *current_thread_info(void) | |||
114 | * syscall, so all that reamins to be tested is _TIF_WORK_MASK | 112 | * syscall, so all that reamins to be tested is _TIF_WORK_MASK |
115 | */ | 113 | */ |
116 | 114 | ||
117 | #endif /* __KERNEL__ */ | ||
118 | |||
119 | #endif /* _ASM_THREAD_INFO_H */ | 115 | #endif /* _ASM_THREAD_INFO_H */ |
diff --git a/arch/arc/include/asm/unaligned.h b/arch/arc/include/asm/unaligned.h index 3e5f071bc00c..6da6b4edaeda 100644 --- a/arch/arc/include/asm/unaligned.h +++ b/arch/arc/include/asm/unaligned.h | |||
@@ -14,7 +14,7 @@ | |||
14 | #include <asm-generic/unaligned.h> | 14 | #include <asm-generic/unaligned.h> |
15 | #include <asm/ptrace.h> | 15 | #include <asm/ptrace.h> |
16 | 16 | ||
17 | #ifdef CONFIG_ARC_MISALIGN_ACCESS | 17 | #ifdef CONFIG_ARC_EMUL_UNALIGNED |
18 | int misaligned_fixup(unsigned long address, struct pt_regs *regs, | 18 | int misaligned_fixup(unsigned long address, struct pt_regs *regs, |
19 | struct callee_regs *cregs); | 19 | struct callee_regs *cregs); |
20 | #else | 20 | #else |