aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin
diff options
context:
space:
mode:
authorDavid Howells <dhowells@redhat.com>2012-10-09 04:46:39 -0400
committerBob Liu <lliubbo@gmail.com>2012-12-13 00:50:56 -0500
commit2ba364504f2c31665007330dec23e89e44f5864e (patch)
tree3f731d76a23441ca78e55d4838689a1a871da63a /arch/blackfin
parent29594404d7fe73cd80eaa4ee8c43dcc53970c60e (diff)
UAPI: (Scripted) Disintegrate arch/blackfin/include/asm
Signed-off-by: David Howells <dhowells@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: Michael Kerrisk <mtk.manpages@gmail.com> Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com> Acked-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'arch/blackfin')
-rw-r--r--arch/blackfin/include/asm/Kbuild5
-rw-r--r--arch/blackfin/include/asm/bfin_sport.h128
-rw-r--r--arch/blackfin/include/asm/fixed_code.h30
-rw-r--r--arch/blackfin/include/asm/ptrace.h161
-rw-r--r--arch/blackfin/include/asm/unistd.h430
-rw-r--r--arch/blackfin/include/uapi/asm/Kbuild16
-rw-r--r--arch/blackfin/include/uapi/asm/bfin_sport.h136
-rw-r--r--arch/blackfin/include/uapi/asm/byteorder.h (renamed from arch/blackfin/include/asm/byteorder.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/cachectl.h (renamed from arch/blackfin/include/asm/cachectl.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/fcntl.h (renamed from arch/blackfin/include/asm/fcntl.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/fixed_code.h38
-rw-r--r--arch/blackfin/include/uapi/asm/ioctls.h (renamed from arch/blackfin/include/asm/ioctls.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/kvm_para.h (renamed from arch/blackfin/include/asm/kvm_para.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/poll.h (renamed from arch/blackfin/include/asm/poll.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/posix_types.h (renamed from arch/blackfin/include/asm/posix_types.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/ptrace.h170
-rw-r--r--arch/blackfin/include/uapi/asm/sigcontext.h (renamed from arch/blackfin/include/asm/sigcontext.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/siginfo.h (renamed from arch/blackfin/include/asm/siginfo.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/signal.h (renamed from arch/blackfin/include/asm/signal.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/stat.h (renamed from arch/blackfin/include/asm/stat.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/swab.h (renamed from arch/blackfin/include/asm/swab.h)0
-rw-r--r--arch/blackfin/include/uapi/asm/unistd.h437
22 files changed, 802 insertions, 749 deletions
diff --git a/arch/blackfin/include/asm/Kbuild b/arch/blackfin/include/asm/Kbuild
index 5a0625aad6a0..7ce56f5f6dda 100644
--- a/arch/blackfin/include/asm/Kbuild
+++ b/arch/blackfin/include/asm/Kbuild
@@ -1,4 +1,3 @@
1include include/asm-generic/Kbuild.asm
2 1
3generic-y += auxvec.h 2generic-y += auxvec.h
4generic-y += bitsperlong.h 3generic-y += bitsperlong.h
@@ -43,7 +42,3 @@ generic-y += ucontext.h
43generic-y += unaligned.h 42generic-y += unaligned.h
44generic-y += user.h 43generic-y += user.h
45generic-y += xor.h 44generic-y += xor.h
46
47header-y += bfin_sport.h
48header-y += cachectl.h
49header-y += fixed_code.h
diff --git a/arch/blackfin/include/asm/bfin_sport.h b/arch/blackfin/include/asm/bfin_sport.h
index f8907ea6b5b6..50b9dfd4839f 100644
--- a/arch/blackfin/include/asm/bfin_sport.h
+++ b/arch/blackfin/include/asm/bfin_sport.h
@@ -5,65 +5,12 @@
5 * 5 *
6 * Licensed under the GPL-2 or later. 6 * Licensed under the GPL-2 or later.
7 */ 7 */
8
9#ifndef __BFIN_SPORT_H__ 8#ifndef __BFIN_SPORT_H__
10#define __BFIN_SPORT_H__ 9#define __BFIN_SPORT_H__
11 10
12/* Sport mode: it can be set to TDM, i2s or others */
13#define NORM_MODE 0x0
14#define TDM_MODE 0x1
15#define I2S_MODE 0x2
16#define NDSO_MODE 0x3
17
18/* Data format, normal, a-law or u-law */
19#define NORM_FORMAT 0x0
20#define ALAW_FORMAT 0x2
21#define ULAW_FORMAT 0x3
22
23/* Function driver which use sport must initialize the structure */
24struct sport_config {
25 /* TDM (multichannels), I2S or other mode */
26 unsigned int mode:3;
27 unsigned int polled; /* use poll instead of irq when set */
28
29 /* if TDM mode is selected, channels must be set */
30 int channels; /* Must be in 8 units */
31 unsigned int frame_delay:4; /* Delay between frame sync pulse and first bit */
32
33 /* I2S mode */
34 unsigned int right_first:1; /* Right stereo channel first */
35
36 /* In mormal mode, the following item need to be set */
37 unsigned int lsb_first:1; /* order of transmit or receive data */
38 unsigned int fsync:1; /* Frame sync required */
39 unsigned int data_indep:1; /* data independent frame sync generated */
40 unsigned int act_low:1; /* Active low TFS */
41 unsigned int late_fsync:1; /* Late frame sync */
42 unsigned int tckfe:1;
43 unsigned int sec_en:1; /* Secondary side enabled */
44
45 /* Choose clock source */
46 unsigned int int_clk:1; /* Internal or external clock */
47
48 /* If external clock is used, the following fields are ignored */
49 int serial_clk;
50 int fsync_clk;
51
52 unsigned int data_format:2; /* Normal, u-law or a-law */
53
54 int word_len; /* How length of the word in bits, 3-32 bits */
55 int dma_enabled;
56};
57
58/* Userspace interface */
59#define SPORT_IOC_MAGIC 'P'
60#define SPORT_IOC_CONFIG _IOWR('P', 0x01, struct sport_config)
61#define SPORT_IOC_GET_SYSTEMCLOCK _IOR('P', 0x02, unsigned long)
62#define SPORT_IOC_SET_BAUDRATE _IOW('P', 0x03, unsigned long)
63
64#ifdef __KERNEL__
65 11
66#include <linux/types.h> 12#include <linux/types.h>
13#include <uapi/asm/bfin_sport.h>
67 14
68/* 15/*
69 * All Blackfin system MMRs are padded to 32bits even if the register 16 * All Blackfin system MMRs are padded to 32bits even if the register
@@ -122,76 +69,3 @@ struct bfin_snd_platform_data {
122}) 69})
123 70
124#endif 71#endif
125
126/* SPORT_TCR1 Masks */
127#define TSPEN 0x0001 /* TX enable */
128#define ITCLK 0x0002 /* Internal TX Clock Select */
129#define TDTYPE 0x000C /* TX Data Formatting Select */
130#define DTYPE_NORM 0x0000 /* Data Format Normal */
131#define DTYPE_ULAW 0x0008 /* Compand Using u-Law */
132#define DTYPE_ALAW 0x000C /* Compand Using A-Law */
133#define TLSBIT 0x0010 /* TX Bit Order */
134#define ITFS 0x0200 /* Internal TX Frame Sync Select */
135#define TFSR 0x0400 /* TX Frame Sync Required Select */
136#define DITFS 0x0800 /* Data Independent TX Frame Sync Select */
137#define LTFS 0x1000 /* Low TX Frame Sync Select */
138#define LATFS 0x2000 /* Late TX Frame Sync Select */
139#define TCKFE 0x4000 /* TX Clock Falling Edge Select */
140
141/* SPORT_TCR2 Masks */
142#define SLEN 0x001F /* SPORT TX Word Length (2 - 31) */
143#define DP_SLEN(x) BFIN_DEPOSIT(SLEN, x)
144#define EX_SLEN(x) BFIN_EXTRACT(SLEN, x)
145#define TXSE 0x0100 /* TX Secondary Enable */
146#define TSFSE 0x0200 /* TX Stereo Frame Sync Enable */
147#define TRFST 0x0400 /* TX Right-First Data Order */
148
149/* SPORT_RCR1 Masks */
150#define RSPEN 0x0001 /* RX enable */
151#define IRCLK 0x0002 /* Internal RX Clock Select */
152#define RDTYPE 0x000C /* RX Data Formatting Select */
153/* DTYPE_* defined above */
154#define RLSBIT 0x0010 /* RX Bit Order */
155#define IRFS 0x0200 /* Internal RX Frame Sync Select */
156#define RFSR 0x0400 /* RX Frame Sync Required Select */
157#define LRFS 0x1000 /* Low RX Frame Sync Select */
158#define LARFS 0x2000 /* Late RX Frame Sync Select */
159#define RCKFE 0x4000 /* RX Clock Falling Edge Select */
160
161/* SPORT_RCR2 Masks */
162/* SLEN defined above */
163#define RXSE 0x0100 /* RX Secondary Enable */
164#define RSFSE 0x0200 /* RX Stereo Frame Sync Enable */
165#define RRFST 0x0400 /* Right-First Data Order */
166
167/* SPORT_STAT Masks */
168#define RXNE 0x0001 /* RX FIFO Not Empty Status */
169#define RUVF 0x0002 /* RX Underflow Status */
170#define ROVF 0x0004 /* RX Overflow Status */
171#define TXF 0x0008 /* TX FIFO Full Status */
172#define TUVF 0x0010 /* TX Underflow Status */
173#define TOVF 0x0020 /* TX Overflow Status */
174#define TXHRE 0x0040 /* TX Hold Register Empty */
175
176/* SPORT_MCMC1 Masks */
177#define SP_WOFF 0x03FF /* Multichannel Window Offset Field */
178#define DP_SP_WOFF(x) BFIN_DEPOSIT(SP_WOFF, x)
179#define EX_SP_WOFF(x) BFIN_EXTRACT(SP_WOFF, x)
180#define SP_WSIZE 0xF000 /* Multichannel Window Size Field */
181#define DP_SP_WSIZE(x) BFIN_DEPOSIT(SP_WSIZE, x)
182#define EX_SP_WSIZE(x) BFIN_EXTRACT(SP_WSIZE, x)
183
184/* SPORT_MCMC2 Masks */
185#define MCCRM 0x0003 /* Multichannel Clock Recovery Mode */
186#define REC_BYPASS 0x0000 /* Bypass Mode (No Clock Recovery) */
187#define REC_2FROM4 0x0002 /* Recover 2 MHz Clock from 4 MHz Clock */
188#define REC_8FROM16 0x0003 /* Recover 8 MHz Clock from 16 MHz Clock */
189#define MCDTXPE 0x0004 /* Multichannel DMA Transmit Packing */
190#define MCDRXPE 0x0008 /* Multichannel DMA Receive Packing */
191#define MCMEN 0x0010 /* Multichannel Frame Mode Enable */
192#define FSDR 0x0080 /* Multichannel Frame Sync to Data Relationship */
193#define MFD 0xF000 /* Multichannel Frame Delay */
194#define DP_MFD(x) BFIN_DEPOSIT(MFD, x)
195#define EX_MFD(x) BFIN_EXTRACT(MFD, x)
196
197#endif
diff --git a/arch/blackfin/include/asm/fixed_code.h b/arch/blackfin/include/asm/fixed_code.h
index 5395088b2d0e..bc330f06207b 100644
--- a/arch/blackfin/include/asm/fixed_code.h
+++ b/arch/blackfin/include/asm/fixed_code.h
@@ -6,11 +6,11 @@
6 * 6 *
7 * Licensed under the GPL-2 or later. 7 * Licensed under the GPL-2 or later.
8 */ 8 */
9
10#ifndef __BFIN_ASM_FIXED_CODE_H__ 9#ifndef __BFIN_ASM_FIXED_CODE_H__
11#define __BFIN_ASM_FIXED_CODE_H__ 10#define __BFIN_ASM_FIXED_CODE_H__
12 11
13#ifdef __KERNEL__ 12#include <uapi/asm/fixed_code.h>
13
14#ifndef __ASSEMBLY__ 14#ifndef __ASSEMBLY__
15#include <linux/linkage.h> 15#include <linux/linkage.h>
16#include <linux/ptrace.h> 16#include <linux/ptrace.h>
@@ -28,29 +28,3 @@ extern void safe_user_instruction(void);
28extern void sigreturn_stub(void); 28extern void sigreturn_stub(void);
29#endif 29#endif
30#endif 30#endif
31
32#ifndef CONFIG_PHY_RAM_BASE_ADDRESS
33#define CONFIG_PHY_RAM_BASE_ADDRESS 0x0
34#endif
35
36#define FIXED_CODE_START (CONFIG_PHY_RAM_BASE_ADDRESS + 0x400)
37
38#define SIGRETURN_STUB (CONFIG_PHY_RAM_BASE_ADDRESS + 0x400)
39
40#define ATOMIC_SEQS_START (CONFIG_PHY_RAM_BASE_ADDRESS + 0x410)
41
42#define ATOMIC_XCHG32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x410)
43#define ATOMIC_CAS32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x420)
44#define ATOMIC_ADD32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x430)
45#define ATOMIC_SUB32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x440)
46#define ATOMIC_IOR32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x450)
47#define ATOMIC_AND32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x460)
48#define ATOMIC_XOR32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x470)
49
50#define ATOMIC_SEQS_END (CONFIG_PHY_RAM_BASE_ADDRESS + 0x480)
51
52#define SAFE_USER_INSTRUCTION (CONFIG_PHY_RAM_BASE_ADDRESS + 0x480)
53
54#define FIXED_CODE_END (CONFIG_PHY_RAM_BASE_ADDRESS + 0x490)
55
56#endif
diff --git a/arch/blackfin/include/asm/ptrace.h b/arch/blackfin/include/asm/ptrace.h
index 10d8641180f2..14ea93388c05 100644
--- a/arch/blackfin/include/asm/ptrace.h
+++ b/arch/blackfin/include/asm/ptrace.h
@@ -3,102 +3,13 @@
3 * 3 *
4 * Licensed under the GPL-2 or later. 4 * Licensed under the GPL-2 or later.
5 */ 5 */
6
7#ifndef _BFIN_PTRACE_H 6#ifndef _BFIN_PTRACE_H
8#define _BFIN_PTRACE_H 7#define _BFIN_PTRACE_H
9 8
10/* 9#include <uapi/asm/ptrace.h>
11 * GCC defines register number like this:
12 * -----------------------------
13 * 0 - 7 are data registers R0-R7
14 * 8 - 15 are address registers P0-P7
15 * 16 - 31 dsp registers I/B/L0 -- I/B/L3 & M0--M3
16 * 32 - 33 A registers A0 & A1
17 * 34 - status register
18 * -----------------------------
19 *
20 * We follows above, except:
21 * 32-33 --- Low 32-bit of A0&1
22 * 34-35 --- High 8-bit of A0&1
23 */
24 10
25#ifndef __ASSEMBLY__ 11#ifndef __ASSEMBLY__
26 12
27struct task_struct;
28
29/* this struct defines the way the registers are stored on the
30 stack during a system call. */
31
32struct pt_regs {
33 long orig_pc;
34 long ipend;
35 long seqstat;
36 long rete;
37 long retn;
38 long retx;
39 long pc; /* PC == RETI */
40 long rets;
41 long reserved; /* Used as scratch during system calls */
42 long astat;
43 long lb1;
44 long lb0;
45 long lt1;
46 long lt0;
47 long lc1;
48 long lc0;
49 long a1w;
50 long a1x;
51 long a0w;
52 long a0x;
53 long b3;
54 long b2;
55 long b1;
56 long b0;
57 long l3;
58 long l2;
59 long l1;
60 long l0;
61 long m3;
62 long m2;
63 long m1;
64 long m0;
65 long i3;
66 long i2;
67 long i1;
68 long i0;
69 long usp;
70 long fp;
71 long p5;
72 long p4;
73 long p3;
74 long p2;
75 long p1;
76 long p0;
77 long r7;
78 long r6;
79 long r5;
80 long r4;
81 long r3;
82 long r2;
83 long r1;
84 long r0;
85 long orig_r0;
86 long orig_p0;
87 long syscfg;
88};
89
90/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
91#define PTRACE_GETREGS 12
92#define PTRACE_SETREGS 13 /* ptrace signal */
93
94#define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */
95#define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */
96#define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */
97
98#define PS_S (0x0002)
99
100#ifdef __KERNEL__
101
102/* user_mode returns true if only one bit is set in IPEND, other than the 13/* user_mode returns true if only one bit is set in IPEND, other than the
103 master interrupt enable. */ 14 master interrupt enable. */
104#define user_mode(regs) (!(((regs)->ipend & ~0x10) & (((regs)->ipend & ~0x10) - 1))) 15#define user_mode(regs) (!(((regs)->ipend & ~0x10) & (((regs)->ipend & ~0x10) - 1)))
@@ -126,75 +37,5 @@ extern int is_user_addr_valid(struct task_struct *child,
126 37
127#include <asm-generic/ptrace.h> 38#include <asm-generic/ptrace.h>
128 39
129#endif /* __KERNEL__ */
130
131#endif /* __ASSEMBLY__ */ 40#endif /* __ASSEMBLY__ */
132
133/*
134 * Offsets used by 'ptrace' system call interface.
135 */
136
137#define PT_R0 204
138#define PT_R1 200
139#define PT_R2 196
140#define PT_R3 192
141#define PT_R4 188
142#define PT_R5 184
143#define PT_R6 180
144#define PT_R7 176
145#define PT_P0 172
146#define PT_P1 168
147#define PT_P2 164
148#define PT_P3 160
149#define PT_P4 156
150#define PT_P5 152
151#define PT_FP 148
152#define PT_USP 144
153#define PT_I0 140
154#define PT_I1 136
155#define PT_I2 132
156#define PT_I3 128
157#define PT_M0 124
158#define PT_M1 120
159#define PT_M2 116
160#define PT_M3 112
161#define PT_L0 108
162#define PT_L1 104
163#define PT_L2 100
164#define PT_L3 96
165#define PT_B0 92
166#define PT_B1 88
167#define PT_B2 84
168#define PT_B3 80
169#define PT_A0X 76
170#define PT_A0W 72
171#define PT_A1X 68
172#define PT_A1W 64
173#define PT_LC0 60
174#define PT_LC1 56
175#define PT_LT0 52
176#define PT_LT1 48
177#define PT_LB0 44
178#define PT_LB1 40
179#define PT_ASTAT 36
180#define PT_RESERVED 32
181#define PT_RETS 28
182#define PT_PC 24
183#define PT_RETX 20
184#define PT_RETN 16
185#define PT_RETE 12
186#define PT_SEQSTAT 8
187#define PT_IPEND 4
188
189#define PT_ORIG_R0 208
190#define PT_ORIG_P0 212
191#define PT_SYSCFG 216
192#define PT_TEXT_ADDR 220
193#define PT_TEXT_END_ADDR 224
194#define PT_DATA_ADDR 228
195#define PT_FDPIC_EXEC 232
196#define PT_FDPIC_INTERP 236
197
198#define PT_LAST_PSEUDO PT_FDPIC_INTERP
199
200#endif /* _BFIN_PTRACE_H */ 41#endif /* _BFIN_PTRACE_H */
diff --git a/arch/blackfin/include/asm/unistd.h b/arch/blackfin/include/asm/unistd.h
index 5b2a0748d7d3..a5aa9bd5fed5 100644
--- a/arch/blackfin/include/asm/unistd.h
+++ b/arch/blackfin/include/asm/unistd.h
@@ -3,437 +3,11 @@
3 * 3 *
4 * Licensed under the GPL-2 or later. 4 * Licensed under the GPL-2 or later.
5 */ 5 */
6
7#ifndef __ASM_BFIN_UNISTD_H 6#ifndef __ASM_BFIN_UNISTD_H
8#define __ASM_BFIN_UNISTD_H 7#define __ASM_BFIN_UNISTD_H
9/*
10 * This file contains the system call numbers.
11 */
12#define __NR_restart_syscall 0
13#define __NR_exit 1
14 /* 2 __NR_fork not supported on nommu */
15#define __NR_read 3
16#define __NR_write 4
17#define __NR_open 5
18#define __NR_close 6
19 /* 7 __NR_waitpid obsolete */
20#define __NR_creat 8
21#define __NR_link 9
22#define __NR_unlink 10
23#define __NR_execve 11
24#define __NR_chdir 12
25#define __NR_time 13
26#define __NR_mknod 14
27#define __NR_chmod 15
28#define __NR_chown 16
29 /* 17 __NR_break obsolete */
30 /* 18 __NR_oldstat obsolete */
31#define __NR_lseek 19
32#define __NR_getpid 20
33#define __NR_mount 21
34 /* 22 __NR_umount obsolete */
35#define __NR_setuid 23
36#define __NR_getuid 24
37#define __NR_stime 25
38#define __NR_ptrace 26
39#define __NR_alarm 27
40 /* 28 __NR_oldfstat obsolete */
41#define __NR_pause 29
42 /* 30 __NR_utime obsolete */
43 /* 31 __NR_stty obsolete */
44 /* 32 __NR_gtty obsolete */
45#define __NR_access 33
46#define __NR_nice 34
47 /* 35 __NR_ftime obsolete */
48#define __NR_sync 36
49#define __NR_kill 37
50#define __NR_rename 38
51#define __NR_mkdir 39
52#define __NR_rmdir 40
53#define __NR_dup 41
54#define __NR_pipe 42
55#define __NR_times 43
56 /* 44 __NR_prof obsolete */
57#define __NR_brk 45
58#define __NR_setgid 46
59#define __NR_getgid 47
60 /* 48 __NR_signal obsolete */
61#define __NR_geteuid 49
62#define __NR_getegid 50
63#define __NR_acct 51
64#define __NR_umount2 52
65 /* 53 __NR_lock obsolete */
66#define __NR_ioctl 54
67#define __NR_fcntl 55
68 /* 56 __NR_mpx obsolete */
69#define __NR_setpgid 57
70 /* 58 __NR_ulimit obsolete */
71 /* 59 __NR_oldolduname obsolete */
72#define __NR_umask 60
73#define __NR_chroot 61
74#define __NR_ustat 62
75#define __NR_dup2 63
76#define __NR_getppid 64
77#define __NR_getpgrp 65
78#define __NR_setsid 66
79 /* 67 __NR_sigaction obsolete */
80#define __NR_sgetmask 68
81#define __NR_ssetmask 69
82#define __NR_setreuid 70
83#define __NR_setregid 71
84 /* 72 __NR_sigsuspend obsolete */
85 /* 73 __NR_sigpending obsolete */
86#define __NR_sethostname 74
87#define __NR_setrlimit 75
88 /* 76 __NR_old_getrlimit obsolete */
89#define __NR_getrusage 77
90#define __NR_gettimeofday 78
91#define __NR_settimeofday 79
92#define __NR_getgroups 80
93#define __NR_setgroups 81
94 /* 82 __NR_select obsolete */
95#define __NR_symlink 83
96 /* 84 __NR_oldlstat obsolete */
97#define __NR_readlink 85
98 /* 86 __NR_uselib obsolete */
99 /* 87 __NR_swapon obsolete */
100#define __NR_reboot 88
101 /* 89 __NR_readdir obsolete */
102 /* 90 __NR_mmap obsolete */
103#define __NR_munmap 91
104#define __NR_truncate 92
105#define __NR_ftruncate 93
106#define __NR_fchmod 94
107#define __NR_fchown 95
108#define __NR_getpriority 96
109#define __NR_setpriority 97
110 /* 98 __NR_profil obsolete */
111#define __NR_statfs 99
112#define __NR_fstatfs 100
113 /* 101 __NR_ioperm */
114 /* 102 __NR_socketcall obsolete */
115#define __NR_syslog 103
116#define __NR_setitimer 104
117#define __NR_getitimer 105
118#define __NR_stat 106
119#define __NR_lstat 107
120#define __NR_fstat 108
121 /* 109 __NR_olduname obsolete */
122 /* 110 __NR_iopl obsolete */
123#define __NR_vhangup 111
124 /* 112 __NR_idle obsolete */
125 /* 113 __NR_vm86old */
126#define __NR_wait4 114
127 /* 115 __NR_swapoff obsolete */
128#define __NR_sysinfo 116
129 /* 117 __NR_ipc oboslete */
130#define __NR_fsync 118
131 /* 119 __NR_sigreturn obsolete */
132#define __NR_clone 120
133#define __NR_setdomainname 121
134#define __NR_uname 122
135 /* 123 __NR_modify_ldt obsolete */
136#define __NR_adjtimex 124
137#define __NR_mprotect 125
138 /* 126 __NR_sigprocmask obsolete */
139 /* 127 __NR_create_module obsolete */
140#define __NR_init_module 128
141#define __NR_delete_module 129
142 /* 130 __NR_get_kernel_syms obsolete */
143#define __NR_quotactl 131
144#define __NR_getpgid 132
145#define __NR_fchdir 133
146#define __NR_bdflush 134
147 /* 135 was sysfs */
148#define __NR_personality 136
149 /* 137 __NR_afs_syscall */
150#define __NR_setfsuid 138
151#define __NR_setfsgid 139
152#define __NR__llseek 140
153#define __NR_getdents 141
154 /* 142 __NR__newselect obsolete */
155#define __NR_flock 143
156 /* 144 __NR_msync obsolete */
157#define __NR_readv 145
158#define __NR_writev 146
159#define __NR_getsid 147
160#define __NR_fdatasync 148
161#define __NR__sysctl 149
162 /* 150 __NR_mlock */
163 /* 151 __NR_munlock */
164 /* 152 __NR_mlockall */
165 /* 153 __NR_munlockall */
166#define __NR_sched_setparam 154
167#define __NR_sched_getparam 155
168#define __NR_sched_setscheduler 156
169#define __NR_sched_getscheduler 157
170#define __NR_sched_yield 158
171#define __NR_sched_get_priority_max 159
172#define __NR_sched_get_priority_min 160
173#define __NR_sched_rr_get_interval 161
174#define __NR_nanosleep 162
175#define __NR_mremap 163
176#define __NR_setresuid 164
177#define __NR_getresuid 165
178 /* 166 __NR_vm86 */
179 /* 167 __NR_query_module */
180 /* 168 __NR_poll */
181#define __NR_nfsservctl 169
182#define __NR_setresgid 170
183#define __NR_getresgid 171
184#define __NR_prctl 172
185#define __NR_rt_sigreturn 173
186#define __NR_rt_sigaction 174
187#define __NR_rt_sigprocmask 175
188#define __NR_rt_sigpending 176
189#define __NR_rt_sigtimedwait 177
190#define __NR_rt_sigqueueinfo 178
191#define __NR_rt_sigsuspend 179
192#define __NR_pread 180
193#define __NR_pwrite 181
194#define __NR_lchown 182
195#define __NR_getcwd 183
196#define __NR_capget 184
197#define __NR_capset 185
198#define __NR_sigaltstack 186
199#define __NR_sendfile 187
200 /* 188 __NR_getpmsg */
201 /* 189 __NR_putpmsg */
202#define __NR_vfork 190
203#define __NR_getrlimit 191
204#define __NR_mmap2 192
205#define __NR_truncate64 193
206#define __NR_ftruncate64 194
207#define __NR_stat64 195
208#define __NR_lstat64 196
209#define __NR_fstat64 197
210#define __NR_chown32 198
211#define __NR_getuid32 199
212#define __NR_getgid32 200
213#define __NR_geteuid32 201
214#define __NR_getegid32 202
215#define __NR_setreuid32 203
216#define __NR_setregid32 204
217#define __NR_getgroups32 205
218#define __NR_setgroups32 206
219#define __NR_fchown32 207
220#define __NR_setresuid32 208
221#define __NR_getresuid32 209
222#define __NR_setresgid32 210
223#define __NR_getresgid32 211
224#define __NR_lchown32 212
225#define __NR_setuid32 213
226#define __NR_setgid32 214
227#define __NR_setfsuid32 215
228#define __NR_setfsgid32 216
229#define __NR_pivot_root 217
230 /* 218 __NR_mincore */
231 /* 219 __NR_madvise */
232#define __NR_getdents64 220
233#define __NR_fcntl64 221
234 /* 222 reserved for TUX */
235 /* 223 reserved for TUX */
236#define __NR_gettid 224
237#define __NR_readahead 225
238#define __NR_setxattr 226
239#define __NR_lsetxattr 227
240#define __NR_fsetxattr 228
241#define __NR_getxattr 229
242#define __NR_lgetxattr 230
243#define __NR_fgetxattr 231
244#define __NR_listxattr 232
245#define __NR_llistxattr 233
246#define __NR_flistxattr 234
247#define __NR_removexattr 235
248#define __NR_lremovexattr 236
249#define __NR_fremovexattr 237
250#define __NR_tkill 238
251#define __NR_sendfile64 239
252#define __NR_futex 240
253#define __NR_sched_setaffinity 241
254#define __NR_sched_getaffinity 242
255 /* 243 __NR_set_thread_area */
256 /* 244 __NR_get_thread_area */
257#define __NR_io_setup 245
258#define __NR_io_destroy 246
259#define __NR_io_getevents 247
260#define __NR_io_submit 248
261#define __NR_io_cancel 249
262 /* 250 __NR_alloc_hugepages */
263 /* 251 __NR_free_hugepages */
264#define __NR_exit_group 252
265#define __NR_lookup_dcookie 253
266#define __NR_bfin_spinlock 254
267
268#define __NR_epoll_create 255
269#define __NR_epoll_ctl 256
270#define __NR_epoll_wait 257
271 /* 258 __NR_remap_file_pages */
272#define __NR_set_tid_address 259
273#define __NR_timer_create 260
274#define __NR_timer_settime 261
275#define __NR_timer_gettime 262
276#define __NR_timer_getoverrun 263
277#define __NR_timer_delete 264
278#define __NR_clock_settime 265
279#define __NR_clock_gettime 266
280#define __NR_clock_getres 267
281#define __NR_clock_nanosleep 268
282#define __NR_statfs64 269
283#define __NR_fstatfs64 270
284#define __NR_tgkill 271
285#define __NR_utimes 272
286#define __NR_fadvise64_64 273
287 /* 274 __NR_vserver */
288 /* 275 __NR_mbind */
289 /* 276 __NR_get_mempolicy */
290 /* 277 __NR_set_mempolicy */
291#define __NR_mq_open 278
292#define __NR_mq_unlink 279
293#define __NR_mq_timedsend 280
294#define __NR_mq_timedreceive 281
295#define __NR_mq_notify 282
296#define __NR_mq_getsetattr 283
297#define __NR_kexec_load 284
298#define __NR_waitid 285
299#define __NR_add_key 286
300#define __NR_request_key 287
301#define __NR_keyctl 288
302#define __NR_ioprio_set 289
303#define __NR_ioprio_get 290
304#define __NR_inotify_init 291
305#define __NR_inotify_add_watch 292
306#define __NR_inotify_rm_watch 293
307 /* 294 __NR_migrate_pages */
308#define __NR_openat 295
309#define __NR_mkdirat 296
310#define __NR_mknodat 297
311#define __NR_fchownat 298
312#define __NR_futimesat 299
313#define __NR_fstatat64 300
314#define __NR_unlinkat 301
315#define __NR_renameat 302
316#define __NR_linkat 303
317#define __NR_symlinkat 304
318#define __NR_readlinkat 305
319#define __NR_fchmodat 306
320#define __NR_faccessat 307
321#define __NR_pselect6 308
322#define __NR_ppoll 309
323#define __NR_unshare 310
324
325/* Blackfin private syscalls */
326#define __NR_sram_alloc 311
327#define __NR_sram_free 312
328#define __NR_dma_memcpy 313
329
330/* socket syscalls */
331#define __NR_accept 314
332#define __NR_bind 315
333#define __NR_connect 316
334#define __NR_getpeername 317
335#define __NR_getsockname 318
336#define __NR_getsockopt 319
337#define __NR_listen 320
338#define __NR_recv 321
339#define __NR_recvfrom 322
340#define __NR_recvmsg 323
341#define __NR_send 324
342#define __NR_sendmsg 325
343#define __NR_sendto 326
344#define __NR_setsockopt 327
345#define __NR_shutdown 328
346#define __NR_socket 329
347#define __NR_socketpair 330
348
349/* sysv ipc syscalls */
350#define __NR_semctl 331
351#define __NR_semget 332
352#define __NR_semop 333
353#define __NR_msgctl 334
354#define __NR_msgget 335
355#define __NR_msgrcv 336
356#define __NR_msgsnd 337
357#define __NR_shmat 338
358#define __NR_shmctl 339
359#define __NR_shmdt 340
360#define __NR_shmget 341
361 8
362#define __NR_splice 342 9#include <uapi/asm/unistd.h>
363#define __NR_sync_file_range 343
364#define __NR_tee 344
365#define __NR_vmsplice 345
366 10
367#define __NR_epoll_pwait 346
368#define __NR_utimensat 347
369#define __NR_signalfd 348
370#define __NR_timerfd_create 349
371#define __NR_eventfd 350
372#define __NR_pread64 351
373#define __NR_pwrite64 352
374#define __NR_fadvise64 353
375#define __NR_set_robust_list 354
376#define __NR_get_robust_list 355
377#define __NR_fallocate 356
378#define __NR_semtimedop 357
379#define __NR_timerfd_settime 358
380#define __NR_timerfd_gettime 359
381#define __NR_signalfd4 360
382#define __NR_eventfd2 361
383#define __NR_epoll_create1 362
384#define __NR_dup3 363
385#define __NR_pipe2 364
386#define __NR_inotify_init1 365
387#define __NR_preadv 366
388#define __NR_pwritev 367
389#define __NR_rt_tgsigqueueinfo 368
390#define __NR_perf_event_open 369
391#define __NR_recvmmsg 370
392#define __NR_fanotify_init 371
393#define __NR_fanotify_mark 372
394#define __NR_prlimit64 373
395#define __NR_cacheflush 374
396#define __NR_name_to_handle_at 375
397#define __NR_open_by_handle_at 376
398#define __NR_clock_adjtime 377
399#define __NR_syncfs 378
400#define __NR_setns 379
401#define __NR_sendmmsg 380
402#define __NR_process_vm_readv 381
403#define __NR_process_vm_writev 382
404
405#define __NR_syscall 383
406#define NR_syscalls __NR_syscall
407
408/* Old optional stuff no one actually uses */
409#define __IGNORE_sysfs
410#define __IGNORE_uselib
411
412/* Implement the newer interfaces */
413#define __IGNORE_mmap
414#define __IGNORE_poll
415#define __IGNORE_select
416#define __IGNORE_utime
417
418/* Not relevant on no-mmu */
419#define __IGNORE_swapon
420#define __IGNORE_swapoff
421#define __IGNORE_msync
422#define __IGNORE_mlock
423#define __IGNORE_munlock
424#define __IGNORE_mlockall
425#define __IGNORE_munlockall
426#define __IGNORE_mincore
427#define __IGNORE_madvise
428#define __IGNORE_remap_file_pages
429#define __IGNORE_mbind
430#define __IGNORE_get_mempolicy
431#define __IGNORE_set_mempolicy
432#define __IGNORE_migrate_pages
433#define __IGNORE_move_pages
434#define __IGNORE_getcpu
435
436#ifdef __KERNEL__
437#define __ARCH_WANT_STAT64 11#define __ARCH_WANT_STAT64
438#define __ARCH_WANT_SYS_ALARM 12#define __ARCH_WANT_SYS_ALARM
439#define __ARCH_WANT_SYS_GETHOSTNAME 13#define __ARCH_WANT_SYS_GETHOSTNAME
@@ -455,6 +29,4 @@
455 */ 29 */
456#define cond_syscall(x) asm(".weak\t_" #x "\n\t.set\t_" #x ",_sys_ni_syscall"); 30#define cond_syscall(x) asm(".weak\t_" #x "\n\t.set\t_" #x ",_sys_ni_syscall");
457 31
458#endif /* __KERNEL__ */
459
460#endif /* __ASM_BFIN_UNISTD_H */ 32#endif /* __ASM_BFIN_UNISTD_H */
diff --git a/arch/blackfin/include/uapi/asm/Kbuild b/arch/blackfin/include/uapi/asm/Kbuild
index baebb3da1d44..0bd28f77abc3 100644
--- a/arch/blackfin/include/uapi/asm/Kbuild
+++ b/arch/blackfin/include/uapi/asm/Kbuild
@@ -1,3 +1,19 @@
1# UAPI Header export list 1# UAPI Header export list
2include include/uapi/asm-generic/Kbuild.asm 2include include/uapi/asm-generic/Kbuild.asm
3 3
4header-y += bfin_sport.h
5header-y += byteorder.h
6header-y += cachectl.h
7header-y += fcntl.h
8header-y += fixed_code.h
9header-y += ioctls.h
10header-y += kvm_para.h
11header-y += poll.h
12header-y += posix_types.h
13header-y += ptrace.h
14header-y += sigcontext.h
15header-y += siginfo.h
16header-y += signal.h
17header-y += stat.h
18header-y += swab.h
19header-y += unistd.h
diff --git a/arch/blackfin/include/uapi/asm/bfin_sport.h b/arch/blackfin/include/uapi/asm/bfin_sport.h
new file mode 100644
index 000000000000..c086de87ee61
--- /dev/null
+++ b/arch/blackfin/include/uapi/asm/bfin_sport.h
@@ -0,0 +1,136 @@
1/*
2 * bfin_sport.h - interface to Blackfin SPORTs
3 *
4 * Copyright 2004-2009 Analog Devices Inc.
5 *
6 * Licensed under the GPL-2 or later.
7 */
8
9#ifndef _UAPI__BFIN_SPORT_H__
10#define _UAPI__BFIN_SPORT_H__
11
12/* Sport mode: it can be set to TDM, i2s or others */
13#define NORM_MODE 0x0
14#define TDM_MODE 0x1
15#define I2S_MODE 0x2
16#define NDSO_MODE 0x3
17
18/* Data format, normal, a-law or u-law */
19#define NORM_FORMAT 0x0
20#define ALAW_FORMAT 0x2
21#define ULAW_FORMAT 0x3
22
23/* Function driver which use sport must initialize the structure */
24struct sport_config {
25 /* TDM (multichannels), I2S or other mode */
26 unsigned int mode:3;
27 unsigned int polled; /* use poll instead of irq when set */
28
29 /* if TDM mode is selected, channels must be set */
30 int channels; /* Must be in 8 units */
31 unsigned int frame_delay:4; /* Delay between frame sync pulse and first bit */
32
33 /* I2S mode */
34 unsigned int right_first:1; /* Right stereo channel first */
35
36 /* In mormal mode, the following item need to be set */
37 unsigned int lsb_first:1; /* order of transmit or receive data */
38 unsigned int fsync:1; /* Frame sync required */
39 unsigned int data_indep:1; /* data independent frame sync generated */
40 unsigned int act_low:1; /* Active low TFS */
41 unsigned int late_fsync:1; /* Late frame sync */
42 unsigned int tckfe:1;
43 unsigned int sec_en:1; /* Secondary side enabled */
44
45 /* Choose clock source */
46 unsigned int int_clk:1; /* Internal or external clock */
47
48 /* If external clock is used, the following fields are ignored */
49 int serial_clk;
50 int fsync_clk;
51
52 unsigned int data_format:2; /* Normal, u-law or a-law */
53
54 int word_len; /* How length of the word in bits, 3-32 bits */
55 int dma_enabled;
56};
57
58/* Userspace interface */
59#define SPORT_IOC_MAGIC 'P'
60#define SPORT_IOC_CONFIG _IOWR('P', 0x01, struct sport_config)
61#define SPORT_IOC_GET_SYSTEMCLOCK _IOR('P', 0x02, unsigned long)
62#define SPORT_IOC_SET_BAUDRATE _IOW('P', 0x03, unsigned long)
63
64
65/* SPORT_TCR1 Masks */
66#define TSPEN 0x0001 /* TX enable */
67#define ITCLK 0x0002 /* Internal TX Clock Select */
68#define TDTYPE 0x000C /* TX Data Formatting Select */
69#define DTYPE_NORM 0x0000 /* Data Format Normal */
70#define DTYPE_ULAW 0x0008 /* Compand Using u-Law */
71#define DTYPE_ALAW 0x000C /* Compand Using A-Law */
72#define TLSBIT 0x0010 /* TX Bit Order */
73#define ITFS 0x0200 /* Internal TX Frame Sync Select */
74#define TFSR 0x0400 /* TX Frame Sync Required Select */
75#define DITFS 0x0800 /* Data Independent TX Frame Sync Select */
76#define LTFS 0x1000 /* Low TX Frame Sync Select */
77#define LATFS 0x2000 /* Late TX Frame Sync Select */
78#define TCKFE 0x4000 /* TX Clock Falling Edge Select */
79
80/* SPORT_TCR2 Masks */
81#define SLEN 0x001F /* SPORT TX Word Length (2 - 31) */
82#define DP_SLEN(x) BFIN_DEPOSIT(SLEN, x)
83#define EX_SLEN(x) BFIN_EXTRACT(SLEN, x)
84#define TXSE 0x0100 /* TX Secondary Enable */
85#define TSFSE 0x0200 /* TX Stereo Frame Sync Enable */
86#define TRFST 0x0400 /* TX Right-First Data Order */
87
88/* SPORT_RCR1 Masks */
89#define RSPEN 0x0001 /* RX enable */
90#define IRCLK 0x0002 /* Internal RX Clock Select */
91#define RDTYPE 0x000C /* RX Data Formatting Select */
92/* DTYPE_* defined above */
93#define RLSBIT 0x0010 /* RX Bit Order */
94#define IRFS 0x0200 /* Internal RX Frame Sync Select */
95#define RFSR 0x0400 /* RX Frame Sync Required Select */
96#define LRFS 0x1000 /* Low RX Frame Sync Select */
97#define LARFS 0x2000 /* Late RX Frame Sync Select */
98#define RCKFE 0x4000 /* RX Clock Falling Edge Select */
99
100/* SPORT_RCR2 Masks */
101/* SLEN defined above */
102#define RXSE 0x0100 /* RX Secondary Enable */
103#define RSFSE 0x0200 /* RX Stereo Frame Sync Enable */
104#define RRFST 0x0400 /* Right-First Data Order */
105
106/* SPORT_STAT Masks */
107#define RXNE 0x0001 /* RX FIFO Not Empty Status */
108#define RUVF 0x0002 /* RX Underflow Status */
109#define ROVF 0x0004 /* RX Overflow Status */
110#define TXF 0x0008 /* TX FIFO Full Status */
111#define TUVF 0x0010 /* TX Underflow Status */
112#define TOVF 0x0020 /* TX Overflow Status */
113#define TXHRE 0x0040 /* TX Hold Register Empty */
114
115/* SPORT_MCMC1 Masks */
116#define SP_WOFF 0x03FF /* Multichannel Window Offset Field */
117#define DP_SP_WOFF(x) BFIN_DEPOSIT(SP_WOFF, x)
118#define EX_SP_WOFF(x) BFIN_EXTRACT(SP_WOFF, x)
119#define SP_WSIZE 0xF000 /* Multichannel Window Size Field */
120#define DP_SP_WSIZE(x) BFIN_DEPOSIT(SP_WSIZE, x)
121#define EX_SP_WSIZE(x) BFIN_EXTRACT(SP_WSIZE, x)
122
123/* SPORT_MCMC2 Masks */
124#define MCCRM 0x0003 /* Multichannel Clock Recovery Mode */
125#define REC_BYPASS 0x0000 /* Bypass Mode (No Clock Recovery) */
126#define REC_2FROM4 0x0002 /* Recover 2 MHz Clock from 4 MHz Clock */
127#define REC_8FROM16 0x0003 /* Recover 8 MHz Clock from 16 MHz Clock */
128#define MCDTXPE 0x0004 /* Multichannel DMA Transmit Packing */
129#define MCDRXPE 0x0008 /* Multichannel DMA Receive Packing */
130#define MCMEN 0x0010 /* Multichannel Frame Mode Enable */
131#define FSDR 0x0080 /* Multichannel Frame Sync to Data Relationship */
132#define MFD 0xF000 /* Multichannel Frame Delay */
133#define DP_MFD(x) BFIN_DEPOSIT(MFD, x)
134#define EX_MFD(x) BFIN_EXTRACT(MFD, x)
135
136#endif /* _UAPI__BFIN_SPORT_H__ */
diff --git a/arch/blackfin/include/asm/byteorder.h b/arch/blackfin/include/uapi/asm/byteorder.h
index 9558416d578b..9558416d578b 100644
--- a/arch/blackfin/include/asm/byteorder.h
+++ b/arch/blackfin/include/uapi/asm/byteorder.h
diff --git a/arch/blackfin/include/asm/cachectl.h b/arch/blackfin/include/uapi/asm/cachectl.h
index 03255df6c1ea..03255df6c1ea 100644
--- a/arch/blackfin/include/asm/cachectl.h
+++ b/arch/blackfin/include/uapi/asm/cachectl.h
diff --git a/arch/blackfin/include/asm/fcntl.h b/arch/blackfin/include/uapi/asm/fcntl.h
index 251c911d59c1..251c911d59c1 100644
--- a/arch/blackfin/include/asm/fcntl.h
+++ b/arch/blackfin/include/uapi/asm/fcntl.h
diff --git a/arch/blackfin/include/uapi/asm/fixed_code.h b/arch/blackfin/include/uapi/asm/fixed_code.h
new file mode 100644
index 000000000000..3bef1dca379f
--- /dev/null
+++ b/arch/blackfin/include/uapi/asm/fixed_code.h
@@ -0,0 +1,38 @@
1/*
2 * This file defines the fixed addresses where userspace programs
3 * can find atomic code sequences.
4 *
5 * Copyright 2007-2008 Analog Devices Inc.
6 *
7 * Licensed under the GPL-2 or later.
8 */
9
10#ifndef _UAPI__BFIN_ASM_FIXED_CODE_H__
11#define _UAPI__BFIN_ASM_FIXED_CODE_H__
12
13
14#ifndef CONFIG_PHY_RAM_BASE_ADDRESS
15#define CONFIG_PHY_RAM_BASE_ADDRESS 0x0
16#endif
17
18#define FIXED_CODE_START (CONFIG_PHY_RAM_BASE_ADDRESS + 0x400)
19
20#define SIGRETURN_STUB (CONFIG_PHY_RAM_BASE_ADDRESS + 0x400)
21
22#define ATOMIC_SEQS_START (CONFIG_PHY_RAM_BASE_ADDRESS + 0x410)
23
24#define ATOMIC_XCHG32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x410)
25#define ATOMIC_CAS32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x420)
26#define ATOMIC_ADD32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x430)
27#define ATOMIC_SUB32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x440)
28#define ATOMIC_IOR32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x450)
29#define ATOMIC_AND32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x460)
30#define ATOMIC_XOR32 (CONFIG_PHY_RAM_BASE_ADDRESS + 0x470)
31
32#define ATOMIC_SEQS_END (CONFIG_PHY_RAM_BASE_ADDRESS + 0x480)
33
34#define SAFE_USER_INSTRUCTION (CONFIG_PHY_RAM_BASE_ADDRESS + 0x480)
35
36#define FIXED_CODE_END (CONFIG_PHY_RAM_BASE_ADDRESS + 0x490)
37
38#endif /* _UAPI__BFIN_ASM_FIXED_CODE_H__ */
diff --git a/arch/blackfin/include/asm/ioctls.h b/arch/blackfin/include/uapi/asm/ioctls.h
index eca8d75b0a8a..eca8d75b0a8a 100644
--- a/arch/blackfin/include/asm/ioctls.h
+++ b/arch/blackfin/include/uapi/asm/ioctls.h
diff --git a/arch/blackfin/include/asm/kvm_para.h b/arch/blackfin/include/uapi/asm/kvm_para.h
index 14fab8f0b957..14fab8f0b957 100644
--- a/arch/blackfin/include/asm/kvm_para.h
+++ b/arch/blackfin/include/uapi/asm/kvm_para.h
diff --git a/arch/blackfin/include/asm/poll.h b/arch/blackfin/include/uapi/asm/poll.h
index 072d8966c5c3..072d8966c5c3 100644
--- a/arch/blackfin/include/asm/poll.h
+++ b/arch/blackfin/include/uapi/asm/poll.h
diff --git a/arch/blackfin/include/asm/posix_types.h b/arch/blackfin/include/uapi/asm/posix_types.h
index 1bd3436db6a7..1bd3436db6a7 100644
--- a/arch/blackfin/include/asm/posix_types.h
+++ b/arch/blackfin/include/uapi/asm/posix_types.h
diff --git a/arch/blackfin/include/uapi/asm/ptrace.h b/arch/blackfin/include/uapi/asm/ptrace.h
new file mode 100644
index 000000000000..fd48bd0739d2
--- /dev/null
+++ b/arch/blackfin/include/uapi/asm/ptrace.h
@@ -0,0 +1,170 @@
1/*
2 * Copyright 2004-2008 Analog Devices Inc.
3 *
4 * Licensed under the GPL-2 or later.
5 */
6
7#ifndef _UAPI_BFIN_PTRACE_H
8#define _UAPI_BFIN_PTRACE_H
9
10/*
11 * GCC defines register number like this:
12 * -----------------------------
13 * 0 - 7 are data registers R0-R7
14 * 8 - 15 are address registers P0-P7
15 * 16 - 31 dsp registers I/B/L0 -- I/B/L3 & M0--M3
16 * 32 - 33 A registers A0 & A1
17 * 34 - status register
18 * -----------------------------
19 *
20 * We follows above, except:
21 * 32-33 --- Low 32-bit of A0&1
22 * 34-35 --- High 8-bit of A0&1
23 */
24
25#ifndef __ASSEMBLY__
26
27struct task_struct;
28
29/* this struct defines the way the registers are stored on the
30 stack during a system call. */
31
32struct pt_regs {
33 long orig_pc;
34 long ipend;
35 long seqstat;
36 long rete;
37 long retn;
38 long retx;
39 long pc; /* PC == RETI */
40 long rets;
41 long reserved; /* Used as scratch during system calls */
42 long astat;
43 long lb1;
44 long lb0;
45 long lt1;
46 long lt0;
47 long lc1;
48 long lc0;
49 long a1w;
50 long a1x;
51 long a0w;
52 long a0x;
53 long b3;
54 long b2;
55 long b1;
56 long b0;
57 long l3;
58 long l2;
59 long l1;
60 long l0;
61 long m3;
62 long m2;
63 long m1;
64 long m0;
65 long i3;
66 long i2;
67 long i1;
68 long i0;
69 long usp;
70 long fp;
71 long p5;
72 long p4;
73 long p3;
74 long p2;
75 long p1;
76 long p0;
77 long r7;
78 long r6;
79 long r5;
80 long r4;
81 long r3;
82 long r2;
83 long r1;
84 long r0;
85 long orig_r0;
86 long orig_p0;
87 long syscfg;
88};
89
90/* Arbitrarily choose the same ptrace numbers as used by the Sparc code. */
91#define PTRACE_GETREGS 12
92#define PTRACE_SETREGS 13 /* ptrace signal */
93
94#define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */
95#define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */
96#define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */
97
98#define PS_S (0x0002)
99
100
101#endif /* __ASSEMBLY__ */
102
103/*
104 * Offsets used by 'ptrace' system call interface.
105 */
106
107#define PT_R0 204
108#define PT_R1 200
109#define PT_R2 196
110#define PT_R3 192
111#define PT_R4 188
112#define PT_R5 184
113#define PT_R6 180
114#define PT_R7 176
115#define PT_P0 172
116#define PT_P1 168
117#define PT_P2 164
118#define PT_P3 160
119#define PT_P4 156
120#define PT_P5 152
121#define PT_FP 148
122#define PT_USP 144
123#define PT_I0 140
124#define PT_I1 136
125#define PT_I2 132
126#define PT_I3 128
127#define PT_M0 124
128#define PT_M1 120
129#define PT_M2 116
130#define PT_M3 112
131#define PT_L0 108
132#define PT_L1 104
133#define PT_L2 100
134#define PT_L3 96
135#define PT_B0 92
136#define PT_B1 88
137#define PT_B2 84
138#define PT_B3 80
139#define PT_A0X 76
140#define PT_A0W 72
141#define PT_A1X 68
142#define PT_A1W 64
143#define PT_LC0 60
144#define PT_LC1 56
145#define PT_LT0 52
146#define PT_LT1 48
147#define PT_LB0 44
148#define PT_LB1 40
149#define PT_ASTAT 36
150#define PT_RESERVED 32
151#define PT_RETS 28
152#define PT_PC 24
153#define PT_RETX 20
154#define PT_RETN 16
155#define PT_RETE 12
156#define PT_SEQSTAT 8
157#define PT_IPEND 4
158
159#define PT_ORIG_R0 208
160#define PT_ORIG_P0 212
161#define PT_SYSCFG 216
162#define PT_TEXT_ADDR 220
163#define PT_TEXT_END_ADDR 224
164#define PT_DATA_ADDR 228
165#define PT_FDPIC_EXEC 232
166#define PT_FDPIC_INTERP 236
167
168#define PT_LAST_PSEUDO PT_FDPIC_INTERP
169
170#endif /* _UAPI_BFIN_PTRACE_H */
diff --git a/arch/blackfin/include/asm/sigcontext.h b/arch/blackfin/include/uapi/asm/sigcontext.h
index 906bdc1f5fda..906bdc1f5fda 100644
--- a/arch/blackfin/include/asm/sigcontext.h
+++ b/arch/blackfin/include/uapi/asm/sigcontext.h
diff --git a/arch/blackfin/include/asm/siginfo.h b/arch/blackfin/include/uapi/asm/siginfo.h
index 3e81306394e2..3e81306394e2 100644
--- a/arch/blackfin/include/asm/siginfo.h
+++ b/arch/blackfin/include/uapi/asm/siginfo.h
diff --git a/arch/blackfin/include/asm/signal.h b/arch/blackfin/include/uapi/asm/signal.h
index 77a3bf37b69d..77a3bf37b69d 100644
--- a/arch/blackfin/include/asm/signal.h
+++ b/arch/blackfin/include/uapi/asm/signal.h
diff --git a/arch/blackfin/include/asm/stat.h b/arch/blackfin/include/uapi/asm/stat.h
index 2e27665c4e91..2e27665c4e91 100644
--- a/arch/blackfin/include/asm/stat.h
+++ b/arch/blackfin/include/uapi/asm/stat.h
diff --git a/arch/blackfin/include/asm/swab.h b/arch/blackfin/include/uapi/asm/swab.h
index 89de6507ca2b..89de6507ca2b 100644
--- a/arch/blackfin/include/asm/swab.h
+++ b/arch/blackfin/include/uapi/asm/swab.h
diff --git a/arch/blackfin/include/uapi/asm/unistd.h b/arch/blackfin/include/uapi/asm/unistd.h
new file mode 100644
index 000000000000..a4511649a864
--- /dev/null
+++ b/arch/blackfin/include/uapi/asm/unistd.h
@@ -0,0 +1,437 @@
1/*
2 * Copyright 2004-2009 Analog Devices Inc.
3 *
4 * Licensed under the GPL-2 or later.
5 */
6
7#ifndef _UAPI__ASM_BFIN_UNISTD_H
8#define _UAPI__ASM_BFIN_UNISTD_H
9/*
10 * This file contains the system call numbers.
11 */
12#define __NR_restart_syscall 0
13#define __NR_exit 1
14 /* 2 __NR_fork not supported on nommu */
15#define __NR_read 3
16#define __NR_write 4
17#define __NR_open 5
18#define __NR_close 6
19 /* 7 __NR_waitpid obsolete */
20#define __NR_creat 8
21#define __NR_link 9
22#define __NR_unlink 10
23#define __NR_execve 11
24#define __NR_chdir 12
25#define __NR_time 13
26#define __NR_mknod 14
27#define __NR_chmod 15
28#define __NR_chown 16
29 /* 17 __NR_break obsolete */
30 /* 18 __NR_oldstat obsolete */
31#define __NR_lseek 19
32#define __NR_getpid 20
33#define __NR_mount 21
34 /* 22 __NR_umount obsolete */
35#define __NR_setuid 23
36#define __NR_getuid 24
37#define __NR_stime 25
38#define __NR_ptrace 26
39#define __NR_alarm 27
40 /* 28 __NR_oldfstat obsolete */
41#define __NR_pause 29
42 /* 30 __NR_utime obsolete */
43 /* 31 __NR_stty obsolete */
44 /* 32 __NR_gtty obsolete */
45#define __NR_access 33
46#define __NR_nice 34
47 /* 35 __NR_ftime obsolete */
48#define __NR_sync 36
49#define __NR_kill 37
50#define __NR_rename 38
51#define __NR_mkdir 39
52#define __NR_rmdir 40
53#define __NR_dup 41
54#define __NR_pipe 42
55#define __NR_times 43
56 /* 44 __NR_prof obsolete */
57#define __NR_brk 45
58#define __NR_setgid 46
59#define __NR_getgid 47
60 /* 48 __NR_signal obsolete */
61#define __NR_geteuid 49
62#define __NR_getegid 50
63#define __NR_acct 51
64#define __NR_umount2 52
65 /* 53 __NR_lock obsolete */
66#define __NR_ioctl 54
67#define __NR_fcntl 55
68 /* 56 __NR_mpx obsolete */
69#define __NR_setpgid 57
70 /* 58 __NR_ulimit obsolete */
71 /* 59 __NR_oldolduname obsolete */
72#define __NR_umask 60
73#define __NR_chroot 61
74#define __NR_ustat 62
75#define __NR_dup2 63
76#define __NR_getppid 64
77#define __NR_getpgrp 65
78#define __NR_setsid 66
79 /* 67 __NR_sigaction obsolete */
80#define __NR_sgetmask 68
81#define __NR_ssetmask 69
82#define __NR_setreuid 70
83#define __NR_setregid 71
84 /* 72 __NR_sigsuspend obsolete */
85 /* 73 __NR_sigpending obsolete */
86#define __NR_sethostname 74
87#define __NR_setrlimit 75
88 /* 76 __NR_old_getrlimit obsolete */
89#define __NR_getrusage 77
90#define __NR_gettimeofday 78
91#define __NR_settimeofday 79
92#define __NR_getgroups 80
93#define __NR_setgroups 81
94 /* 82 __NR_select obsolete */
95#define __NR_symlink 83
96 /* 84 __NR_oldlstat obsolete */
97#define __NR_readlink 85
98 /* 86 __NR_uselib obsolete */
99 /* 87 __NR_swapon obsolete */
100#define __NR_reboot 88
101 /* 89 __NR_readdir obsolete */
102 /* 90 __NR_mmap obsolete */
103#define __NR_munmap 91
104#define __NR_truncate 92
105#define __NR_ftruncate 93
106#define __NR_fchmod 94
107#define __NR_fchown 95
108#define __NR_getpriority 96
109#define __NR_setpriority 97
110 /* 98 __NR_profil obsolete */
111#define __NR_statfs 99
112#define __NR_fstatfs 100
113 /* 101 __NR_ioperm */
114 /* 102 __NR_socketcall obsolete */
115#define __NR_syslog 103
116#define __NR_setitimer 104
117#define __NR_getitimer 105
118#define __NR_stat 106
119#define __NR_lstat 107
120#define __NR_fstat 108
121 /* 109 __NR_olduname obsolete */
122 /* 110 __NR_iopl obsolete */
123#define __NR_vhangup 111
124 /* 112 __NR_idle obsolete */
125 /* 113 __NR_vm86old */
126#define __NR_wait4 114
127 /* 115 __NR_swapoff obsolete */
128#define __NR_sysinfo 116
129 /* 117 __NR_ipc oboslete */
130#define __NR_fsync 118
131 /* 119 __NR_sigreturn obsolete */
132#define __NR_clone 120
133#define __NR_setdomainname 121
134#define __NR_uname 122
135 /* 123 __NR_modify_ldt obsolete */
136#define __NR_adjtimex 124
137#define __NR_mprotect 125
138 /* 126 __NR_sigprocmask obsolete */
139 /* 127 __NR_create_module obsolete */
140#define __NR_init_module 128
141#define __NR_delete_module 129
142 /* 130 __NR_get_kernel_syms obsolete */
143#define __NR_quotactl 131
144#define __NR_getpgid 132
145#define __NR_fchdir 133
146#define __NR_bdflush 134
147 /* 135 was sysfs */
148#define __NR_personality 136
149 /* 137 __NR_afs_syscall */
150#define __NR_setfsuid 138
151#define __NR_setfsgid 139
152#define __NR__llseek 140
153#define __NR_getdents 141
154 /* 142 __NR__newselect obsolete */
155#define __NR_flock 143
156 /* 144 __NR_msync obsolete */
157#define __NR_readv 145
158#define __NR_writev 146
159#define __NR_getsid 147
160#define __NR_fdatasync 148
161#define __NR__sysctl 149
162 /* 150 __NR_mlock */
163 /* 151 __NR_munlock */
164 /* 152 __NR_mlockall */
165 /* 153 __NR_munlockall */
166#define __NR_sched_setparam 154
167#define __NR_sched_getparam 155
168#define __NR_sched_setscheduler 156
169#define __NR_sched_getscheduler 157
170#define __NR_sched_yield 158
171#define __NR_sched_get_priority_max 159
172#define __NR_sched_get_priority_min 160
173#define __NR_sched_rr_get_interval 161
174#define __NR_nanosleep 162
175#define __NR_mremap 163
176#define __NR_setresuid 164
177#define __NR_getresuid 165
178 /* 166 __NR_vm86 */
179 /* 167 __NR_query_module */
180 /* 168 __NR_poll */
181#define __NR_nfsservctl 169
182#define __NR_setresgid 170
183#define __NR_getresgid 171
184#define __NR_prctl 172
185#define __NR_rt_sigreturn 173
186#define __NR_rt_sigaction 174
187#define __NR_rt_sigprocmask 175
188#define __NR_rt_sigpending 176
189#define __NR_rt_sigtimedwait 177
190#define __NR_rt_sigqueueinfo 178
191#define __NR_rt_sigsuspend 179
192#define __NR_pread 180
193#define __NR_pwrite 181
194#define __NR_lchown 182
195#define __NR_getcwd 183
196#define __NR_capget 184
197#define __NR_capset 185
198#define __NR_sigaltstack 186
199#define __NR_sendfile 187
200 /* 188 __NR_getpmsg */
201 /* 189 __NR_putpmsg */
202#define __NR_vfork 190
203#define __NR_getrlimit 191
204#define __NR_mmap2 192
205#define __NR_truncate64 193
206#define __NR_ftruncate64 194
207#define __NR_stat64 195
208#define __NR_lstat64 196
209#define __NR_fstat64 197
210#define __NR_chown32 198
211#define __NR_getuid32 199
212#define __NR_getgid32 200
213#define __NR_geteuid32 201
214#define __NR_getegid32 202
215#define __NR_setreuid32 203
216#define __NR_setregid32 204
217#define __NR_getgroups32 205
218#define __NR_setgroups32 206
219#define __NR_fchown32 207
220#define __NR_setresuid32 208
221#define __NR_getresuid32 209
222#define __NR_setresgid32 210
223#define __NR_getresgid32 211
224#define __NR_lchown32 212
225#define __NR_setuid32 213
226#define __NR_setgid32 214
227#define __NR_setfsuid32 215
228#define __NR_setfsgid32 216
229#define __NR_pivot_root 217
230 /* 218 __NR_mincore */
231 /* 219 __NR_madvise */
232#define __NR_getdents64 220
233#define __NR_fcntl64 221
234 /* 222 reserved for TUX */
235 /* 223 reserved for TUX */
236#define __NR_gettid 224
237#define __NR_readahead 225
238#define __NR_setxattr 226
239#define __NR_lsetxattr 227
240#define __NR_fsetxattr 228
241#define __NR_getxattr 229
242#define __NR_lgetxattr 230
243#define __NR_fgetxattr 231
244#define __NR_listxattr 232
245#define __NR_llistxattr 233
246#define __NR_flistxattr 234
247#define __NR_removexattr 235
248#define __NR_lremovexattr 236
249#define __NR_fremovexattr 237
250#define __NR_tkill 238
251#define __NR_sendfile64 239
252#define __NR_futex 240
253#define __NR_sched_setaffinity 241
254#define __NR_sched_getaffinity 242
255 /* 243 __NR_set_thread_area */
256 /* 244 __NR_get_thread_area */
257#define __NR_io_setup 245
258#define __NR_io_destroy 246
259#define __NR_io_getevents 247
260#define __NR_io_submit 248
261#define __NR_io_cancel 249
262 /* 250 __NR_alloc_hugepages */
263 /* 251 __NR_free_hugepages */
264#define __NR_exit_group 252
265#define __NR_lookup_dcookie 253
266#define __NR_bfin_spinlock 254
267
268#define __NR_epoll_create 255
269#define __NR_epoll_ctl 256
270#define __NR_epoll_wait 257
271 /* 258 __NR_remap_file_pages */
272#define __NR_set_tid_address 259
273#define __NR_timer_create 260
274#define __NR_timer_settime 261
275#define __NR_timer_gettime 262
276#define __NR_timer_getoverrun 263
277#define __NR_timer_delete 264
278#define __NR_clock_settime 265
279#define __NR_clock_gettime 266
280#define __NR_clock_getres 267
281#define __NR_clock_nanosleep 268
282#define __NR_statfs64 269
283#define __NR_fstatfs64 270
284#define __NR_tgkill 271
285#define __NR_utimes 272
286#define __NR_fadvise64_64 273
287 /* 274 __NR_vserver */
288 /* 275 __NR_mbind */
289 /* 276 __NR_get_mempolicy */
290 /* 277 __NR_set_mempolicy */
291#define __NR_mq_open 278
292#define __NR_mq_unlink 279
293#define __NR_mq_timedsend 280
294#define __NR_mq_timedreceive 281
295#define __NR_mq_notify 282
296#define __NR_mq_getsetattr 283
297#define __NR_kexec_load 284
298#define __NR_waitid 285
299#define __NR_add_key 286
300#define __NR_request_key 287
301#define __NR_keyctl 288
302#define __NR_ioprio_set 289
303#define __NR_ioprio_get 290
304#define __NR_inotify_init 291
305#define __NR_inotify_add_watch 292
306#define __NR_inotify_rm_watch 293
307 /* 294 __NR_migrate_pages */
308#define __NR_openat 295
309#define __NR_mkdirat 296
310#define __NR_mknodat 297
311#define __NR_fchownat 298
312#define __NR_futimesat 299
313#define __NR_fstatat64 300
314#define __NR_unlinkat 301
315#define __NR_renameat 302
316#define __NR_linkat 303
317#define __NR_symlinkat 304
318#define __NR_readlinkat 305
319#define __NR_fchmodat 306
320#define __NR_faccessat 307
321#define __NR_pselect6 308
322#define __NR_ppoll 309
323#define __NR_unshare 310
324
325/* Blackfin private syscalls */
326#define __NR_sram_alloc 311
327#define __NR_sram_free 312
328#define __NR_dma_memcpy 313
329
330/* socket syscalls */
331#define __NR_accept 314
332#define __NR_bind 315
333#define __NR_connect 316
334#define __NR_getpeername 317
335#define __NR_getsockname 318
336#define __NR_getsockopt 319
337#define __NR_listen 320
338#define __NR_recv 321
339#define __NR_recvfrom 322
340#define __NR_recvmsg 323
341#define __NR_send 324
342#define __NR_sendmsg 325
343#define __NR_sendto 326
344#define __NR_setsockopt 327
345#define __NR_shutdown 328
346#define __NR_socket 329
347#define __NR_socketpair 330
348
349/* sysv ipc syscalls */
350#define __NR_semctl 331
351#define __NR_semget 332
352#define __NR_semop 333
353#define __NR_msgctl 334
354#define __NR_msgget 335
355#define __NR_msgrcv 336
356#define __NR_msgsnd 337
357#define __NR_shmat 338
358#define __NR_shmctl 339
359#define __NR_shmdt 340
360#define __NR_shmget 341
361
362#define __NR_splice 342
363#define __NR_sync_file_range 343
364#define __NR_tee 344
365#define __NR_vmsplice 345
366
367#define __NR_epoll_pwait 346
368#define __NR_utimensat 347
369#define __NR_signalfd 348
370#define __NR_timerfd_create 349
371#define __NR_eventfd 350
372#define __NR_pread64 351
373#define __NR_pwrite64 352
374#define __NR_fadvise64 353
375#define __NR_set_robust_list 354
376#define __NR_get_robust_list 355
377#define __NR_fallocate 356
378#define __NR_semtimedop 357
379#define __NR_timerfd_settime 358
380#define __NR_timerfd_gettime 359
381#define __NR_signalfd4 360
382#define __NR_eventfd2 361
383#define __NR_epoll_create1 362
384#define __NR_dup3 363
385#define __NR_pipe2 364
386#define __NR_inotify_init1 365
387#define __NR_preadv 366
388#define __NR_pwritev 367
389#define __NR_rt_tgsigqueueinfo 368
390#define __NR_perf_event_open 369
391#define __NR_recvmmsg 370
392#define __NR_fanotify_init 371
393#define __NR_fanotify_mark 372
394#define __NR_prlimit64 373
395#define __NR_cacheflush 374
396#define __NR_name_to_handle_at 375
397#define __NR_open_by_handle_at 376
398#define __NR_clock_adjtime 377
399#define __NR_syncfs 378
400#define __NR_setns 379
401#define __NR_sendmmsg 380
402#define __NR_process_vm_readv 381
403#define __NR_process_vm_writev 382
404
405#define __NR_syscall 383
406#define NR_syscalls __NR_syscall
407
408/* Old optional stuff no one actually uses */
409#define __IGNORE_sysfs
410#define __IGNORE_uselib
411
412/* Implement the newer interfaces */
413#define __IGNORE_mmap
414#define __IGNORE_poll
415#define __IGNORE_select
416#define __IGNORE_utime
417
418/* Not relevant on no-mmu */
419#define __IGNORE_swapon
420#define __IGNORE_swapoff
421#define __IGNORE_msync
422#define __IGNORE_mlock
423#define __IGNORE_munlock
424#define __IGNORE_mlockall
425#define __IGNORE_munlockall
426#define __IGNORE_mincore
427#define __IGNORE_madvise
428#define __IGNORE_remap_file_pages
429#define __IGNORE_mbind
430#define __IGNORE_get_mempolicy
431#define __IGNORE_set_mempolicy
432#define __IGNORE_migrate_pages
433#define __IGNORE_move_pages
434#define __IGNORE_getcpu
435
436
437#endif /* _UAPI__ASM_BFIN_UNISTD_H */