This repository has been archived by the owner on Apr 10, 2019. It is now read-only.
forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Disintegrate asm/system.h for Score. Not compiled. Signed-off-by: David Howells <[email protected]> cc: Chen Liqin <[email protected]>
- Loading branch information
Showing
8 changed files
with
101 additions
and
91 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
#ifndef _ASM_SCORE_ATOMIC_H | ||
#define _ASM_SCORE_ATOMIC_H | ||
|
||
#include <asm/cmpxchg.h> | ||
#include <asm-generic/atomic.h> | ||
|
||
#endif /* _ASM_SCORE_ATOMIC_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#ifndef _ASM_SCORE_BARRIER_H | ||
#define _ASM_SCORE_BARRIER_H | ||
|
||
#define mb() barrier() | ||
#define rmb() barrier() | ||
#define wmb() barrier() | ||
#define smp_mb() barrier() | ||
#define smp_rmb() barrier() | ||
#define smp_wmb() barrier() | ||
|
||
#define read_barrier_depends() do {} while (0) | ||
#define smp_read_barrier_depends() do {} while (0) | ||
|
||
#define set_mb(var, value) do {var = value; wmb(); } while (0) | ||
|
||
#endif /* _ASM_SCORE_BARRIER_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
#ifndef _ASM_SCORE_CMPXCHG_H | ||
#define _ASM_SCORE_CMPXCHG_H | ||
|
||
#include <linux/irqflags.h> | ||
|
||
struct __xchg_dummy { unsigned long a[100]; }; | ||
#define __xg(x) ((struct __xchg_dummy *)(x)) | ||
|
||
static inline | ||
unsigned long __xchg(volatile unsigned long *m, unsigned long val) | ||
{ | ||
unsigned long retval; | ||
unsigned long flags; | ||
|
||
local_irq_save(flags); | ||
retval = *m; | ||
*m = val; | ||
local_irq_restore(flags); | ||
return retval; | ||
} | ||
|
||
#define xchg(ptr, v) \ | ||
((__typeof__(*(ptr))) __xchg((unsigned long *)(ptr), \ | ||
(unsigned long)(v))) | ||
|
||
static inline unsigned long __cmpxchg(volatile unsigned long *m, | ||
unsigned long old, unsigned long new) | ||
{ | ||
unsigned long retval; | ||
unsigned long flags; | ||
|
||
local_irq_save(flags); | ||
retval = *m; | ||
if (retval == old) | ||
*m = new; | ||
local_irq_restore(flags); | ||
return retval; | ||
} | ||
|
||
#define cmpxchg(ptr, o, n) \ | ||
((__typeof__(*(ptr))) __cmpxchg((unsigned long *)(ptr), \ | ||
(unsigned long)(o), \ | ||
(unsigned long)(n))) | ||
|
||
#define __HAVE_ARCH_CMPXCHG 1 | ||
|
||
#include <asm-generic/cmpxchg-local.h> | ||
|
||
#endif /* _ASM_SCORE_CMPXCHG_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
#ifndef _ASM_SCORE_EXEC_H | ||
#define _ASM_SCORE_EXEC_H | ||
|
||
extern unsigned long arch_align_stack(unsigned long sp); | ||
|
||
#endif /* _ASM_SCORE_EXEC_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#ifndef _ASM_SCORE_SWITCH_TO_H | ||
#define _ASM_SCORE_SWITCH_TO_H | ||
|
||
extern void *resume(void *last, void *next, void *next_ti); | ||
|
||
#define switch_to(prev, next, last) \ | ||
do { \ | ||
(last) = resume(prev, next, task_thread_info(next)); \ | ||
} while (0) | ||
|
||
#define finish_arch_switch(prev) do {} while (0) | ||
|
||
#endif /* _ASM_SCORE_SWITCH_TO_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,90 +1,5 @@ | ||
#ifndef _ASM_SCORE_SYSTEM_H | ||
#define _ASM_SCORE_SYSTEM_H | ||
|
||
#include <linux/types.h> | ||
#include <linux/irqflags.h> | ||
|
||
struct pt_regs; | ||
struct task_struct; | ||
|
||
extern void *resume(void *last, void *next, void *next_ti); | ||
|
||
#define switch_to(prev, next, last) \ | ||
do { \ | ||
(last) = resume(prev, next, task_thread_info(next)); \ | ||
} while (0) | ||
|
||
#define finish_arch_switch(prev) do {} while (0) | ||
|
||
typedef void (*vi_handler_t)(void); | ||
extern unsigned long arch_align_stack(unsigned long sp); | ||
|
||
#define mb() barrier() | ||
#define rmb() barrier() | ||
#define wmb() barrier() | ||
#define smp_mb() barrier() | ||
#define smp_rmb() barrier() | ||
#define smp_wmb() barrier() | ||
|
||
#define read_barrier_depends() do {} while (0) | ||
#define smp_read_barrier_depends() do {} while (0) | ||
|
||
#define set_mb(var, value) do {var = value; wmb(); } while (0) | ||
|
||
#define __HAVE_ARCH_CMPXCHG 1 | ||
|
||
#include <asm-generic/cmpxchg-local.h> | ||
|
||
#ifndef __ASSEMBLY__ | ||
|
||
struct __xchg_dummy { unsigned long a[100]; }; | ||
#define __xg(x) ((struct __xchg_dummy *)(x)) | ||
|
||
static inline | ||
unsigned long __xchg(volatile unsigned long *m, unsigned long val) | ||
{ | ||
unsigned long retval; | ||
unsigned long flags; | ||
|
||
local_irq_save(flags); | ||
retval = *m; | ||
*m = val; | ||
local_irq_restore(flags); | ||
return retval; | ||
} | ||
|
||
#define xchg(ptr, v) \ | ||
((__typeof__(*(ptr))) __xchg((unsigned long *)(ptr), \ | ||
(unsigned long)(v))) | ||
|
||
static inline unsigned long __cmpxchg(volatile unsigned long *m, | ||
unsigned long old, unsigned long new) | ||
{ | ||
unsigned long retval; | ||
unsigned long flags; | ||
|
||
local_irq_save(flags); | ||
retval = *m; | ||
if (retval == old) | ||
*m = new; | ||
local_irq_restore(flags); | ||
return retval; | ||
} | ||
|
||
#define cmpxchg(ptr, o, n) \ | ||
((__typeof__(*(ptr))) __cmpxchg((unsigned long *)(ptr), \ | ||
(unsigned long)(o), \ | ||
(unsigned long)(n))) | ||
|
||
extern void __die(const char *, struct pt_regs *, const char *, | ||
const char *, unsigned long) __attribute__((noreturn)); | ||
extern void __die_if_kernel(const char *, struct pt_regs *, const char *, | ||
const char *, unsigned long); | ||
|
||
#define die(msg, regs) \ | ||
__die(msg, regs, __FILE__ ":", __func__, __LINE__) | ||
#define die_if_kernel(msg, regs) \ | ||
__die_if_kernel(msg, regs, __FILE__ ":", __func__, __LINE__) | ||
|
||
#endif /* !__ASSEMBLY__ */ | ||
#endif /* _ASM_SCORE_SYSTEM_H */ | ||
/* FILE TO BE DELETED. DO NOT ADD STUFF HERE! */ | ||
#include <asm/barrier.h> | ||
#include <asm/cmpxchg.h> | ||
#include <asm/exec.h> | ||
#include <asm/switch_to.h> |