Commit 4eb14db4440febb7e560eb8ab2c099bc6e11a0ac
1 parent
a0616cdebc
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
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
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
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
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> |