at v2.6.30-rc3 46 lines 1.1 kB view raw
1/* This file defines the fixed addresses where userspace programs can find 2 atomic code sequences. */ 3 4#ifndef __BFIN_ASM_FIXED_CODE_H__ 5#define __BFIN_ASM_FIXED_CODE_H__ 6 7#ifdef __KERNEL__ 8#ifndef __ASSEMBLY__ 9#include <linux/linkage.h> 10#include <linux/ptrace.h> 11extern asmlinkage void finish_atomic_sections(struct pt_regs *regs); 12extern char fixed_code_start; 13extern char fixed_code_end; 14extern int atomic_xchg32(void); 15extern int atomic_cas32(void); 16extern int atomic_add32(void); 17extern int atomic_sub32(void); 18extern int atomic_ior32(void); 19extern int atomic_and32(void); 20extern int atomic_xor32(void); 21extern void safe_user_instruction(void); 22extern void sigreturn_stub(void); 23#endif 24#endif 25 26#define FIXED_CODE_START 0x400 27 28#define SIGRETURN_STUB 0x400 29 30#define ATOMIC_SEQS_START 0x410 31 32#define ATOMIC_XCHG32 0x410 33#define ATOMIC_CAS32 0x420 34#define ATOMIC_ADD32 0x430 35#define ATOMIC_SUB32 0x440 36#define ATOMIC_IOR32 0x450 37#define ATOMIC_AND32 0x460 38#define ATOMIC_XOR32 0x470 39 40#define ATOMIC_SEQS_END 0x480 41 42#define SAFE_USER_INSTRUCTION 0x480 43 44#define FIXED_CODE_END 0x490 45 46#endif