Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+101 -91
+1
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 */
+16
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 */
-1
arch/score/include/asm/bitops.h
··· 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.
+11
arch/score/include/asm/bug.h
··· 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 */
+49
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 */
+6
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 */
+13
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 */
+5 -90
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>