diff options
author | Simon Horman <horms@verge.net.au> | 2008-09-10 09:14:52 +1000 |
---|---|---|
committer | Simon Horman <horms@verge.net.au> | 2008-09-10 09:14:52 +1000 |
commit | c051a0a2c9e283c1123ed3ce65e66e41d2ce5e24 (patch) | |
tree | 1202d018129ca5538cd98b1e4542b239045c1a2d /arch/blackfin/include/asm/fixed_code.h | |
parent | e9c0ce232e7a36daae1ca08282609d7f0c57c567 (diff) | |
parent | 28faa979746b2352cd78a376bf9f52db953bda46 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6 into lvs-next-2.6
Diffstat (limited to 'arch/blackfin/include/asm/fixed_code.h')
-rw-r--r-- | arch/blackfin/include/asm/fixed_code.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/arch/blackfin/include/asm/fixed_code.h b/arch/blackfin/include/asm/fixed_code.h new file mode 100644 index 00000000000..32c4d495d84 --- /dev/null +++ b/arch/blackfin/include/asm/fixed_code.h @@ -0,0 +1,46 @@ +/* This file defines the fixed addresses where userspace programs can find + atomic code sequences. */ + +#ifndef __BFIN_ASM_FIXED_CODE_H__ +#define __BFIN_ASM_FIXED_CODE_H__ + +#ifdef __KERNEL__ +#ifndef __ASSEMBLY__ +#include <linux/linkage.h> +#include <linux/ptrace.h> +extern asmlinkage void finish_atomic_sections(struct pt_regs *regs); +extern char fixed_code_start; +extern char fixed_code_end; +extern int atomic_xchg32(void); +extern int atomic_cas32(void); +extern int atomic_add32(void); +extern int atomic_sub32(void); +extern int atomic_ior32(void); +extern int atomic_and32(void); +extern int atomic_xor32(void); +extern void safe_user_instruction(void); +extern void sigreturn_stub(void); +#endif +#endif + +#define FIXED_CODE_START 0x400 + +#define SIGRETURN_STUB 0x400 + +#define ATOMIC_SEQS_START 0x410 + +#define ATOMIC_XCHG32 0x410 +#define ATOMIC_CAS32 0x420 +#define ATOMIC_ADD32 0x430 +#define ATOMIC_SUB32 0x440 +#define ATOMIC_IOR32 0x450 +#define ATOMIC_AND32 0x460 +#define ATOMIC_XOR32 0x470 + +#define ATOMIC_SEQS_END 0x480 + +#define SAFE_USER_INSTRUCTION 0x480 + +#define FIXED_CODE_END 0x490 + +#endif |