Commit 4eb14db4440febb7e560eb8ab2c099bc6e11a0ac

Authored by David Howells
1 parent a0616cdebc

Disintegrate asm/system.h for Score

Disintegrate asm/system.h for Score.  Not compiled.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Chen Liqin <liqin.chen@sunplusct.com>

Showing 8 changed files with 101 additions and 91 deletions Side-by-side Diff

arch/score/include/asm/atomic.h
1 1 #ifndef _ASM_SCORE_ATOMIC_H
2 2 #define _ASM_SCORE_ATOMIC_H
3 3  
  4 +#include <asm/cmpxchg.h>
4 5 #include <asm-generic/atomic.h>
5 6  
6 7 #endif /* _ASM_SCORE_ATOMIC_H */
arch/score/include/asm/barrier.h
  1 +#ifndef _ASM_SCORE_BARRIER_H
  2 +#define _ASM_SCORE_BARRIER_H
  3 +
  4 +#define mb() barrier()
  5 +#define rmb() barrier()
  6 +#define wmb() barrier()
  7 +#define smp_mb() barrier()
  8 +#define smp_rmb() barrier()
  9 +#define smp_wmb() barrier()
  10 +
  11 +#define read_barrier_depends() do {} while (0)
  12 +#define smp_read_barrier_depends() do {} while (0)
  13 +
  14 +#define set_mb(var, value) do {var = value; wmb(); } while (0)
  15 +
  16 +#endif /* _ASM_SCORE_BARRIER_H */
arch/score/include/asm/bitops.h
... ... @@ -2,7 +2,6 @@
2 2 #define _ASM_SCORE_BITOPS_H
3 3  
4 4 #include <asm/byteorder.h> /* swab32 */
5   -#include <asm/system.h> /* save_flags */
6 5  
7 6 /*
8 7 * clear_bit() doesn't provide any barrier for the compiler.
arch/score/include/asm/bug.h
... ... @@ -3,5 +3,16 @@
3 3  
4 4 #include <asm-generic/bug.h>
5 5  
  6 +struct pt_regs;
  7 +extern void __die(const char *, struct pt_regs *, const char *,
  8 + const char *, unsigned long) __attribute__((noreturn));
  9 +extern void __die_if_kernel(const char *, struct pt_regs *, const char *,
  10 + const char *, unsigned long);
  11 +
  12 +#define die(msg, regs) \
  13 + __die(msg, regs, __FILE__ ":", __func__, __LINE__)
  14 +#define die_if_kernel(msg, regs) \
  15 + __die_if_kernel(msg, regs, __FILE__ ":", __func__, __LINE__)
  16 +
6 17 #endif /* _ASM_SCORE_BUG_H */
arch/score/include/asm/cmpxchg.h
  1 +#ifndef _ASM_SCORE_CMPXCHG_H
  2 +#define _ASM_SCORE_CMPXCHG_H
  3 +
  4 +#include <linux/irqflags.h>
  5 +
  6 +struct __xchg_dummy { unsigned long a[100]; };
  7 +#define __xg(x) ((struct __xchg_dummy *)(x))
  8 +
  9 +static inline
  10 +unsigned long __xchg(volatile unsigned long *m, unsigned long val)
  11 +{
  12 + unsigned long retval;
  13 + unsigned long flags;
  14 +
  15 + local_irq_save(flags);
  16 + retval = *m;
  17 + *m = val;
  18 + local_irq_restore(flags);
  19 + return retval;
  20 +}
  21 +
  22 +#define xchg(ptr, v) \
  23 + ((__typeof__(*(ptr))) __xchg((unsigned long *)(ptr), \
  24 + (unsigned long)(v)))
  25 +
  26 +static inline unsigned long __cmpxchg(volatile unsigned long *m,
  27 + unsigned long old, unsigned long new)
  28 +{
  29 + unsigned long retval;
  30 + unsigned long flags;
  31 +
  32 + local_irq_save(flags);
  33 + retval = *m;
  34 + if (retval == old)
  35 + *m = new;
  36 + local_irq_restore(flags);
  37 + return retval;
  38 +}
  39 +
  40 +#define cmpxchg(ptr, o, n) \
  41 + ((__typeof__(*(ptr))) __cmpxchg((unsigned long *)(ptr), \
  42 + (unsigned long)(o), \
  43 + (unsigned long)(n)))
  44 +
  45 +#define __HAVE_ARCH_CMPXCHG 1
  46 +
  47 +#include <asm-generic/cmpxchg-local.h>
  48 +
  49 +#endif /* _ASM_SCORE_CMPXCHG_H */
arch/score/include/asm/exec.h
  1 +#ifndef _ASM_SCORE_EXEC_H
  2 +#define _ASM_SCORE_EXEC_H
  3 +
  4 +extern unsigned long arch_align_stack(unsigned long sp);
  5 +
  6 +#endif /* _ASM_SCORE_EXEC_H */
arch/score/include/asm/switch_to.h
  1 +#ifndef _ASM_SCORE_SWITCH_TO_H
  2 +#define _ASM_SCORE_SWITCH_TO_H
  3 +
  4 +extern void *resume(void *last, void *next, void *next_ti);
  5 +
  6 +#define switch_to(prev, next, last) \
  7 +do { \
  8 + (last) = resume(prev, next, task_thread_info(next)); \
  9 +} while (0)
  10 +
  11 +#define finish_arch_switch(prev) do {} while (0)
  12 +
  13 +#endif /* _ASM_SCORE_SWITCH_TO_H */
arch/score/include/asm/system.h
1   -#ifndef _ASM_SCORE_SYSTEM_H
2   -#define _ASM_SCORE_SYSTEM_H
3   -
4   -#include <linux/types.h>
5   -#include <linux/irqflags.h>
6   -
7   -struct pt_regs;
8   -struct task_struct;
9   -
10   -extern void *resume(void *last, void *next, void *next_ti);
11   -
12   -#define switch_to(prev, next, last) \
13   -do { \
14   - (last) = resume(prev, next, task_thread_info(next)); \
15   -} while (0)
16   -
17   -#define finish_arch_switch(prev) do {} while (0)
18   -
19   -typedef void (*vi_handler_t)(void);
20   -extern unsigned long arch_align_stack(unsigned long sp);
21   -
22   -#define mb() barrier()
23   -#define rmb() barrier()
24   -#define wmb() barrier()
25   -#define smp_mb() barrier()
26   -#define smp_rmb() barrier()
27   -#define smp_wmb() barrier()
28   -
29   -#define read_barrier_depends() do {} while (0)
30   -#define smp_read_barrier_depends() do {} while (0)
31   -
32   -#define set_mb(var, value) do {var = value; wmb(); } while (0)
33   -
34   -#define __HAVE_ARCH_CMPXCHG 1
35   -
36   -#include <asm-generic/cmpxchg-local.h>
37   -
38   -#ifndef __ASSEMBLY__
39   -
40   -struct __xchg_dummy { unsigned long a[100]; };
41   -#define __xg(x) ((struct __xchg_dummy *)(x))
42   -
43   -static inline
44   -unsigned long __xchg(volatile unsigned long *m, unsigned long val)
45   -{
46   - unsigned long retval;
47   - unsigned long flags;
48   -
49   - local_irq_save(flags);
50   - retval = *m;
51   - *m = val;
52   - local_irq_restore(flags);
53   - return retval;
54   -}
55   -
56   -#define xchg(ptr, v) \
57   - ((__typeof__(*(ptr))) __xchg((unsigned long *)(ptr), \
58   - (unsigned long)(v)))
59   -
60   -static inline unsigned long __cmpxchg(volatile unsigned long *m,
61   - unsigned long old, unsigned long new)
62   -{
63   - unsigned long retval;
64   - unsigned long flags;
65   -
66   - local_irq_save(flags);
67   - retval = *m;
68   - if (retval == old)
69   - *m = new;
70   - local_irq_restore(flags);
71   - return retval;
72   -}
73   -
74   -#define cmpxchg(ptr, o, n) \
75   - ((__typeof__(*(ptr))) __cmpxchg((unsigned long *)(ptr), \
76   - (unsigned long)(o), \
77   - (unsigned long)(n)))
78   -
79   -extern void __die(const char *, struct pt_regs *, const char *,
80   - const char *, unsigned long) __attribute__((noreturn));
81   -extern void __die_if_kernel(const char *, struct pt_regs *, const char *,
82   - const char *, unsigned long);
83   -
84   -#define die(msg, regs) \
85   - __die(msg, regs, __FILE__ ":", __func__, __LINE__)
86   -#define die_if_kernel(msg, regs) \
87   - __die_if_kernel(msg, regs, __FILE__ ":", __func__, __LINE__)
88   -
89   -#endif /* !__ASSEMBLY__ */
90   -#endif /* _ASM_SCORE_SYSTEM_H */
  1 +/* FILE TO BE DELETED. DO NOT ADD STUFF HERE! */
  2 +#include <asm/barrier.h>
  3 +#include <asm/cmpxchg.h>
  4 +#include <asm/exec.h>
  5 +#include <asm/switch_to.h>