aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-12-15 19:06:15 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2016-12-15 19:06:15 -0500
commit66d466722c39f663b2bbeb44ba4f9419a548fa23 (patch)
treec88df3dac15b7ef03f58a553fc42f9324d43dac0
parent991688bfc63550b8c7ab9fb1de2feb44e3071d29 (diff)
parented141f2890cdb738fc7131367f5fb15632bc3e60 (diff)
Merge branch 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
Pull ARM updates from Russell King: - an update for clkdev registration error detection to simplify users - add cpu capacity parsing from DT - support for larger cachelines found on UniPhier caches - documentation for udelay constants - properly tag assembly function declarations - remove unnecessary indirection of asm/mach-types.h - switch to syscall table based generation to simplify future additions of system calls, along with correpsonding commit for pkey syscalls - remove redundant sa1101 header file - RONX protect modules when they're in the vmalloc region * 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm: ARM: mm: allow set_memory_*() to be used on the vmalloc region ARM: mm: fix set_memory_*() bounds checks ARM: 8631/1: clkdev: Detect errors in clk_hw_register_clkdev() for mass registration ARM: 8629/1: vfp: properly tag assembly function declarations in C code ARM: 8622/3: add sysfs cpu_capacity attribute ARM: 8621/3: parse cpu capacity-dmips-mhz from DT ARM: 8623/1: mm: add ARM_L1_CACHE_SHIFT_7 for UniPhier outer cache ARM: Update mach-types ARM: sa1100: remove SA-1101 header file ARM: 8619/1: udelay: document the various constants ARM: wire up new pkey syscalls ARM: convert to generated system call tables ARM: remove indirection of asm/mach-types.h
-rw-r--r--arch/arm/Makefile5
-rw-r--r--arch/arm/include/asm/Kbuild3
-rw-r--r--arch/arm/include/asm/delay.h27
-rw-r--r--arch/arm/include/asm/mach-types.h1
-rw-r--r--arch/arm/include/asm/unistd.h26
-rw-r--r--arch/arm/include/uapi/asm/Kbuild3
-rw-r--r--arch/arm/include/uapi/asm/unistd.h424
-rw-r--r--arch/arm/kernel/calls.S415
-rw-r--r--arch/arm/kernel/entry-common.S76
-rw-r--r--arch/arm/kernel/topology.c220
-rw-r--r--arch/arm/lib/delay-loop.S15
-rw-r--r--arch/arm/mach-sa1100/include/mach/SA-1101.h925
-rw-r--r--arch/arm/mach-sa1100/include/mach/hardware.h4
-rw-r--r--arch/arm/mm/Kconfig8
-rw-r--r--arch/arm/mm/pageattr.c27
-rw-r--r--arch/arm/tools/Makefile68
-rw-r--r--arch/arm/tools/mach-types516
-rw-r--r--arch/arm/tools/syscall.tbl413
-rw-r--r--arch/arm/tools/syscallhdr.sh30
-rw-r--r--arch/arm/tools/syscallnr.sh33
-rw-r--r--arch/arm/tools/syscalltbl.sh21
-rw-r--r--arch/arm/vfp/vfp.h10
-rw-r--r--arch/arm/vfp/vfpmodule.c8
-rw-r--r--drivers/clk/clkdev.c8
24 files changed, 986 insertions, 2300 deletions
diff --git a/arch/arm/Makefile b/arch/arm/Makefile
index 68312a9f660a..ab30cc634d02 100644
--- a/arch/arm/Makefile
+++ b/arch/arm/Makefile
@@ -312,8 +312,11 @@ all: $(KBUILD_IMAGE) $(KBUILD_DTBS)
312 312
313boot := arch/arm/boot 313boot := arch/arm/boot
314 314
315archheaders:
316 $(Q)$(MAKE) $(build)=arch/arm/tools uapi
317
315archprepare: 318archprepare:
316 $(Q)$(MAKE) $(build)=arch/arm/tools include/generated/mach-types.h 319 $(Q)$(MAKE) $(build)=arch/arm/tools kapi
317 320
318# Convert bzImage to zImage 321# Convert bzImage to zImage
319bzImage: zImage 322bzImage: zImage
diff --git a/arch/arm/include/asm/Kbuild b/arch/arm/include/asm/Kbuild
index 55e0e3ea9cb6..efb21757d41f 100644
--- a/arch/arm/include/asm/Kbuild
+++ b/arch/arm/include/asm/Kbuild
@@ -38,3 +38,6 @@ generic-y += termios.h
38generic-y += timex.h 38generic-y += timex.h
39generic-y += trace_clock.h 39generic-y += trace_clock.h
40generic-y += unaligned.h 40generic-y += unaligned.h
41
42generated-y += mach-types.h
43generated-y += unistd-nr.h
diff --git a/arch/arm/include/asm/delay.h b/arch/arm/include/asm/delay.h
index b1ce037e4380..e986b7f717c4 100644
--- a/arch/arm/include/asm/delay.h
+++ b/arch/arm/include/asm/delay.h
@@ -9,6 +9,33 @@
9#include <asm/memory.h> 9#include <asm/memory.h>
10#include <asm/param.h> /* HZ */ 10#include <asm/param.h> /* HZ */
11 11
12/*
13 * Loop (or tick) based delay:
14 *
15 * loops = loops_per_jiffy * jiffies_per_sec * delay_us / us_per_sec
16 *
17 * where:
18 *
19 * jiffies_per_sec = HZ
20 * us_per_sec = 1000000
21 *
22 * Therefore the constant part is HZ / 1000000 which is a small
23 * fractional number. To make this usable with integer math, we
24 * scale up this constant by 2^31, perform the actual multiplication,
25 * and scale the result back down by 2^31 with a simple shift:
26 *
27 * loops = (loops_per_jiffy * delay_us * UDELAY_MULT) >> 31
28 *
29 * where:
30 *
31 * UDELAY_MULT = 2^31 * HZ / 1000000
32 * = (2^31 / 1000000) * HZ
33 * = 2147.483648 * HZ
34 * = 2147 * HZ + 483648 * HZ / 1000000
35 *
36 * 31 is the biggest scale shift value that won't overflow 32 bits for
37 * delay_us * UDELAY_MULT assuming HZ <= 1000 and delay_us <= 2000.
38 */
12#define MAX_UDELAY_MS 2 39#define MAX_UDELAY_MS 2
13#define UDELAY_MULT UL(2147 * HZ + 483648 * HZ / 1000000) 40#define UDELAY_MULT UL(2147 * HZ + 483648 * HZ / 1000000)
14#define UDELAY_SHIFT 31 41#define UDELAY_SHIFT 31
diff --git a/arch/arm/include/asm/mach-types.h b/arch/arm/include/asm/mach-types.h
deleted file mode 100644
index 948178cc6ba8..000000000000
--- a/arch/arm/include/asm/mach-types.h
+++ /dev/null
@@ -1 +0,0 @@
1#include <generated/mach-types.h>
diff --git a/arch/arm/include/asm/unistd.h b/arch/arm/include/asm/unistd.h
index ada0d29a660f..076090d2dbf5 100644
--- a/arch/arm/include/asm/unistd.h
+++ b/arch/arm/include/asm/unistd.h
@@ -14,12 +14,7 @@
14#define __ASM_ARM_UNISTD_H 14#define __ASM_ARM_UNISTD_H
15 15
16#include <uapi/asm/unistd.h> 16#include <uapi/asm/unistd.h>
17 17#include <asm/unistd-nr.h>
18/*
19 * This may need to be greater than __NR_last_syscall+1 in order to
20 * account for the padding in the syscall table
21 */
22#define __NR_syscalls (400)
23 18
24#define __ARCH_WANT_STAT64 19#define __ARCH_WANT_STAT64
25#define __ARCH_WANT_SYS_GETHOSTNAME 20#define __ARCH_WANT_SYS_GETHOSTNAME
@@ -52,4 +47,23 @@
52#define __IGNORE_fadvise64_64 47#define __IGNORE_fadvise64_64
53#define __IGNORE_migrate_pages 48#define __IGNORE_migrate_pages
54 49
50#ifdef __ARM_EABI__
51/*
52 * The following syscalls are obsolete and no longer available for EABI:
53 * __NR_time
54 * __NR_umount
55 * __NR_stime
56 * __NR_alarm
57 * __NR_utime
58 * __NR_getrlimit
59 * __NR_select
60 * __NR_readdir
61 * __NR_mmap
62 * __NR_socketcall
63 * __NR_syscall
64 * __NR_ipc
65 */
66#define __IGNORE_getrlimit
67#endif
68
55#endif /* __ASM_ARM_UNISTD_H */ 69#endif /* __ASM_ARM_UNISTD_H */
diff --git a/arch/arm/include/uapi/asm/Kbuild b/arch/arm/include/uapi/asm/Kbuild
index a1c05f93d920..46a76cd6acb6 100644
--- a/arch/arm/include/uapi/asm/Kbuild
+++ b/arch/arm/include/uapi/asm/Kbuild
@@ -18,3 +18,6 @@ header-y += stat.h
18header-y += statfs.h 18header-y += statfs.h
19header-y += swab.h 19header-y += swab.h
20header-y += unistd.h 20header-y += unistd.h
21genhdr-y += unistd-common.h
22genhdr-y += unistd-oabi.h
23genhdr-y += unistd-eabi.h
diff --git a/arch/arm/include/uapi/asm/unistd.h b/arch/arm/include/uapi/asm/unistd.h
index 314100a06ccb..28bd456494a3 100644
--- a/arch/arm/include/uapi/asm/unistd.h
+++ b/arch/arm/include/uapi/asm/unistd.h
@@ -17,412 +17,14 @@
17 17
18#if defined(__thumb__) || defined(__ARM_EABI__) 18#if defined(__thumb__) || defined(__ARM_EABI__)
19#define __NR_SYSCALL_BASE 0 19#define __NR_SYSCALL_BASE 0
20#include <asm/unistd-eabi.h>
20#else 21#else
21#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE 22#define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE
23#include <asm/unistd-oabi.h>
22#endif 24#endif
23 25
24/* 26#include <asm/unistd-common.h>
25 * This file contains the system call numbers.
26 */
27
28#define __NR_restart_syscall (__NR_SYSCALL_BASE+ 0)
29#define __NR_exit (__NR_SYSCALL_BASE+ 1)
30#define __NR_fork (__NR_SYSCALL_BASE+ 2)
31#define __NR_read (__NR_SYSCALL_BASE+ 3)
32#define __NR_write (__NR_SYSCALL_BASE+ 4)
33#define __NR_open (__NR_SYSCALL_BASE+ 5)
34#define __NR_close (__NR_SYSCALL_BASE+ 6)
35 /* 7 was sys_waitpid */
36#define __NR_creat (__NR_SYSCALL_BASE+ 8)
37#define __NR_link (__NR_SYSCALL_BASE+ 9)
38#define __NR_unlink (__NR_SYSCALL_BASE+ 10)
39#define __NR_execve (__NR_SYSCALL_BASE+ 11)
40#define __NR_chdir (__NR_SYSCALL_BASE+ 12)
41#define __NR_time (__NR_SYSCALL_BASE+ 13)
42#define __NR_mknod (__NR_SYSCALL_BASE+ 14)
43#define __NR_chmod (__NR_SYSCALL_BASE+ 15)
44#define __NR_lchown (__NR_SYSCALL_BASE+ 16)
45 /* 17 was sys_break */
46 /* 18 was sys_stat */
47#define __NR_lseek (__NR_SYSCALL_BASE+ 19)
48#define __NR_getpid (__NR_SYSCALL_BASE+ 20)
49#define __NR_mount (__NR_SYSCALL_BASE+ 21)
50#define __NR_umount (__NR_SYSCALL_BASE+ 22)
51#define __NR_setuid (__NR_SYSCALL_BASE+ 23)
52#define __NR_getuid (__NR_SYSCALL_BASE+ 24)
53#define __NR_stime (__NR_SYSCALL_BASE+ 25)
54#define __NR_ptrace (__NR_SYSCALL_BASE+ 26)
55#define __NR_alarm (__NR_SYSCALL_BASE+ 27)
56 /* 28 was sys_fstat */
57#define __NR_pause (__NR_SYSCALL_BASE+ 29)
58#define __NR_utime (__NR_SYSCALL_BASE+ 30)
59 /* 31 was sys_stty */
60 /* 32 was sys_gtty */
61#define __NR_access (__NR_SYSCALL_BASE+ 33)
62#define __NR_nice (__NR_SYSCALL_BASE+ 34)
63 /* 35 was sys_ftime */
64#define __NR_sync (__NR_SYSCALL_BASE+ 36)
65#define __NR_kill (__NR_SYSCALL_BASE+ 37)
66#define __NR_rename (__NR_SYSCALL_BASE+ 38)
67#define __NR_mkdir (__NR_SYSCALL_BASE+ 39)
68#define __NR_rmdir (__NR_SYSCALL_BASE+ 40)
69#define __NR_dup (__NR_SYSCALL_BASE+ 41)
70#define __NR_pipe (__NR_SYSCALL_BASE+ 42)
71#define __NR_times (__NR_SYSCALL_BASE+ 43)
72 /* 44 was sys_prof */
73#define __NR_brk (__NR_SYSCALL_BASE+ 45)
74#define __NR_setgid (__NR_SYSCALL_BASE+ 46)
75#define __NR_getgid (__NR_SYSCALL_BASE+ 47)
76 /* 48 was sys_signal */
77#define __NR_geteuid (__NR_SYSCALL_BASE+ 49)
78#define __NR_getegid (__NR_SYSCALL_BASE+ 50)
79#define __NR_acct (__NR_SYSCALL_BASE+ 51)
80#define __NR_umount2 (__NR_SYSCALL_BASE+ 52)
81 /* 53 was sys_lock */
82#define __NR_ioctl (__NR_SYSCALL_BASE+ 54)
83#define __NR_fcntl (__NR_SYSCALL_BASE+ 55)
84 /* 56 was sys_mpx */
85#define __NR_setpgid (__NR_SYSCALL_BASE+ 57)
86 /* 58 was sys_ulimit */
87 /* 59 was sys_olduname */
88#define __NR_umask (__NR_SYSCALL_BASE+ 60)
89#define __NR_chroot (__NR_SYSCALL_BASE+ 61)
90#define __NR_ustat (__NR_SYSCALL_BASE+ 62)
91#define __NR_dup2 (__NR_SYSCALL_BASE+ 63)
92#define __NR_getppid (__NR_SYSCALL_BASE+ 64)
93#define __NR_getpgrp (__NR_SYSCALL_BASE+ 65)
94#define __NR_setsid (__NR_SYSCALL_BASE+ 66)
95#define __NR_sigaction (__NR_SYSCALL_BASE+ 67)
96 /* 68 was sys_sgetmask */
97 /* 69 was sys_ssetmask */
98#define __NR_setreuid (__NR_SYSCALL_BASE+ 70)
99#define __NR_setregid (__NR_SYSCALL_BASE+ 71)
100#define __NR_sigsuspend (__NR_SYSCALL_BASE+ 72)
101#define __NR_sigpending (__NR_SYSCALL_BASE+ 73)
102#define __NR_sethostname (__NR_SYSCALL_BASE+ 74)
103#define __NR_setrlimit (__NR_SYSCALL_BASE+ 75)
104#define __NR_getrlimit (__NR_SYSCALL_BASE+ 76) /* Back compat 2GB limited rlimit */
105#define __NR_getrusage (__NR_SYSCALL_BASE+ 77)
106#define __NR_gettimeofday (__NR_SYSCALL_BASE+ 78)
107#define __NR_settimeofday (__NR_SYSCALL_BASE+ 79)
108#define __NR_getgroups (__NR_SYSCALL_BASE+ 80)
109#define __NR_setgroups (__NR_SYSCALL_BASE+ 81)
110#define __NR_select (__NR_SYSCALL_BASE+ 82)
111#define __NR_symlink (__NR_SYSCALL_BASE+ 83)
112 /* 84 was sys_lstat */
113#define __NR_readlink (__NR_SYSCALL_BASE+ 85)
114#define __NR_uselib (__NR_SYSCALL_BASE+ 86)
115#define __NR_swapon (__NR_SYSCALL_BASE+ 87)
116#define __NR_reboot (__NR_SYSCALL_BASE+ 88)
117#define __NR_readdir (__NR_SYSCALL_BASE+ 89)
118#define __NR_mmap (__NR_SYSCALL_BASE+ 90)
119#define __NR_munmap (__NR_SYSCALL_BASE+ 91)
120#define __NR_truncate (__NR_SYSCALL_BASE+ 92)
121#define __NR_ftruncate (__NR_SYSCALL_BASE+ 93)
122#define __NR_fchmod (__NR_SYSCALL_BASE+ 94)
123#define __NR_fchown (__NR_SYSCALL_BASE+ 95)
124#define __NR_getpriority (__NR_SYSCALL_BASE+ 96)
125#define __NR_setpriority (__NR_SYSCALL_BASE+ 97)
126 /* 98 was sys_profil */
127#define __NR_statfs (__NR_SYSCALL_BASE+ 99)
128#define __NR_fstatfs (__NR_SYSCALL_BASE+100)
129 /* 101 was sys_ioperm */
130#define __NR_socketcall (__NR_SYSCALL_BASE+102)
131#define __NR_syslog (__NR_SYSCALL_BASE+103)
132#define __NR_setitimer (__NR_SYSCALL_BASE+104)
133#define __NR_getitimer (__NR_SYSCALL_BASE+105)
134#define __NR_stat (__NR_SYSCALL_BASE+106)
135#define __NR_lstat (__NR_SYSCALL_BASE+107)
136#define __NR_fstat (__NR_SYSCALL_BASE+108)
137 /* 109 was sys_uname */
138 /* 110 was sys_iopl */
139#define __NR_vhangup (__NR_SYSCALL_BASE+111)
140 /* 112 was sys_idle */
141#define __NR_syscall (__NR_SYSCALL_BASE+113) /* syscall to call a syscall! */
142#define __NR_wait4 (__NR_SYSCALL_BASE+114)
143#define __NR_swapoff (__NR_SYSCALL_BASE+115)
144#define __NR_sysinfo (__NR_SYSCALL_BASE+116)
145#define __NR_ipc (__NR_SYSCALL_BASE+117)
146#define __NR_fsync (__NR_SYSCALL_BASE+118)
147#define __NR_sigreturn (__NR_SYSCALL_BASE+119)
148#define __NR_clone (__NR_SYSCALL_BASE+120)
149#define __NR_setdomainname (__NR_SYSCALL_BASE+121)
150#define __NR_uname (__NR_SYSCALL_BASE+122)
151 /* 123 was sys_modify_ldt */
152#define __NR_adjtimex (__NR_SYSCALL_BASE+124)
153#define __NR_mprotect (__NR_SYSCALL_BASE+125)
154#define __NR_sigprocmask (__NR_SYSCALL_BASE+126)
155 /* 127 was sys_create_module */
156#define __NR_init_module (__NR_SYSCALL_BASE+128)
157#define __NR_delete_module (__NR_SYSCALL_BASE+129)
158 /* 130 was sys_get_kernel_syms */
159#define __NR_quotactl (__NR_SYSCALL_BASE+131)
160#define __NR_getpgid (__NR_SYSCALL_BASE+132)
161#define __NR_fchdir (__NR_SYSCALL_BASE+133)
162#define __NR_bdflush (__NR_SYSCALL_BASE+134)
163#define __NR_sysfs (__NR_SYSCALL_BASE+135)
164#define __NR_personality (__NR_SYSCALL_BASE+136)
165 /* 137 was sys_afs_syscall */
166#define __NR_setfsuid (__NR_SYSCALL_BASE+138)
167#define __NR_setfsgid (__NR_SYSCALL_BASE+139)
168#define __NR__llseek (__NR_SYSCALL_BASE+140)
169#define __NR_getdents (__NR_SYSCALL_BASE+141)
170#define __NR__newselect (__NR_SYSCALL_BASE+142)
171#define __NR_flock (__NR_SYSCALL_BASE+143)
172#define __NR_msync (__NR_SYSCALL_BASE+144)
173#define __NR_readv (__NR_SYSCALL_BASE+145)
174#define __NR_writev (__NR_SYSCALL_BASE+146)
175#define __NR_getsid (__NR_SYSCALL_BASE+147)
176#define __NR_fdatasync (__NR_SYSCALL_BASE+148)
177#define __NR__sysctl (__NR_SYSCALL_BASE+149)
178#define __NR_mlock (__NR_SYSCALL_BASE+150)
179#define __NR_munlock (__NR_SYSCALL_BASE+151)
180#define __NR_mlockall (__NR_SYSCALL_BASE+152)
181#define __NR_munlockall (__NR_SYSCALL_BASE+153)
182#define __NR_sched_setparam (__NR_SYSCALL_BASE+154)
183#define __NR_sched_getparam (__NR_SYSCALL_BASE+155)
184#define __NR_sched_setscheduler (__NR_SYSCALL_BASE+156)
185#define __NR_sched_getscheduler (__NR_SYSCALL_BASE+157)
186#define __NR_sched_yield (__NR_SYSCALL_BASE+158)
187#define __NR_sched_get_priority_max (__NR_SYSCALL_BASE+159)
188#define __NR_sched_get_priority_min (__NR_SYSCALL_BASE+160)
189#define __NR_sched_rr_get_interval (__NR_SYSCALL_BASE+161)
190#define __NR_nanosleep (__NR_SYSCALL_BASE+162)
191#define __NR_mremap (__NR_SYSCALL_BASE+163)
192#define __NR_setresuid (__NR_SYSCALL_BASE+164)
193#define __NR_getresuid (__NR_SYSCALL_BASE+165)
194 /* 166 was sys_vm86 */
195 /* 167 was sys_query_module */
196#define __NR_poll (__NR_SYSCALL_BASE+168)
197#define __NR_nfsservctl (__NR_SYSCALL_BASE+169)
198#define __NR_setresgid (__NR_SYSCALL_BASE+170)
199#define __NR_getresgid (__NR_SYSCALL_BASE+171)
200#define __NR_prctl (__NR_SYSCALL_BASE+172)
201#define __NR_rt_sigreturn (__NR_SYSCALL_BASE+173)
202#define __NR_rt_sigaction (__NR_SYSCALL_BASE+174)
203#define __NR_rt_sigprocmask (__NR_SYSCALL_BASE+175)
204#define __NR_rt_sigpending (__NR_SYSCALL_BASE+176)
205#define __NR_rt_sigtimedwait (__NR_SYSCALL_BASE+177)
206#define __NR_rt_sigqueueinfo (__NR_SYSCALL_BASE+178)
207#define __NR_rt_sigsuspend (__NR_SYSCALL_BASE+179)
208#define __NR_pread64 (__NR_SYSCALL_BASE+180)
209#define __NR_pwrite64 (__NR_SYSCALL_BASE+181)
210#define __NR_chown (__NR_SYSCALL_BASE+182)
211#define __NR_getcwd (__NR_SYSCALL_BASE+183)
212#define __NR_capget (__NR_SYSCALL_BASE+184)
213#define __NR_capset (__NR_SYSCALL_BASE+185)
214#define __NR_sigaltstack (__NR_SYSCALL_BASE+186)
215#define __NR_sendfile (__NR_SYSCALL_BASE+187)
216 /* 188 reserved */
217 /* 189 reserved */
218#define __NR_vfork (__NR_SYSCALL_BASE+190)
219#define __NR_ugetrlimit (__NR_SYSCALL_BASE+191) /* SuS compliant getrlimit */
220#define __NR_mmap2 (__NR_SYSCALL_BASE+192)
221#define __NR_truncate64 (__NR_SYSCALL_BASE+193)
222#define __NR_ftruncate64 (__NR_SYSCALL_BASE+194)
223#define __NR_stat64 (__NR_SYSCALL_BASE+195)
224#define __NR_lstat64 (__NR_SYSCALL_BASE+196)
225#define __NR_fstat64 (__NR_SYSCALL_BASE+197)
226#define __NR_lchown32 (__NR_SYSCALL_BASE+198)
227#define __NR_getuid32 (__NR_SYSCALL_BASE+199)
228#define __NR_getgid32 (__NR_SYSCALL_BASE+200)
229#define __NR_geteuid32 (__NR_SYSCALL_BASE+201)
230#define __NR_getegid32 (__NR_SYSCALL_BASE+202)
231#define __NR_setreuid32 (__NR_SYSCALL_BASE+203)
232#define __NR_setregid32 (__NR_SYSCALL_BASE+204)
233#define __NR_getgroups32 (__NR_SYSCALL_BASE+205)
234#define __NR_setgroups32 (__NR_SYSCALL_BASE+206)
235#define __NR_fchown32 (__NR_SYSCALL_BASE+207)
236#define __NR_setresuid32 (__NR_SYSCALL_BASE+208)
237#define __NR_getresuid32 (__NR_SYSCALL_BASE+209)
238#define __NR_setresgid32 (__NR_SYSCALL_BASE+210)
239#define __NR_getresgid32 (__NR_SYSCALL_BASE+211)
240#define __NR_chown32 (__NR_SYSCALL_BASE+212)
241#define __NR_setuid32 (__NR_SYSCALL_BASE+213)
242#define __NR_setgid32 (__NR_SYSCALL_BASE+214)
243#define __NR_setfsuid32 (__NR_SYSCALL_BASE+215)
244#define __NR_setfsgid32 (__NR_SYSCALL_BASE+216)
245#define __NR_getdents64 (__NR_SYSCALL_BASE+217)
246#define __NR_pivot_root (__NR_SYSCALL_BASE+218)
247#define __NR_mincore (__NR_SYSCALL_BASE+219)
248#define __NR_madvise (__NR_SYSCALL_BASE+220)
249#define __NR_fcntl64 (__NR_SYSCALL_BASE+221)
250 /* 222 for tux */
251 /* 223 is unused */
252#define __NR_gettid (__NR_SYSCALL_BASE+224)
253#define __NR_readahead (__NR_SYSCALL_BASE+225)
254#define __NR_setxattr (__NR_SYSCALL_BASE+226)
255#define __NR_lsetxattr (__NR_SYSCALL_BASE+227)
256#define __NR_fsetxattr (__NR_SYSCALL_BASE+228)
257#define __NR_getxattr (__NR_SYSCALL_BASE+229)
258#define __NR_lgetxattr (__NR_SYSCALL_BASE+230)
259#define __NR_fgetxattr (__NR_SYSCALL_BASE+231)
260#define __NR_listxattr (__NR_SYSCALL_BASE+232)
261#define __NR_llistxattr (__NR_SYSCALL_BASE+233)
262#define __NR_flistxattr (__NR_SYSCALL_BASE+234)
263#define __NR_removexattr (__NR_SYSCALL_BASE+235)
264#define __NR_lremovexattr (__NR_SYSCALL_BASE+236)
265#define __NR_fremovexattr (__NR_SYSCALL_BASE+237)
266#define __NR_tkill (__NR_SYSCALL_BASE+238)
267#define __NR_sendfile64 (__NR_SYSCALL_BASE+239)
268#define __NR_futex (__NR_SYSCALL_BASE+240)
269#define __NR_sched_setaffinity (__NR_SYSCALL_BASE+241)
270#define __NR_sched_getaffinity (__NR_SYSCALL_BASE+242)
271#define __NR_io_setup (__NR_SYSCALL_BASE+243)
272#define __NR_io_destroy (__NR_SYSCALL_BASE+244)
273#define __NR_io_getevents (__NR_SYSCALL_BASE+245)
274#define __NR_io_submit (__NR_SYSCALL_BASE+246)
275#define __NR_io_cancel (__NR_SYSCALL_BASE+247)
276#define __NR_exit_group (__NR_SYSCALL_BASE+248)
277#define __NR_lookup_dcookie (__NR_SYSCALL_BASE+249)
278#define __NR_epoll_create (__NR_SYSCALL_BASE+250)
279#define __NR_epoll_ctl (__NR_SYSCALL_BASE+251)
280#define __NR_epoll_wait (__NR_SYSCALL_BASE+252)
281#define __NR_remap_file_pages (__NR_SYSCALL_BASE+253)
282 /* 254 for set_thread_area */
283 /* 255 for get_thread_area */
284#define __NR_set_tid_address (__NR_SYSCALL_BASE+256)
285#define __NR_timer_create (__NR_SYSCALL_BASE+257)
286#define __NR_timer_settime (__NR_SYSCALL_BASE+258)
287#define __NR_timer_gettime (__NR_SYSCALL_BASE+259)
288#define __NR_timer_getoverrun (__NR_SYSCALL_BASE+260)
289#define __NR_timer_delete (__NR_SYSCALL_BASE+261)
290#define __NR_clock_settime (__NR_SYSCALL_BASE+262)
291#define __NR_clock_gettime (__NR_SYSCALL_BASE+263)
292#define __NR_clock_getres (__NR_SYSCALL_BASE+264)
293#define __NR_clock_nanosleep (__NR_SYSCALL_BASE+265)
294#define __NR_statfs64 (__NR_SYSCALL_BASE+266)
295#define __NR_fstatfs64 (__NR_SYSCALL_BASE+267)
296#define __NR_tgkill (__NR_SYSCALL_BASE+268)
297#define __NR_utimes (__NR_SYSCALL_BASE+269)
298#define __NR_arm_fadvise64_64 (__NR_SYSCALL_BASE+270)
299#define __NR_pciconfig_iobase (__NR_SYSCALL_BASE+271)
300#define __NR_pciconfig_read (__NR_SYSCALL_BASE+272)
301#define __NR_pciconfig_write (__NR_SYSCALL_BASE+273)
302#define __NR_mq_open (__NR_SYSCALL_BASE+274)
303#define __NR_mq_unlink (__NR_SYSCALL_BASE+275)
304#define __NR_mq_timedsend (__NR_SYSCALL_BASE+276)
305#define __NR_mq_timedreceive (__NR_SYSCALL_BASE+277)
306#define __NR_mq_notify (__NR_SYSCALL_BASE+278)
307#define __NR_mq_getsetattr (__NR_SYSCALL_BASE+279)
308#define __NR_waitid (__NR_SYSCALL_BASE+280)
309#define __NR_socket (__NR_SYSCALL_BASE+281)
310#define __NR_bind (__NR_SYSCALL_BASE+282)
311#define __NR_connect (__NR_SYSCALL_BASE+283)
312#define __NR_listen (__NR_SYSCALL_BASE+284)
313#define __NR_accept (__NR_SYSCALL_BASE+285)
314#define __NR_getsockname (__NR_SYSCALL_BASE+286)
315#define __NR_getpeername (__NR_SYSCALL_BASE+287)
316#define __NR_socketpair (__NR_SYSCALL_BASE+288)
317#define __NR_send (__NR_SYSCALL_BASE+289)
318#define __NR_sendto (__NR_SYSCALL_BASE+290)
319#define __NR_recv (__NR_SYSCALL_BASE+291)
320#define __NR_recvfrom (__NR_SYSCALL_BASE+292)
321#define __NR_shutdown (__NR_SYSCALL_BASE+293)
322#define __NR_setsockopt (__NR_SYSCALL_BASE+294)
323#define __NR_getsockopt (__NR_SYSCALL_BASE+295)
324#define __NR_sendmsg (__NR_SYSCALL_BASE+296)
325#define __NR_recvmsg (__NR_SYSCALL_BASE+297)
326#define __NR_semop (__NR_SYSCALL_BASE+298)
327#define __NR_semget (__NR_SYSCALL_BASE+299)
328#define __NR_semctl (__NR_SYSCALL_BASE+300)
329#define __NR_msgsnd (__NR_SYSCALL_BASE+301)
330#define __NR_msgrcv (__NR_SYSCALL_BASE+302)
331#define __NR_msgget (__NR_SYSCALL_BASE+303)
332#define __NR_msgctl (__NR_SYSCALL_BASE+304)
333#define __NR_shmat (__NR_SYSCALL_BASE+305)
334#define __NR_shmdt (__NR_SYSCALL_BASE+306)
335#define __NR_shmget (__NR_SYSCALL_BASE+307)
336#define __NR_shmctl (__NR_SYSCALL_BASE+308)
337#define __NR_add_key (__NR_SYSCALL_BASE+309)
338#define __NR_request_key (__NR_SYSCALL_BASE+310)
339#define __NR_keyctl (__NR_SYSCALL_BASE+311)
340#define __NR_semtimedop (__NR_SYSCALL_BASE+312)
341#define __NR_vserver (__NR_SYSCALL_BASE+313)
342#define __NR_ioprio_set (__NR_SYSCALL_BASE+314)
343#define __NR_ioprio_get (__NR_SYSCALL_BASE+315)
344#define __NR_inotify_init (__NR_SYSCALL_BASE+316)
345#define __NR_inotify_add_watch (__NR_SYSCALL_BASE+317)
346#define __NR_inotify_rm_watch (__NR_SYSCALL_BASE+318)
347#define __NR_mbind (__NR_SYSCALL_BASE+319)
348#define __NR_get_mempolicy (__NR_SYSCALL_BASE+320)
349#define __NR_set_mempolicy (__NR_SYSCALL_BASE+321)
350#define __NR_openat (__NR_SYSCALL_BASE+322)
351#define __NR_mkdirat (__NR_SYSCALL_BASE+323)
352#define __NR_mknodat (__NR_SYSCALL_BASE+324)
353#define __NR_fchownat (__NR_SYSCALL_BASE+325)
354#define __NR_futimesat (__NR_SYSCALL_BASE+326)
355#define __NR_fstatat64 (__NR_SYSCALL_BASE+327)
356#define __NR_unlinkat (__NR_SYSCALL_BASE+328)
357#define __NR_renameat (__NR_SYSCALL_BASE+329)
358#define __NR_linkat (__NR_SYSCALL_BASE+330)
359#define __NR_symlinkat (__NR_SYSCALL_BASE+331)
360#define __NR_readlinkat (__NR_SYSCALL_BASE+332)
361#define __NR_fchmodat (__NR_SYSCALL_BASE+333)
362#define __NR_faccessat (__NR_SYSCALL_BASE+334)
363#define __NR_pselect6 (__NR_SYSCALL_BASE+335)
364#define __NR_ppoll (__NR_SYSCALL_BASE+336)
365#define __NR_unshare (__NR_SYSCALL_BASE+337)
366#define __NR_set_robust_list (__NR_SYSCALL_BASE+338)
367#define __NR_get_robust_list (__NR_SYSCALL_BASE+339)
368#define __NR_splice (__NR_SYSCALL_BASE+340)
369#define __NR_arm_sync_file_range (__NR_SYSCALL_BASE+341)
370#define __NR_sync_file_range2 __NR_arm_sync_file_range 27#define __NR_sync_file_range2 __NR_arm_sync_file_range
371#define __NR_tee (__NR_SYSCALL_BASE+342)
372#define __NR_vmsplice (__NR_SYSCALL_BASE+343)
373#define __NR_move_pages (__NR_SYSCALL_BASE+344)
374#define __NR_getcpu (__NR_SYSCALL_BASE+345)
375#define __NR_epoll_pwait (__NR_SYSCALL_BASE+346)
376#define __NR_kexec_load (__NR_SYSCALL_BASE+347)
377#define __NR_utimensat (__NR_SYSCALL_BASE+348)
378#define __NR_signalfd (__NR_SYSCALL_BASE+349)
379#define __NR_timerfd_create (__NR_SYSCALL_BASE+350)
380#define __NR_eventfd (__NR_SYSCALL_BASE+351)
381#define __NR_fallocate (__NR_SYSCALL_BASE+352)
382#define __NR_timerfd_settime (__NR_SYSCALL_BASE+353)
383#define __NR_timerfd_gettime (__NR_SYSCALL_BASE+354)
384#define __NR_signalfd4 (__NR_SYSCALL_BASE+355)
385#define __NR_eventfd2 (__NR_SYSCALL_BASE+356)
386#define __NR_epoll_create1 (__NR_SYSCALL_BASE+357)
387#define __NR_dup3 (__NR_SYSCALL_BASE+358)
388#define __NR_pipe2 (__NR_SYSCALL_BASE+359)
389#define __NR_inotify_init1 (__NR_SYSCALL_BASE+360)
390#define __NR_preadv (__NR_SYSCALL_BASE+361)
391#define __NR_pwritev (__NR_SYSCALL_BASE+362)
392#define __NR_rt_tgsigqueueinfo (__NR_SYSCALL_BASE+363)
393#define __NR_perf_event_open (__NR_SYSCALL_BASE+364)
394#define __NR_recvmmsg (__NR_SYSCALL_BASE+365)
395#define __NR_accept4 (__NR_SYSCALL_BASE+366)
396#define __NR_fanotify_init (__NR_SYSCALL_BASE+367)
397#define __NR_fanotify_mark (__NR_SYSCALL_BASE+368)
398#define __NR_prlimit64 (__NR_SYSCALL_BASE+369)
399#define __NR_name_to_handle_at (__NR_SYSCALL_BASE+370)
400#define __NR_open_by_handle_at (__NR_SYSCALL_BASE+371)
401#define __NR_clock_adjtime (__NR_SYSCALL_BASE+372)
402#define __NR_syncfs (__NR_SYSCALL_BASE+373)
403#define __NR_sendmmsg (__NR_SYSCALL_BASE+374)
404#define __NR_setns (__NR_SYSCALL_BASE+375)
405#define __NR_process_vm_readv (__NR_SYSCALL_BASE+376)
406#define __NR_process_vm_writev (__NR_SYSCALL_BASE+377)
407#define __NR_kcmp (__NR_SYSCALL_BASE+378)
408#define __NR_finit_module (__NR_SYSCALL_BASE+379)
409#define __NR_sched_setattr (__NR_SYSCALL_BASE+380)
410#define __NR_sched_getattr (__NR_SYSCALL_BASE+381)
411#define __NR_renameat2 (__NR_SYSCALL_BASE+382)
412#define __NR_seccomp (__NR_SYSCALL_BASE+383)
413#define __NR_getrandom (__NR_SYSCALL_BASE+384)
414#define __NR_memfd_create (__NR_SYSCALL_BASE+385)
415#define __NR_bpf (__NR_SYSCALL_BASE+386)
416#define __NR_execveat (__NR_SYSCALL_BASE+387)
417#define __NR_userfaultfd (__NR_SYSCALL_BASE+388)
418#define __NR_membarrier (__NR_SYSCALL_BASE+389)
419#define __NR_mlock2 (__NR_SYSCALL_BASE+390)
420#define __NR_copy_file_range (__NR_SYSCALL_BASE+391)
421#define __NR_preadv2 (__NR_SYSCALL_BASE+392)
422#define __NR_pwritev2 (__NR_SYSCALL_BASE+393)
423#define __NR_pkey_mprotect (__NR_SYSCALL_BASE+394)
424#define __NR_pkey_alloc (__NR_SYSCALL_BASE+395)
425#define __NR_pkey_free (__NR_SYSCALL_BASE+396)
426 28
427/* 29/*
428 * The following SWIs are ARM private. 30 * The following SWIs are ARM private.
@@ -434,24 +36,4 @@
434#define __ARM_NR_usr32 (__ARM_NR_BASE+4) 36#define __ARM_NR_usr32 (__ARM_NR_BASE+4)
435#define __ARM_NR_set_tls (__ARM_NR_BASE+5) 37#define __ARM_NR_set_tls (__ARM_NR_BASE+5)
436 38
437/*
438 * The following syscalls are obsolete and no longer available for EABI.
439 */
440#if !defined(__KERNEL__)
441#if defined(__ARM_EABI__)
442#undef __NR_time
443#undef __NR_umount
444#undef __NR_stime
445#undef __NR_alarm
446#undef __NR_utime
447#undef __NR_getrlimit
448#undef __NR_select
449#undef __NR_readdir
450#undef __NR_mmap
451#undef __NR_socketcall
452#undef __NR_syscall
453#undef __NR_ipc
454#endif
455#endif
456
457#endif /* _UAPI__ASM_ARM_UNISTD_H */ 39#endif /* _UAPI__ASM_ARM_UNISTD_H */
diff --git a/arch/arm/kernel/calls.S b/arch/arm/kernel/calls.S
deleted file mode 100644
index 08030b18f10a..000000000000
--- a/arch/arm/kernel/calls.S
+++ /dev/null
@@ -1,415 +0,0 @@
1/*
2 * linux/arch/arm/kernel/calls.S
3 *
4 * Copyright (C) 1995-2005 Russell King
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License version 2 as
8 * published by the Free Software Foundation.
9 *
10 * This file is included thrice in entry-common.S
11 */
12/* 0 */ CALL(sys_restart_syscall)
13 CALL(sys_exit)
14 CALL(sys_fork)
15 CALL(sys_read)
16 CALL(sys_write)
17/* 5 */ CALL(sys_open)
18 CALL(sys_close)
19 CALL(sys_ni_syscall) /* was sys_waitpid */
20 CALL(sys_creat)
21 CALL(sys_link)
22/* 10 */ CALL(sys_unlink)
23 CALL(sys_execve)
24 CALL(sys_chdir)
25 CALL(OBSOLETE(sys_time)) /* used by libc4 */
26 CALL(sys_mknod)
27/* 15 */ CALL(sys_chmod)
28 CALL(sys_lchown16)
29 CALL(sys_ni_syscall) /* was sys_break */
30 CALL(sys_ni_syscall) /* was sys_stat */
31 CALL(sys_lseek)
32/* 20 */ CALL(sys_getpid)
33 CALL(sys_mount)
34 CALL(OBSOLETE(sys_oldumount)) /* used by libc4 */
35 CALL(sys_setuid16)
36 CALL(sys_getuid16)
37/* 25 */ CALL(OBSOLETE(sys_stime))
38 CALL(sys_ptrace)
39 CALL(OBSOLETE(sys_alarm)) /* used by libc4 */
40 CALL(sys_ni_syscall) /* was sys_fstat */
41 CALL(sys_pause)
42/* 30 */ CALL(OBSOLETE(sys_utime)) /* used by libc4 */
43 CALL(sys_ni_syscall) /* was sys_stty */
44 CALL(sys_ni_syscall) /* was sys_getty */
45 CALL(sys_access)
46 CALL(sys_nice)
47/* 35 */ CALL(sys_ni_syscall) /* was sys_ftime */
48 CALL(sys_sync)
49 CALL(sys_kill)
50 CALL(sys_rename)
51 CALL(sys_mkdir)
52/* 40 */ CALL(sys_rmdir)
53 CALL(sys_dup)
54 CALL(sys_pipe)
55 CALL(sys_times)
56 CALL(sys_ni_syscall) /* was sys_prof */
57/* 45 */ CALL(sys_brk)
58 CALL(sys_setgid16)
59 CALL(sys_getgid16)
60 CALL(sys_ni_syscall) /* was sys_signal */
61 CALL(sys_geteuid16)
62/* 50 */ CALL(sys_getegid16)
63 CALL(sys_acct)
64 CALL(sys_umount)
65 CALL(sys_ni_syscall) /* was sys_lock */
66 CALL(sys_ioctl)
67/* 55 */ CALL(sys_fcntl)
68 CALL(sys_ni_syscall) /* was sys_mpx */
69 CALL(sys_setpgid)
70 CALL(sys_ni_syscall) /* was sys_ulimit */
71 CALL(sys_ni_syscall) /* was sys_olduname */
72/* 60 */ CALL(sys_umask)
73 CALL(sys_chroot)
74 CALL(sys_ustat)
75 CALL(sys_dup2)
76 CALL(sys_getppid)
77/* 65 */ CALL(sys_getpgrp)
78 CALL(sys_setsid)
79 CALL(sys_sigaction)
80 CALL(sys_ni_syscall) /* was sys_sgetmask */
81 CALL(sys_ni_syscall) /* was sys_ssetmask */
82/* 70 */ CALL(sys_setreuid16)
83 CALL(sys_setregid16)
84 CALL(sys_sigsuspend)
85 CALL(sys_sigpending)
86 CALL(sys_sethostname)
87/* 75 */ CALL(sys_setrlimit)
88 CALL(OBSOLETE(sys_old_getrlimit)) /* used by libc4 */
89 CALL(sys_getrusage)
90 CALL(sys_gettimeofday)
91 CALL(sys_settimeofday)
92/* 80 */ CALL(sys_getgroups16)
93 CALL(sys_setgroups16)
94 CALL(OBSOLETE(sys_old_select)) /* used by libc4 */
95 CALL(sys_symlink)
96 CALL(sys_ni_syscall) /* was sys_lstat */
97/* 85 */ CALL(sys_readlink)
98 CALL(sys_uselib)
99 CALL(sys_swapon)
100 CALL(sys_reboot)
101 CALL(OBSOLETE(sys_old_readdir)) /* used by libc4 */
102/* 90 */ CALL(OBSOLETE(sys_old_mmap)) /* used by libc4 */
103 CALL(sys_munmap)
104 CALL(sys_truncate)
105 CALL(sys_ftruncate)
106 CALL(sys_fchmod)
107/* 95 */ CALL(sys_fchown16)
108 CALL(sys_getpriority)
109 CALL(sys_setpriority)
110 CALL(sys_ni_syscall) /* was sys_profil */
111 CALL(sys_statfs)
112/* 100 */ CALL(sys_fstatfs)
113 CALL(sys_ni_syscall) /* sys_ioperm */
114 CALL(OBSOLETE(ABI(sys_socketcall, sys_oabi_socketcall)))
115 CALL(sys_syslog)
116 CALL(sys_setitimer)
117/* 105 */ CALL(sys_getitimer)
118 CALL(sys_newstat)
119 CALL(sys_newlstat)
120 CALL(sys_newfstat)
121 CALL(sys_ni_syscall) /* was sys_uname */
122/* 110 */ CALL(sys_ni_syscall) /* was sys_iopl */
123 CALL(sys_vhangup)
124 CALL(sys_ni_syscall)
125 CALL(OBSOLETE(sys_syscall)) /* call a syscall */
126 CALL(sys_wait4)
127/* 115 */ CALL(sys_swapoff)
128 CALL(sys_sysinfo)
129 CALL(OBSOLETE(ABI(sys_ipc, sys_oabi_ipc)))
130 CALL(sys_fsync)
131 CALL(sys_sigreturn_wrapper)
132/* 120 */ CALL(sys_clone)
133 CALL(sys_setdomainname)
134 CALL(sys_newuname)
135 CALL(sys_ni_syscall) /* modify_ldt */
136 CALL(sys_adjtimex)
137/* 125 */ CALL(sys_mprotect)
138 CALL(sys_sigprocmask)
139 CALL(sys_ni_syscall) /* was sys_create_module */
140 CALL(sys_init_module)
141 CALL(sys_delete_module)
142/* 130 */ CALL(sys_ni_syscall) /* was sys_get_kernel_syms */
143 CALL(sys_quotactl)
144 CALL(sys_getpgid)
145 CALL(sys_fchdir)
146 CALL(sys_bdflush)
147/* 135 */ CALL(sys_sysfs)
148 CALL(sys_personality)
149 CALL(sys_ni_syscall) /* reserved for afs_syscall */
150 CALL(sys_setfsuid16)
151 CALL(sys_setfsgid16)
152/* 140 */ CALL(sys_llseek)
153 CALL(sys_getdents)
154 CALL(sys_select)
155 CALL(sys_flock)
156 CALL(sys_msync)
157/* 145 */ CALL(sys_readv)
158 CALL(sys_writev)
159 CALL(sys_getsid)
160 CALL(sys_fdatasync)
161 CALL(sys_sysctl)
162/* 150 */ CALL(sys_mlock)
163 CALL(sys_munlock)
164 CALL(sys_mlockall)
165 CALL(sys_munlockall)
166 CALL(sys_sched_setparam)
167/* 155 */ CALL(sys_sched_getparam)
168 CALL(sys_sched_setscheduler)
169 CALL(sys_sched_getscheduler)
170 CALL(sys_sched_yield)
171 CALL(sys_sched_get_priority_max)
172/* 160 */ CALL(sys_sched_get_priority_min)
173 CALL(sys_sched_rr_get_interval)
174 CALL(sys_nanosleep)
175 CALL(sys_mremap)
176 CALL(sys_setresuid16)
177/* 165 */ CALL(sys_getresuid16)
178 CALL(sys_ni_syscall) /* vm86 */
179 CALL(sys_ni_syscall) /* was sys_query_module */
180 CALL(sys_poll)
181 CALL(sys_ni_syscall) /* was nfsservctl */
182/* 170 */ CALL(sys_setresgid16)
183 CALL(sys_getresgid16)
184 CALL(sys_prctl)
185 CALL(sys_rt_sigreturn_wrapper)
186 CALL(sys_rt_sigaction)
187/* 175 */ CALL(sys_rt_sigprocmask)
188 CALL(sys_rt_sigpending)
189 CALL(sys_rt_sigtimedwait)
190 CALL(sys_rt_sigqueueinfo)
191 CALL(sys_rt_sigsuspend)
192/* 180 */ CALL(ABI(sys_pread64, sys_oabi_pread64))
193 CALL(ABI(sys_pwrite64, sys_oabi_pwrite64))
194 CALL(sys_chown16)
195 CALL(sys_getcwd)
196 CALL(sys_capget)
197/* 185 */ CALL(sys_capset)
198 CALL(sys_sigaltstack)
199 CALL(sys_sendfile)
200 CALL(sys_ni_syscall) /* getpmsg */
201 CALL(sys_ni_syscall) /* putpmsg */
202/* 190 */ CALL(sys_vfork)
203 CALL(sys_getrlimit)
204 CALL(sys_mmap2)
205 CALL(ABI(sys_truncate64, sys_oabi_truncate64))
206 CALL(ABI(sys_ftruncate64, sys_oabi_ftruncate64))
207/* 195 */ CALL(ABI(sys_stat64, sys_oabi_stat64))
208 CALL(ABI(sys_lstat64, sys_oabi_lstat64))
209 CALL(ABI(sys_fstat64, sys_oabi_fstat64))
210 CALL(sys_lchown)
211 CALL(sys_getuid)
212/* 200 */ CALL(sys_getgid)
213 CALL(sys_geteuid)
214 CALL(sys_getegid)
215 CALL(sys_setreuid)
216 CALL(sys_setregid)
217/* 205 */ CALL(sys_getgroups)
218 CALL(sys_setgroups)
219 CALL(sys_fchown)
220 CALL(sys_setresuid)
221 CALL(sys_getresuid)
222/* 210 */ CALL(sys_setresgid)
223 CALL(sys_getresgid)
224 CALL(sys_chown)
225 CALL(sys_setuid)
226 CALL(sys_setgid)
227/* 215 */ CALL(sys_setfsuid)
228 CALL(sys_setfsgid)
229 CALL(sys_getdents64)
230 CALL(sys_pivot_root)
231 CALL(sys_mincore)
232/* 220 */ CALL(sys_madvise)
233 CALL(ABI(sys_fcntl64, sys_oabi_fcntl64))
234 CALL(sys_ni_syscall) /* TUX */
235 CALL(sys_ni_syscall)
236 CALL(sys_gettid)
237/* 225 */ CALL(ABI(sys_readahead, sys_oabi_readahead))
238 CALL(sys_setxattr)
239 CALL(sys_lsetxattr)
240 CALL(sys_fsetxattr)
241 CALL(sys_getxattr)
242/* 230 */ CALL(sys_lgetxattr)
243 CALL(sys_fgetxattr)
244 CALL(sys_listxattr)
245 CALL(sys_llistxattr)
246 CALL(sys_flistxattr)
247/* 235 */ CALL(sys_removexattr)
248 CALL(sys_lremovexattr)
249 CALL(sys_fremovexattr)
250 CALL(sys_tkill)
251 CALL(sys_sendfile64)
252/* 240 */ CALL(sys_futex)
253 CALL(sys_sched_setaffinity)
254 CALL(sys_sched_getaffinity)
255 CALL(sys_io_setup)
256 CALL(sys_io_destroy)
257/* 245 */ CALL(sys_io_getevents)
258 CALL(sys_io_submit)
259 CALL(sys_io_cancel)
260 CALL(sys_exit_group)
261 CALL(sys_lookup_dcookie)
262/* 250 */ CALL(sys_epoll_create)
263 CALL(ABI(sys_epoll_ctl, sys_oabi_epoll_ctl))
264 CALL(ABI(sys_epoll_wait, sys_oabi_epoll_wait))
265 CALL(sys_remap_file_pages)
266 CALL(sys_ni_syscall) /* sys_set_thread_area */
267/* 255 */ CALL(sys_ni_syscall) /* sys_get_thread_area */
268 CALL(sys_set_tid_address)
269 CALL(sys_timer_create)
270 CALL(sys_timer_settime)
271 CALL(sys_timer_gettime)
272/* 260 */ CALL(sys_timer_getoverrun)
273 CALL(sys_timer_delete)
274 CALL(sys_clock_settime)
275 CALL(sys_clock_gettime)
276 CALL(sys_clock_getres)
277/* 265 */ CALL(sys_clock_nanosleep)
278 CALL(sys_statfs64_wrapper)
279 CALL(sys_fstatfs64_wrapper)
280 CALL(sys_tgkill)
281 CALL(sys_utimes)
282/* 270 */ CALL(sys_arm_fadvise64_64)
283 CALL(sys_pciconfig_iobase)
284 CALL(sys_pciconfig_read)
285 CALL(sys_pciconfig_write)
286 CALL(sys_mq_open)
287/* 275 */ CALL(sys_mq_unlink)
288 CALL(sys_mq_timedsend)
289 CALL(sys_mq_timedreceive)
290 CALL(sys_mq_notify)
291 CALL(sys_mq_getsetattr)
292/* 280 */ CALL(sys_waitid)
293 CALL(sys_socket)
294 CALL(ABI(sys_bind, sys_oabi_bind))
295 CALL(ABI(sys_connect, sys_oabi_connect))
296 CALL(sys_listen)
297/* 285 */ CALL(sys_accept)
298 CALL(sys_getsockname)
299 CALL(sys_getpeername)
300 CALL(sys_socketpair)
301 CALL(sys_send)
302/* 290 */ CALL(ABI(sys_sendto, sys_oabi_sendto))
303 CALL(sys_recv)
304 CALL(sys_recvfrom)
305 CALL(sys_shutdown)
306 CALL(sys_setsockopt)
307/* 295 */ CALL(sys_getsockopt)
308 CALL(ABI(sys_sendmsg, sys_oabi_sendmsg))
309 CALL(sys_recvmsg)
310 CALL(ABI(sys_semop, sys_oabi_semop))
311 CALL(sys_semget)
312/* 300 */ CALL(sys_semctl)
313 CALL(sys_msgsnd)
314 CALL(sys_msgrcv)
315 CALL(sys_msgget)
316 CALL(sys_msgctl)
317/* 305 */ CALL(sys_shmat)
318 CALL(sys_shmdt)
319 CALL(sys_shmget)
320 CALL(sys_shmctl)
321 CALL(sys_add_key)
322/* 310 */ CALL(sys_request_key)
323 CALL(sys_keyctl)
324 CALL(ABI(sys_semtimedop, sys_oabi_semtimedop))
325/* vserver */ CALL(sys_ni_syscall)
326 CALL(sys_ioprio_set)
327/* 315 */ CALL(sys_ioprio_get)
328 CALL(sys_inotify_init)
329 CALL(sys_inotify_add_watch)
330 CALL(sys_inotify_rm_watch)
331 CALL(sys_mbind)
332/* 320 */ CALL(sys_get_mempolicy)
333 CALL(sys_set_mempolicy)
334 CALL(sys_openat)
335 CALL(sys_mkdirat)
336 CALL(sys_mknodat)
337/* 325 */ CALL(sys_fchownat)
338 CALL(sys_futimesat)
339 CALL(ABI(sys_fstatat64, sys_oabi_fstatat64))
340 CALL(sys_unlinkat)
341 CALL(sys_renameat)
342/* 330 */ CALL(sys_linkat)
343 CALL(sys_symlinkat)
344 CALL(sys_readlinkat)
345 CALL(sys_fchmodat)
346 CALL(sys_faccessat)
347/* 335 */ CALL(sys_pselect6)
348 CALL(sys_ppoll)
349 CALL(sys_unshare)
350 CALL(sys_set_robust_list)
351 CALL(sys_get_robust_list)
352/* 340 */ CALL(sys_splice)
353 CALL(sys_sync_file_range2)
354 CALL(sys_tee)
355 CALL(sys_vmsplice)
356 CALL(sys_move_pages)
357/* 345 */ CALL(sys_getcpu)
358 CALL(sys_epoll_pwait)
359 CALL(sys_kexec_load)
360 CALL(sys_utimensat)
361 CALL(sys_signalfd)
362/* 350 */ CALL(sys_timerfd_create)
363 CALL(sys_eventfd)
364 CALL(sys_fallocate)
365 CALL(sys_timerfd_settime)
366 CALL(sys_timerfd_gettime)
367/* 355 */ CALL(sys_signalfd4)
368 CALL(sys_eventfd2)
369 CALL(sys_epoll_create1)
370 CALL(sys_dup3)
371 CALL(sys_pipe2)
372/* 360 */ CALL(sys_inotify_init1)
373 CALL(sys_preadv)
374 CALL(sys_pwritev)
375 CALL(sys_rt_tgsigqueueinfo)
376 CALL(sys_perf_event_open)
377/* 365 */ CALL(sys_recvmmsg)
378 CALL(sys_accept4)
379 CALL(sys_fanotify_init)
380 CALL(sys_fanotify_mark)
381 CALL(sys_prlimit64)
382/* 370 */ CALL(sys_name_to_handle_at)
383 CALL(sys_open_by_handle_at)
384 CALL(sys_clock_adjtime)
385 CALL(sys_syncfs)
386 CALL(sys_sendmmsg)
387/* 375 */ CALL(sys_setns)
388 CALL(sys_process_vm_readv)
389 CALL(sys_process_vm_writev)
390 CALL(sys_kcmp)
391 CALL(sys_finit_module)
392/* 380 */ CALL(sys_sched_setattr)
393 CALL(sys_sched_getattr)
394 CALL(sys_renameat2)
395 CALL(sys_seccomp)
396 CALL(sys_getrandom)
397/* 385 */ CALL(sys_memfd_create)
398 CALL(sys_bpf)
399 CALL(sys_execveat)
400 CALL(sys_userfaultfd)
401 CALL(sys_membarrier)
402/* 390 */ CALL(sys_mlock2)
403 CALL(sys_copy_file_range)
404 CALL(sys_preadv2)
405 CALL(sys_pwritev2)
406 CALL(sys_pkey_mprotect)
407/* 395 */ CALL(sys_pkey_alloc)
408 CALL(sys_pkey_free)
409#ifndef syscalls_counted
410.equ syscalls_padding, ((NR_syscalls + 3) & ~3) - NR_syscalls
411#define syscalls_counted
412#endif
413.rept syscalls_padding
414 CALL(sys_ni_syscall)
415.endr
diff --git a/arch/arm/kernel/entry-common.S b/arch/arm/kernel/entry-common.S
index 10c3283d6c19..eb5cd77bf1d8 100644
--- a/arch/arm/kernel/entry-common.S
+++ b/arch/arm/kernel/entry-common.S
@@ -12,6 +12,11 @@
12#include <asm/unistd.h> 12#include <asm/unistd.h>
13#include <asm/ftrace.h> 13#include <asm/ftrace.h>
14#include <asm/unwind.h> 14#include <asm/unwind.h>
15#ifdef CONFIG_AEABI
16#include <asm/unistd-oabi.h>
17#endif
18
19 .equ NR_syscalls, __NR_syscalls
15 20
16#ifdef CONFIG_NEED_RET_TO_USER 21#ifdef CONFIG_NEED_RET_TO_USER
17#include <mach/entry-macro.S> 22#include <mach/entry-macro.S>
@@ -120,21 +125,6 @@ ENTRY(ret_from_fork)
120 b ret_slow_syscall 125 b ret_slow_syscall
121ENDPROC(ret_from_fork) 126ENDPROC(ret_from_fork)
122 127
123 .equ NR_syscalls,0
124#define CALL(x) .equ NR_syscalls,NR_syscalls+1
125#include "calls.S"
126
127/*
128 * Ensure that the system call table is equal to __NR_syscalls,
129 * which is the value the rest of the system sees
130 */
131.ifne NR_syscalls - __NR_syscalls
132.error "__NR_syscalls is not equal to the size of the syscall table"
133.endif
134
135#undef CALL
136#define CALL(x) .long x
137
138/*============================================================================= 128/*=============================================================================
139 * SWI handler 129 * SWI handler
140 *----------------------------------------------------------------------------- 130 *-----------------------------------------------------------------------------
@@ -291,22 +281,48 @@ __cr_alignment:
291#endif 281#endif
292 .ltorg 282 .ltorg
293 283
284 .macro syscall_table_start, sym
285 .equ __sys_nr, 0
286 .type \sym, #object
287ENTRY(\sym)
288 .endm
289
290 .macro syscall, nr, func
291 .ifgt __sys_nr - \nr
292 .error "Duplicated/unorded system call entry"
293 .endif
294 .rept \nr - __sys_nr
295 .long sys_ni_syscall
296 .endr
297 .long \func
298 .equ __sys_nr, \nr + 1
299 .endm
300
301 .macro syscall_table_end, sym
302 .ifgt __sys_nr - __NR_syscalls
303 .error "System call table too big"
304 .endif
305 .rept __NR_syscalls - __sys_nr
306 .long sys_ni_syscall
307 .endr
308 .size \sym, . - \sym
309 .endm
310
311#define NATIVE(nr, func) syscall nr, func
312
294/* 313/*
295 * This is the syscall table declaration for native ABI syscalls. 314 * This is the syscall table declaration for native ABI syscalls.
296 * With EABI a couple syscalls are obsolete and defined as sys_ni_syscall. 315 * With EABI a couple syscalls are obsolete and defined as sys_ni_syscall.
297 */ 316 */
298#define ABI(native, compat) native 317 syscall_table_start sys_call_table
318#define COMPAT(nr, native, compat) syscall nr, native
299#ifdef CONFIG_AEABI 319#ifdef CONFIG_AEABI
300#define OBSOLETE(syscall) sys_ni_syscall 320#include <calls-eabi.S>
301#else 321#else
302#define OBSOLETE(syscall) syscall 322#include <calls-oabi.S>
303#endif 323#endif
304 324#undef COMPAT
305 .type sys_call_table, #object 325 syscall_table_end sys_call_table
306ENTRY(sys_call_table)
307#include "calls.S"
308#undef ABI
309#undef OBSOLETE
310 326
311/*============================================================================ 327/*============================================================================
312 * Special system call wrappers 328 * Special system call wrappers
@@ -407,14 +423,10 @@ ENDPROC(sys_oabi_readahead)
407 * Let's declare a second syscall table for old ABI binaries 423 * Let's declare a second syscall table for old ABI binaries
408 * using the compatibility syscall entries. 424 * using the compatibility syscall entries.
409 */ 425 */
410#define ABI(native, compat) compat 426 syscall_table_start sys_oabi_call_table
411#define OBSOLETE(syscall) syscall 427#define COMPAT(nr, native, compat) syscall nr, compat
412 428#include <calls-oabi.S>
413 .type sys_oabi_call_table, #object 429 syscall_table_end sys_oabi_call_table
414ENTRY(sys_oabi_call_table)
415#include "calls.S"
416#undef ABI
417#undef OBSOLETE
418 430
419#endif 431#endif
420 432
diff --git a/arch/arm/kernel/topology.c b/arch/arm/kernel/topology.c
index ec279d161b32..ebf47d91b804 100644
--- a/arch/arm/kernel/topology.c
+++ b/arch/arm/kernel/topology.c
@@ -12,6 +12,7 @@
12 */ 12 */
13 13
14#include <linux/cpu.h> 14#include <linux/cpu.h>
15#include <linux/cpufreq.h>
15#include <linux/cpumask.h> 16#include <linux/cpumask.h>
16#include <linux/export.h> 17#include <linux/export.h>
17#include <linux/init.h> 18#include <linux/init.h>
@@ -21,7 +22,9 @@
21#include <linux/of.h> 22#include <linux/of.h>
22#include <linux/sched.h> 23#include <linux/sched.h>
23#include <linux/slab.h> 24#include <linux/slab.h>
25#include <linux/string.h>
24 26
27#include <asm/cpu.h>
25#include <asm/cputype.h> 28#include <asm/cputype.h>
26#include <asm/topology.h> 29#include <asm/topology.h>
27 30
@@ -41,6 +44,7 @@
41 * updated during this sequence. 44 * updated during this sequence.
42 */ 45 */
43static DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE; 46static DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE;
47static DEFINE_MUTEX(cpu_scale_mutex);
44 48
45unsigned long arch_scale_cpu_capacity(struct sched_domain *sd, int cpu) 49unsigned long arch_scale_cpu_capacity(struct sched_domain *sd, int cpu)
46{ 50{
@@ -52,6 +56,65 @@ static void set_capacity_scale(unsigned int cpu, unsigned long capacity)
52 per_cpu(cpu_scale, cpu) = capacity; 56 per_cpu(cpu_scale, cpu) = capacity;
53} 57}
54 58
59#ifdef CONFIG_PROC_SYSCTL
60static ssize_t cpu_capacity_show(struct device *dev,
61 struct device_attribute *attr,
62 char *buf)
63{
64 struct cpu *cpu = container_of(dev, struct cpu, dev);
65
66 return sprintf(buf, "%lu\n",
67 arch_scale_cpu_capacity(NULL, cpu->dev.id));
68}
69
70static ssize_t cpu_capacity_store(struct device *dev,
71 struct device_attribute *attr,
72 const char *buf,
73 size_t count)
74{
75 struct cpu *cpu = container_of(dev, struct cpu, dev);
76 int this_cpu = cpu->dev.id, i;
77 unsigned long new_capacity;
78 ssize_t ret;
79
80 if (count) {
81 ret = kstrtoul(buf, 0, &new_capacity);
82 if (ret)
83 return ret;
84 if (new_capacity > SCHED_CAPACITY_SCALE)
85 return -EINVAL;
86
87 mutex_lock(&cpu_scale_mutex);
88 for_each_cpu(i, &cpu_topology[this_cpu].core_sibling)
89 set_capacity_scale(i, new_capacity);
90 mutex_unlock(&cpu_scale_mutex);
91 }
92
93 return count;
94}
95
96static DEVICE_ATTR_RW(cpu_capacity);
97
98static int register_cpu_capacity_sysctl(void)
99{
100 int i;
101 struct device *cpu;
102
103 for_each_possible_cpu(i) {
104 cpu = get_cpu_device(i);
105 if (!cpu) {
106 pr_err("%s: too early to get CPU%d device!\n",
107 __func__, i);
108 continue;
109 }
110 device_create_file(cpu, &dev_attr_cpu_capacity);
111 }
112
113 return 0;
114}
115subsys_initcall(register_cpu_capacity_sysctl);
116#endif
117
55#ifdef CONFIG_OF 118#ifdef CONFIG_OF
56struct cpu_efficiency { 119struct cpu_efficiency {
57 const char *compatible; 120 const char *compatible;
@@ -78,6 +141,146 @@ static unsigned long *__cpu_capacity;
78#define cpu_capacity(cpu) __cpu_capacity[cpu] 141#define cpu_capacity(cpu) __cpu_capacity[cpu]
79 142
80static unsigned long middle_capacity = 1; 143static unsigned long middle_capacity = 1;
144static bool cap_from_dt = true;
145static u32 *raw_capacity;
146static bool cap_parsing_failed;
147static u32 capacity_scale;
148
149static int __init parse_cpu_capacity(struct device_node *cpu_node, int cpu)
150{
151 int ret = 1;
152 u32 cpu_capacity;
153
154 if (cap_parsing_failed)
155 return !ret;
156
157 ret = of_property_read_u32(cpu_node,
158 "capacity-dmips-mhz",
159 &cpu_capacity);
160 if (!ret) {
161 if (!raw_capacity) {
162 raw_capacity = kcalloc(num_possible_cpus(),
163 sizeof(*raw_capacity),
164 GFP_KERNEL);
165 if (!raw_capacity) {
166 pr_err("cpu_capacity: failed to allocate memory for raw capacities\n");
167 cap_parsing_failed = true;
168 return !ret;
169 }
170 }
171 capacity_scale = max(cpu_capacity, capacity_scale);
172 raw_capacity[cpu] = cpu_capacity;
173 pr_debug("cpu_capacity: %s cpu_capacity=%u (raw)\n",
174 cpu_node->full_name, raw_capacity[cpu]);
175 } else {
176 if (raw_capacity) {
177 pr_err("cpu_capacity: missing %s raw capacity\n",
178 cpu_node->full_name);
179 pr_err("cpu_capacity: partial information: fallback to 1024 for all CPUs\n");
180 }
181 cap_parsing_failed = true;
182 kfree(raw_capacity);
183 }
184
185 return !ret;
186}
187
188static void normalize_cpu_capacity(void)
189{
190 u64 capacity;
191 int cpu;
192
193 if (!raw_capacity || cap_parsing_failed)
194 return;
195
196 pr_debug("cpu_capacity: capacity_scale=%u\n", capacity_scale);
197 mutex_lock(&cpu_scale_mutex);
198 for_each_possible_cpu(cpu) {
199 capacity = (raw_capacity[cpu] << SCHED_CAPACITY_SHIFT)
200 / capacity_scale;
201 set_capacity_scale(cpu, capacity);
202 pr_debug("cpu_capacity: CPU%d cpu_capacity=%lu\n",
203 cpu, arch_scale_cpu_capacity(NULL, cpu));
204 }
205 mutex_unlock(&cpu_scale_mutex);
206}
207
208#ifdef CONFIG_CPU_FREQ
209static cpumask_var_t cpus_to_visit;
210static bool cap_parsing_done;
211static void parsing_done_workfn(struct work_struct *work);
212static DECLARE_WORK(parsing_done_work, parsing_done_workfn);
213
214static int
215init_cpu_capacity_callback(struct notifier_block *nb,
216 unsigned long val,
217 void *data)
218{
219 struct cpufreq_policy *policy = data;
220 int cpu;
221
222 if (cap_parsing_failed || cap_parsing_done)
223 return 0;
224
225 switch (val) {
226 case CPUFREQ_NOTIFY:
227 pr_debug("cpu_capacity: init cpu capacity for CPUs [%*pbl] (to_visit=%*pbl)\n",
228 cpumask_pr_args(policy->related_cpus),
229 cpumask_pr_args(cpus_to_visit));
230 cpumask_andnot(cpus_to_visit,
231 cpus_to_visit,
232 policy->related_cpus);
233 for_each_cpu(cpu, policy->related_cpus) {
234 raw_capacity[cpu] = arch_scale_cpu_capacity(NULL, cpu) *
235 policy->cpuinfo.max_freq / 1000UL;
236 capacity_scale = max(raw_capacity[cpu], capacity_scale);
237 }
238 if (cpumask_empty(cpus_to_visit)) {
239 normalize_cpu_capacity();
240 kfree(raw_capacity);
241 pr_debug("cpu_capacity: parsing done\n");
242 cap_parsing_done = true;
243 schedule_work(&parsing_done_work);
244 }
245 }
246 return 0;
247}
248
249static struct notifier_block init_cpu_capacity_notifier = {
250 .notifier_call = init_cpu_capacity_callback,
251};
252
253static int __init register_cpufreq_notifier(void)
254{
255 if (cap_parsing_failed)
256 return -EINVAL;
257
258 if (!alloc_cpumask_var(&cpus_to_visit, GFP_KERNEL)) {
259 pr_err("cpu_capacity: failed to allocate memory for cpus_to_visit\n");
260 return -ENOMEM;
261 }
262 cpumask_copy(cpus_to_visit, cpu_possible_mask);
263
264 return cpufreq_register_notifier(&init_cpu_capacity_notifier,
265 CPUFREQ_POLICY_NOTIFIER);
266}
267core_initcall(register_cpufreq_notifier);
268
269static void parsing_done_workfn(struct work_struct *work)
270{
271 cpufreq_unregister_notifier(&init_cpu_capacity_notifier,
272 CPUFREQ_POLICY_NOTIFIER);
273}
274
275#else
276static int __init free_raw_capacity(void)
277{
278 kfree(raw_capacity);
279
280 return 0;
281}
282core_initcall(free_raw_capacity);
283#endif
81 284
82/* 285/*
83 * Iterate all CPUs' descriptor in DT and compute the efficiency 286 * Iterate all CPUs' descriptor in DT and compute the efficiency
@@ -99,6 +302,12 @@ static void __init parse_dt_topology(void)
99 __cpu_capacity = kcalloc(nr_cpu_ids, sizeof(*__cpu_capacity), 302 __cpu_capacity = kcalloc(nr_cpu_ids, sizeof(*__cpu_capacity),
100 GFP_NOWAIT); 303 GFP_NOWAIT);
101 304
305 cn = of_find_node_by_path("/cpus");
306 if (!cn) {
307 pr_err("No CPU information found in DT\n");
308 return;
309 }
310
102 for_each_possible_cpu(cpu) { 311 for_each_possible_cpu(cpu) {
103 const u32 *rate; 312 const u32 *rate;
104 int len; 313 int len;
@@ -110,6 +319,13 @@ static void __init parse_dt_topology(void)
110 continue; 319 continue;
111 } 320 }
112 321
322 if (parse_cpu_capacity(cn, cpu)) {
323 of_node_put(cn);
324 continue;
325 }
326
327 cap_from_dt = false;
328
113 for (cpu_eff = table_efficiency; cpu_eff->compatible; cpu_eff++) 329 for (cpu_eff = table_efficiency; cpu_eff->compatible; cpu_eff++)
114 if (of_device_is_compatible(cn, cpu_eff->compatible)) 330 if (of_device_is_compatible(cn, cpu_eff->compatible))
115 break; 331 break;
@@ -151,6 +367,8 @@ static void __init parse_dt_topology(void)
151 middle_capacity = ((max_capacity / 3) 367 middle_capacity = ((max_capacity / 3)
152 >> (SCHED_CAPACITY_SHIFT-1)) + 1; 368 >> (SCHED_CAPACITY_SHIFT-1)) + 1;
153 369
370 if (cap_from_dt && !cap_parsing_failed)
371 normalize_cpu_capacity();
154} 372}
155 373
156/* 374/*
@@ -160,7 +378,7 @@ static void __init parse_dt_topology(void)
160 */ 378 */
161static void update_cpu_capacity(unsigned int cpu) 379static void update_cpu_capacity(unsigned int cpu)
162{ 380{
163 if (!cpu_capacity(cpu)) 381 if (!cpu_capacity(cpu) || cap_from_dt)
164 return; 382 return;
165 383
166 set_capacity_scale(cpu, cpu_capacity(cpu) / middle_capacity); 384 set_capacity_scale(cpu, cpu_capacity(cpu) / middle_capacity);
diff --git a/arch/arm/lib/delay-loop.S b/arch/arm/lib/delay-loop.S
index 792c59d885bc..c766694e929c 100644
--- a/arch/arm/lib/delay-loop.S
+++ b/arch/arm/lib/delay-loop.S
@@ -17,24 +17,23 @@
17.LC1: .word UDELAY_MULT 17.LC1: .word UDELAY_MULT
18 18
19/* 19/*
20 * loops = r0 * HZ * loops_per_jiffy / 1000000
21 *
20 * r0 <= 2000 22 * r0 <= 2000
21 * HZ <= 1000 23 * HZ <= 1000
22 */ 24 */
23 25
24ENTRY(__loop_udelay) 26ENTRY(__loop_udelay)
25 ldr r2, .LC1 27 ldr r2, .LC1
26 mul r0, r2, r0 28 mul r0, r2, r0 @ r0 = delay_us * UDELAY_MULT
27ENTRY(__loop_const_udelay) @ 0 <= r0 <= 0x7fffff06 29ENTRY(__loop_const_udelay) @ 0 <= r0 <= 0xfffffaf0
28 ldr r2, .LC0 30 ldr r2, .LC0
29 ldr r2, [r2] 31 ldr r2, [r2]
30 umull r1, r0, r2, r0 32 umull r1, r0, r2, r0 @ r0-r1 = r0 * loops_per_jiffy
31 adds r1, r1, #0xffffffff 33 adds r1, r1, #0xffffffff @ rounding up ...
32 adcs r0, r0, r0 34 adcs r0, r0, r0 @ and right shift by 31
33 reteq lr 35 reteq lr
34 36
35/*
36 * loops = r0 * HZ * loops_per_jiffy / 1000000
37 */
38 .align 3 37 .align 3
39 38
40@ Delay routine 39@ Delay routine
diff --git a/arch/arm/mach-sa1100/include/mach/SA-1101.h b/arch/arm/mach-sa1100/include/mach/SA-1101.h
deleted file mode 100644
index 5d2ad7db991c..000000000000
--- a/arch/arm/mach-sa1100/include/mach/SA-1101.h
+++ /dev/null
@@ -1,925 +0,0 @@
1/*
2 * SA-1101.h
3 *
4 * Copyright (c) Peter Danielsson 1999
5 *
6 * Definition of constants related to the sa1101
7 * support chip for the sa1100
8 *
9 */
10
11
12/* Be sure that virtual mapping is defined right */
13#ifndef __ASM_ARCH_HARDWARE_H
14#error You must include hardware.h not SA-1101.h
15#endif
16
17#ifndef SA1101_BASE
18#error You must define SA-1101 physical base address
19#endif
20
21#ifndef LANGUAGE
22# ifdef __ASSEMBLY__
23# define LANGUAGE Assembly
24# else
25# define LANGUAGE C
26# endif
27#endif
28
29/*
30 * We have mapped the sa1101 depending on the value of SA1101_BASE.
31 * It then appears from 0xf4000000.
32 */
33
34#define SA1101_p2v( x ) ((x) - SA1101_BASE + 0xf4000000)
35#define SA1101_v2p( x ) ((x) - 0xf4000000 + SA1101_BASE)
36
37#ifndef SA1101_p2v
38#define SA1101_p2v(PhAdd) (PhAdd)
39#endif
40
41#include <mach/bitfield.h>
42
43#define C 0
44#define Assembly 1
45
46
47/*
48 * Memory map
49 */
50
51#define __SHMEM_CONTROL0 0x00000000
52#define __SYSTEM_CONTROL1 0x00000400
53#define __ARBITER 0x00020000
54#define __SYSTEM_CONTROL2 0x00040000
55#define __SYSTEM_CONTROL3 0x00060000
56#define __PARALLEL_PORT 0x00080000
57#define __VIDMEM_CONTROL 0x00100000
58#define __UPDATE_FIFO 0x00120000
59#define __SHMEM_CONTROL1 0x00140000
60#define __INTERRUPT_CONTROL 0x00160000
61#define __USB_CONTROL 0x00180000
62#define __TRACK_INTERFACE 0x001a0000
63#define __MOUSE_INTERFACE 0x001b0000
64#define __KEYPAD_INTERFACE 0x001c0000
65#define __PCMCIA_INTERFACE 0x001e0000
66#define __VGA_CONTROL 0x00200000
67#define __GPIO_INTERFACE 0x00300000
68
69/*
70 * Macro that calculates real address for registers in the SA-1101
71 */
72
73#define _SA1101( x ) ((x) + SA1101_BASE)
74
75/*
76 * Interface and shared memory controller registers
77 *
78 * Registers
79 * SKCR SA-1101 control register (read/write)
80 * SMCR Shared Memory Controller Register
81 * SNPR Snoop Register
82 */
83
84#define _SKCR _SA1101( 0x00000000 ) /* SA-1101 Control Reg. */
85#define _SMCR _SA1101( 0x00140000 ) /* Shared Mem. Control Reg. */
86#define _SNPR _SA1101( 0x00140400 ) /* Snoop Reg. */
87
88#if LANGUAGE == C
89#define SKCR (*((volatile Word *) SA1101_p2v (_SKCR)))
90#define SMCR (*((volatile Word *) SA1101_p2v (_SMCR)))
91#define SNPR (*((volatile Word *) SA1101_p2v (_SNPR)))
92
93#define SKCR_PLLEn 0x0001 /* Enable On-Chip PLL */
94#define SKCR_BCLKEn 0x0002 /* Enables BCLK */
95#define SKCR_Sleep 0x0004 /* Sleep Mode */
96#define SKCR_IRefEn 0x0008 /* DAC Iref input enable */
97#define SKCR_VCOON 0x0010 /* VCO bias */
98#define SKCR_ScanTestEn 0x0020 /* Enables scan test */
99#define SKCR_ClockTestEn 0x0040 /* Enables clock test */
100
101#define SMCR_DCAC Fld(2,0) /* Number of column address bits */
102#define SMCR_DRAC Fld(2,2) /* Number of row address bits */
103#define SMCR_ArbiterBias 0x0008 /* favor video or USB */
104#define SMCR_TopVidMem Fld(4,5) /* Top 4 bits of vidmem addr. */
105
106#define SMCR_ColAdrBits( x ) /* col. addr bits 8..11 */ \
107 (( (x) - 8 ) << FShft (SMCR_DCAC))
108#define SMCR_RowAdrBits( x ) /* row addr bits 9..12 */\
109 (( (x) - 9 ) << FShft (SMCR_DRAC))
110
111#define SNPR_VFBstart Fld(12,0) /* Video frame buffer addr */
112#define SNPR_VFBsize Fld(11,12) /* Video frame buffer size */
113#define SNPR_WholeBank (1 << 23) /* Whole bank bit */
114#define SNPR_BankSelect Fld(2,27) /* Bank select */
115#define SNPR_SnoopEn (1 << 31) /* Enable snoop operation */
116
117#define SNPR_Set_VFBsize( x ) /* set frame buffer size (in kb) */ \
118 ( (x) << FShft (SNPR_VFBsize))
119#define SNPR_Select_Bank(x) /* select bank 0 or 1 */ \
120 (( (x) + 1 ) << FShft (SNPR_BankSelect ))
121
122#endif /* LANGUAGE == C */
123
124/*
125 * Video Memory Controller
126 *
127 * Registers
128 * VMCCR Configuration register
129 * VMCAR VMC address register
130 * VMCDR VMC data register
131 *
132 */
133
134#define _VMCCR _SA1101( 0x00100000 ) /* Configuration register */
135#define _VMCAR _SA1101( 0x00101000 ) /* VMC address register */
136#define _VMCDR _SA1101( 0x00101400 ) /* VMC data register */
137
138#if LANGUAGE == C
139#define VMCCR (*((volatile Word *) SA1101_p2v (_VMCCR)))
140#define VMCAR (*((volatile Word *) SA1101_p2v (_VMCAR)))
141#define VMCDR (*((volatile Word *) SA1101_p2v (_VMCDR)))
142
143#define VMCCR_RefreshEn 0x0000 /* Enable memory refresh */
144#define VMCCR_Config 0x0001 /* DRAM size */
145#define VMCCR_RefPeriod Fld(2,3) /* Refresh period */
146#define VMCCR_StaleDataWait Fld(4,5) /* Stale FIFO data timeout counter */
147#define VMCCR_SleepState (1<<9) /* State of interface pins in sleep*/
148#define VMCCR_RefTest (1<<10) /* refresh test */
149#define VMCCR_RefLow Fld(6,11) /* refresh low counter */
150#define VMCCR_RefHigh Fld(7,17) /* refresh high counter */
151#define VMCCR_SDTCTest Fld(7,24) /* stale data timeout counter */
152#define VMCCR_ForceSelfRef (1<<31) /* Force self refresh */
153
154#endif LANGUAGE == C
155
156
157/* Update FIFO
158 *
159 * Registers
160 * UFCR Update FIFO Control Register
161 * UFSR Update FIFO Status Register
162 * UFLVLR update FIFO level register
163 * UFDR update FIFO data register
164 */
165
166#define _UFCR _SA1101(0x00120000) /* Update FIFO Control Reg. */
167#define _UFSR _SA1101(0x00120400) /* Update FIFO Status Reg. */
168#define _UFLVLR _SA1101(0x00120800) /* Update FIFO level reg. */
169#define _UFDR _SA1101(0x00120c00) /* Update FIFO data reg. */
170
171#if LANGUAGE == C
172
173#define UFCR (*((volatile Word *) SA1101_p2v (_UFCR)))
174#define UFSR (*((volatile Word *) SA1101_p2v (_UFSR)))
175#define UFLVLR (*((volatile Word *) SA1101_p2v (_UFLVLR)))
176#define UFDR (*((volatile Word *) SA1101_p2v (_UFDR)))
177
178
179#define UFCR_FifoThreshhold Fld(7,0) /* Level for FifoGTn flag */
180
181#define UFSR_FifoGTnFlag 0x01 /* FifoGTn flag */#define UFSR_FifoEmpty 0x80 /* FIFO is empty */
182
183#endif /* LANGUAGE == C */
184
185/* System Controller
186 *
187 * Registers
188 * SKPCR Power Control Register
189 * SKCDR Clock Divider Register
190 * DACDR1 DAC1 Data register
191 * DACDR2 DAC2 Data register
192 */
193
194#define _SKPCR _SA1101(0x00000400)
195#define _SKCDR _SA1101(0x00040000)
196#define _DACDR1 _SA1101(0x00060000)
197#define _DACDR2 _SA1101(0x00060400)
198
199#if LANGUAGE == C
200#define SKPCR (*((volatile Word *) SA1101_p2v (_SKPCR)))
201#define SKCDR (*((volatile Word *) SA1101_p2v (_SKCDR)))
202#define DACDR1 (*((volatile Word *) SA1101_p2v (_DACDR1)))
203#define DACDR2 (*((volatile Word *) SA1101_p2v (_DACDR2)))
204
205#define SKPCR_UCLKEn 0x01 /* USB Enable */
206#define SKPCR_PCLKEn 0x02 /* PS/2 Enable */
207#define SKPCR_ICLKEn 0x04 /* Interrupt Controller Enable */
208#define SKPCR_VCLKEn 0x08 /* Video Controller Enable */
209#define SKPCR_PICLKEn 0x10 /* parallel port Enable */
210#define SKPCR_DCLKEn 0x20 /* DACs Enable */
211#define SKPCR_nKPADEn 0x40 /* Multiplexer */
212
213#define SKCDR_PLLMul Fld(7,0) /* PLL Multiplier */
214#define SKCDR_VCLKEn Fld(2,7) /* Video controller clock divider */
215#define SKDCR_BCLKEn (1<<9) /* BCLK Divider */
216#define SKDCR_UTESTCLKEn (1<<10) /* Route USB clock during test mode */
217#define SKDCR_DivRValue Fld(6,11) /* Input clock divider for PLL */
218#define SKDCR_DivNValue Fld(5,17) /* Output clock divider for PLL */
219#define SKDCR_PLLRSH Fld(3,22) /* PLL bandwidth control */
220#define SKDCR_ChargePump (1<<25) /* Charge pump control */
221#define SKDCR_ClkTestMode (1<<26) /* Clock output test mode */
222#define SKDCR_ClkTestEn (1<<27) /* Test clock generator */
223#define SKDCR_ClkJitterCntl Fld(3,28) /* video clock jitter compensation */
224
225#define DACDR_DACCount Fld(8,0) /* Count value */
226#define DACDR1_DACCount DACDR_DACCount
227#define DACDR2_DACCount DACDR_DACCount
228
229#endif /* LANGUAGE == C */
230
231/*
232 * Parallel Port Interface
233 *
234 * Registers
235 * IEEE_Config IEEE mode selection and programmable attributes
236 * IEEE_Control Controls the states of IEEE port control outputs
237 * IEEE_Data Forward transfer data register
238 * IEEE_Addr Forward transfer address register
239 * IEEE_Status Port IO signal status register
240 * IEEE_IntStatus Port interrupts status register
241 * IEEE_FifoLevels Rx and Tx FIFO interrupt generation levels
242 * IEEE_InitTime Forward timeout counter initial value
243 * IEEE_TimerStatus Forward timeout counter current value
244 * IEEE_FifoReset Reset forward transfer FIFO
245 * IEEE_ReloadValue Counter reload value
246 * IEEE_TestControl Control testmode
247 * IEEE_TestDataIn Test data register
248 * IEEE_TestDataInEn Enable test data
249 * IEEE_TestCtrlIn Test control signals
250 * IEEE_TestCtrlInEn Enable test control signals
251 * IEEE_TestDataStat Current data bus value
252 *
253 */
254
255/*
256 * The control registers are defined as offsets from a base address
257 */
258
259#define _IEEE( x ) _SA1101( (x) + __PARALLEL_PORT )
260
261#define _IEEE_Config _IEEE( 0x0000 )
262#define _IEEE_Control _IEEE( 0x0400 )
263#define _IEEE_Data _IEEE( 0x4000 )
264#define _IEEE_Addr _IEEE( 0x0800 )
265#define _IEEE_Status _IEEE( 0x0c00 )
266#define _IEEE_IntStatus _IEEE( 0x1000 )
267#define _IEEE_FifoLevels _IEEE( 0x1400 )
268#define _IEEE_InitTime _IEEE( 0x1800 )
269#define _IEEE_TimerStatus _IEEE( 0x1c00 )
270#define _IEEE_FifoReset _IEEE( 0x2000 )
271#define _IEEE_ReloadValue _IEEE( 0x3c00 )
272#define _IEEE_TestControl _IEEE( 0x2400 )
273#define _IEEE_TestDataIn _IEEE( 0x2800 )
274#define _IEEE_TestDataInEn _IEEE( 0x2c00 )
275#define _IEEE_TestCtrlIn _IEEE( 0x3000 )
276#define _IEEE_TestCtrlInEn _IEEE( 0x3400 )
277#define _IEEE_TestDataStat _IEEE( 0x3800 )
278
279
280#if LANGUAGE == C
281#define IEEE_Config (*((volatile Word *) SA1101_p2v (_IEEE_Config)))
282#define IEEE_Control (*((volatile Word *) SA1101_p2v (_IEEE_Control)))
283#define IEEE_Data (*((volatile Word *) SA1101_p2v (_IEEE_Data)))
284#define IEEE_Addr (*((volatile Word *) SA1101_p2v (_IEEE_Addr)))
285#define IEEE_Status (*((volatile Word *) SA1101_p2v (_IEEE_Status)))
286#define IEEE_IntStatus (*((volatile Word *) SA1101_p2v (_IEEE_IntStatus)))
287#define IEEE_FifoLevels (*((volatile Word *) SA1101_p2v (_IEEE_FifoLevels)))
288#define IEEE_InitTime (*((volatile Word *) SA1101_p2v (_IEEE_InitTime)))
289#define IEEE_TimerStatus (*((volatile Word *) SA1101_p2v (_IEEE_TimerStatus)))
290#define IEEE_FifoReset (*((volatile Word *) SA1101_p2v (_IEEE_FifoReset)))
291#define IEEE_ReloadValue (*((volatile Word *) SA1101_p2v (_IEEE_ReloadValue)))
292#define IEEE_TestControl (*((volatile Word *) SA1101_p2v (_IEEE_TestControl)))
293#define IEEE_TestDataIn (*((volatile Word *) SA1101_p2v (_IEEE_TestDataIn)))
294#define IEEE_TestDataInEn (*((volatile Word *) SA1101_p2v (_IEEE_TestDataInEn)))
295#define IEEE_TestCtrlIn (*((volatile Word *) SA1101_p2v (_IEEE_TestCtrlIn)))
296#define IEEE_TestCtrlInEn (*((volatile Word *) SA1101_p2v (_IEEE_TestCtrlInEn)))
297#define IEEE_TestDataStat (*((volatile Word *) SA1101_p2v (_IEEE_TestDataStat)))
298
299
300#define IEEE_Config_M Fld(3,0) /* Mode select */
301#define IEEE_Config_D 0x04 /* FIFO access enable */
302#define IEEE_Config_B 0x08 /* 9-bit word enable */
303#define IEEE_Config_T 0x10 /* Data transfer enable */
304#define IEEE_Config_A 0x20 /* Data transfer direction */
305#define IEEE_Config_E 0x40 /* Timer enable */
306#define IEEE_Control_A 0x08 /* AutoFd output */
307#define IEEE_Control_E 0x04 /* Selectin output */
308#define IEEE_Control_T 0x02 /* Strobe output */
309#define IEEE_Control_I 0x01 /* Port init output */
310#define IEEE_Data_C (1<<31) /* Byte count */
311#define IEEE_Data_Db Fld(9,16) /* Data byte 2 */
312#define IEEE_Data_Da Fld(9,0) /* Data byte 1 */
313#define IEEE_Addr_A Fld(8,0) /* forward address transfer byte */
314#define IEEE_Status_A 0x0100 /* nAutoFd port output status */
315#define IEEE_Status_E 0x0080 /* nSelectIn port output status */
316#define IEEE_Status_T 0x0040 /* nStrobe port output status */
317#define IEEE_Status_I 0x0020 /* nInit port output status */
318#define IEEE_Status_B 0x0010 /* Busy port inout status */
319#define IEEE_Status_S 0x0008 /* Select port input status */
320#define IEEE_Status_K 0x0004 /* nAck port input status */
321#define IEEE_Status_F 0x0002 /* nFault port input status */
322#define IEEE_Status_R 0x0001 /* pError port input status */
323
324#define IEEE_IntStatus_IntReqDat 0x0100
325#define IEEE_IntStatus_IntReqEmp 0x0080
326#define IEEE_IntStatus_IntReqInt 0x0040
327#define IEEE_IntStatus_IntReqRav 0x0020
328#define IEEE_IntStatus_IntReqTim 0x0010
329#define IEEE_IntStatus_RevAddrComp 0x0008
330#define IEEE_IntStatus_RevDataComp 0x0004
331#define IEEE_IntStatus_FwdAddrComp 0x0002
332#define IEEE_IntStatus_FwdDataComp 0x0001
333#define IEEE_FifoLevels_RevFifoLevel 2
334#define IEEE_FifoLevels_FwdFifoLevel 1
335#define IEEE_InitTime_TimValInit Fld(22,0)
336#define IEEE_TimerStatus_TimValStat Fld(22,0)
337#define IEEE_ReloadValue_Reload Fld(4,0)
338
339#define IEEE_TestControl_RegClk 0x04
340#define IEEE_TestControl_ClockSelect Fld(2,1)
341#define IEEE_TestControl_TimerTestModeEn 0x01
342#define IEEE_TestCtrlIn_PError 0x10
343#define IEEE_TestCtrlIn_nFault 0x08
344#define IEEE_TestCtrlIn_nAck 0x04
345#define IEEE_TestCtrlIn_PSel 0x02
346#define IEEE_TestCtrlIn_Busy 0x01
347
348#endif /* LANGUAGE == C */
349
350/*
351 * VGA Controller
352 *
353 * Registers
354 * VideoControl Video Control Register
355 * VgaTiming0 VGA Timing Register 0
356 * VgaTiming1 VGA Timing Register 1
357 * VgaTiming2 VGA Timing Register 2
358 * VgaTiming3 VGA Timing Register 3
359 * VgaBorder VGA Border Color Register
360 * VgaDBAR VGADMA Base Address Register
361 * VgaDCAR VGADMA Channel Current Address Register
362 * VgaStatus VGA Status Register
363 * VgaInterruptMask VGA Interrupt Mask Register
364 * VgaPalette VGA Palette Registers
365 * DacControl DAC Control Register
366 * VgaTest VGA Controller Test Register
367 */
368
369#define _VGA( x ) _SA1101( ( x ) + __VGA_CONTROL )
370
371#define _VideoControl _VGA( 0x0000 )
372#define _VgaTiming0 _VGA( 0x0400 )
373#define _VgaTiming1 _VGA( 0x0800 )
374#define _VgaTiming2 _VGA( 0x0c00 )
375#define _VgaTiming3 _VGA( 0x1000 )
376#define _VgaBorder _VGA( 0x1400 )
377#define _VgaDBAR _VGA( 0x1800 )
378#define _VgaDCAR _VGA( 0x1c00 )
379#define _VgaStatus _VGA( 0x2000 )
380#define _VgaInterruptMask _VGA( 0x2400 )
381#define _VgaPalette _VGA( 0x40000 )
382#define _DacControl _VGA( 0x3000 )
383#define _VgaTest _VGA( 0x2c00 )
384
385#if (LANGUAGE == C)
386#define VideoControl (*((volatile Word *) SA1101_p2v (_VideoControl)))
387#define VgaTiming0 (*((volatile Word *) SA1101_p2v (_VgaTiming0)))
388#define VgaTiming1 (*((volatile Word *) SA1101_p2v (_VgaTiming1)))
389#define VgaTiming2 (*((volatile Word *) SA1101_p2v (_VgaTiming2)))
390#define VgaTiming3 (*((volatile Word *) SA1101_p2v (_VgaTiming3)))
391#define VgaBorder (*((volatile Word *) SA1101_p2v (_VgaBorder)))
392#define VgaDBAR (*((volatile Word *) SA1101_p2v (_VgaDBAR)))
393#define VgaDCAR (*((volatile Word *) SA1101_p2v (_VgaDCAR)))
394#define VgaStatus (*((volatile Word *) SA1101_p2v (_VgaStatus)))
395#define VgaInterruptMask (*((volatile Word *) SA1101_p2v (_VgaInterruptMask)))
396#define VgaPalette (*((volatile Word *) SA1101_p2v (_VgaPalette)))
397#define DacControl (*((volatile Word *) SA1101_p2v (_DacControl)))
398#define VgaTest (*((volatile Word *) SA1101_p2v (_VgaTest)))
399
400#define VideoControl_VgaEn 0x00000000
401#define VideoControl_BGR 0x00000001
402#define VideoControl_VCompVal Fld(2,2)
403#define VideoControl_VgaReq Fld(4,4)
404#define VideoControl_VBurstL Fld(4,8)
405#define VideoControl_VMode (1<<12)
406#define VideoControl_PalRead (1<<13)
407
408#define VgaTiming0_PPL Fld(6,2)
409#define VgaTiming0_HSW Fld(8,8)
410#define VgaTiming0_HFP Fld(8,16)
411#define VgaTiming0_HBP Fld(8,24)
412
413#define VgaTiming1_LPS Fld(10,0)
414#define VgaTiming1_VSW Fld(6,10)
415#define VgaTiming1_VFP Fld(8,16)
416#define VgaTiming1_VBP Fld(8,24)
417
418#define VgaTiming2_IVS 0x01
419#define VgaTiming2_IHS 0x02
420#define VgaTiming2_CVS 0x04
421#define VgaTiming2_CHS 0x08
422
423#define VgaTiming3_HBS Fld(8,0)
424#define VgaTiming3_HBE Fld(8,8)
425#define VgaTiming3_VBS Fld(8,16)
426#define VgaTiming3_VBE Fld(8,24)
427
428#define VgaBorder_BCOL Fld(24,0)
429
430#define VgaStatus_VFUF 0x01
431#define VgaStatus_VNext 0x02
432#define VgaStatus_VComp 0x04
433
434#define VgaInterruptMask_VFUFMask 0x00
435#define VgaInterruptMask_VNextMask 0x01
436#define VgaInterruptMask_VCompMask 0x02
437
438#define VgaPalette_R Fld(8,0)
439#define VgaPalette_G Fld(8,8)
440#define VgaPalette_B Fld(8,16)
441
442#define DacControl_DACON 0x0001
443#define DacControl_COMPON 0x0002
444#define DacControl_PEDON 0x0004
445#define DacControl_RTrim Fld(5,4)
446#define DacControl_GTrim Fld(5,9)
447#define DacControl_BTrim Fld(5,14)
448
449#define VgaTest_TDAC 0x00
450#define VgaTest_Datatest Fld(4,1)
451#define VgaTest_DACTESTDAC 0x10
452#define VgaTest_DACTESTOUT Fld(3,5)
453
454#endif /* LANGUAGE == C */
455
456/*
457 * USB Host Interface Controller
458 *
459 * Registers
460 * Revision
461 * Control
462 * CommandStatus
463 * InterruptStatus
464 * InterruptEnable
465 * HCCA
466 * PeriodCurrentED
467 * ControlHeadED
468 * BulkHeadED
469 * BulkCurrentED
470 * DoneHead
471 * FmInterval
472 * FmRemaining
473 * FmNumber
474 * PeriodicStart
475 * LSThreshold
476 * RhDescriptorA
477 * RhDescriptorB
478 * RhStatus
479 * RhPortStatus
480 * USBStatus
481 * USBReset
482 * USTAR
483 * USWER
484 * USRFR
485 * USNFR
486 * USTCSR
487 * USSR
488 *
489 */
490
491#define _USB( x ) _SA1101( ( x ) + __USB_CONTROL )
492
493
494#define _Revision _USB( 0x0000 )
495#define _Control _USB( 0x0888 )
496#define _CommandStatus _USB( 0x0c00 )
497#define _InterruptStatus _USB( 0x1000 )
498#define _InterruptEnable _USB( 0x1400 )
499#define _HCCA _USB( 0x1800 )
500#define _PeriodCurrentED _USB( 0x1c00 )
501#define _ControlHeadED _USB( 0x2000 )
502#define _BulkHeadED _USB( 0x2800 )
503#define _BulkCurrentED _USB( 0x2c00 )
504#define _DoneHead _USB( 0x3000 )
505#define _FmInterval _USB( 0x3400 )
506#define _FmRemaining _USB( 0x3800 )
507#define _FmNumber _USB( 0x3c00 )
508#define _PeriodicStart _USB( 0x4000 )
509#define _LSThreshold _USB( 0x4400 )
510#define _RhDescriptorA _USB( 0x4800 )
511#define _RhDescriptorB _USB( 0x4c00 )
512#define _RhStatus _USB( 0x5000 )
513#define _RhPortStatus _USB( 0x5400 )
514#define _USBStatus _USB( 0x11800 )
515#define _USBReset _USB( 0x11c00 )
516
517#define _USTAR _USB( 0x10400 )
518#define _USWER _USB( 0x10800 )
519#define _USRFR _USB( 0x10c00 )
520#define _USNFR _USB( 0x11000 )
521#define _USTCSR _USB( 0x11400 )
522#define _USSR _USB( 0x11800 )
523
524
525#if (LANGUAGE == C)
526
527#define Revision (*((volatile Word *) SA1101_p2v (_Revision)))
528#define Control (*((volatile Word *) SA1101_p2v (_Control)))
529#define CommandStatus (*((volatile Word *) SA1101_p2v (_CommandStatus)))
530#define InterruptStatus (*((volatile Word *) SA1101_p2v (_InterruptStatus)))
531#define InterruptEnable (*((volatile Word *) SA1101_p2v (_InterruptEnable)))
532#define HCCA (*((volatile Word *) SA1101_p2v (_HCCA)))
533#define PeriodCurrentED (*((volatile Word *) SA1101_p2v (_PeriodCurrentED)))
534#define ControlHeadED (*((volatile Word *) SA1101_p2v (_ControlHeadED)))
535#define BulkHeadED (*((volatile Word *) SA1101_p2v (_BulkHeadED)))
536#define BulkCurrentED (*((volatile Word *) SA1101_p2v (_BulkCurrentED)))
537#define DoneHead (*((volatile Word *) SA1101_p2v (_DoneHead)))
538#define FmInterval (*((volatile Word *) SA1101_p2v (_FmInterval)))
539#define FmRemaining (*((volatile Word *) SA1101_p2v (_FmRemaining)))
540#define FmNumber (*((volatile Word *) SA1101_p2v (_FmNumber)))
541#define PeriodicStart (*((volatile Word *) SA1101_p2v (_PeriodicStart)))
542#define LSThreshold (*((volatile Word *) SA1101_p2v (_LSThreshold)))
543#define RhDescriptorA (*((volatile Word *) SA1101_p2v (_RhDescriptorA)))
544#define RhDescriptorB (*((volatile Word *) SA1101_p2v (_RhDescriptorB)))
545#define RhStatus (*((volatile Word *) SA1101_p2v (_RhStatus)))
546#define RhPortStatus (*((volatile Word *) SA1101_p2v (_RhPortStatus)))
547#define USBStatus (*((volatile Word *) SA1101_p2v (_USBStatus)))
548#define USBReset (*((volatile Word *) SA1101_p2v (_USBReset)))
549#define USTAR (*((volatile Word *) SA1101_p2v (_USTAR)))
550#define USWER (*((volatile Word *) SA1101_p2v (_USWER)))
551#define USRFR (*((volatile Word *) SA1101_p2v (_USRFR)))
552#define USNFR (*((volatile Word *) SA1101_p2v (_USNFR)))
553#define USTCSR (*((volatile Word *) SA1101_p2v (_USTCSR)))
554#define USSR (*((volatile Word *) SA1101_p2v (_USSR)))
555
556
557#define USBStatus_IrqHciRmtWkp (1<<7)
558#define USBStatus_IrqHciBuffAcc (1<<8)
559#define USBStatus_nIrqHciM (1<<9)
560#define USBStatus_nHciMFClr (1<<10)
561
562#define USBReset_ForceIfReset 0x01
563#define USBReset_ForceHcReset 0x02
564#define USBReset_ClkGenReset 0x04
565
566#define USTCR_RdBstCntrl Fld(3,0)
567#define USTCR_ByteEnable Fld(4,3)
568#define USTCR_WriteEn (1<<7)
569#define USTCR_FifoCir (1<<8)
570#define USTCR_TestXferSel (1<<9)
571#define USTCR_FifoCirAtEnd (1<<10)
572#define USTCR_nSimScaleDownClk (1<<11)
573
574#define USSR_nAppMDEmpty 0x01
575#define USSR_nAppMDFirst 0x02
576#define USSR_nAppMDLast 0x04
577#define USSR_nAppMDFull 0x08
578#define USSR_nAppMAFull 0x10
579#define USSR_XferReq 0x20
580#define USSR_XferEnd 0x40
581
582#endif /* LANGUAGE == C */
583
584
585/*
586 * Interrupt Controller
587 *
588 * Registers
589 * INTTEST0 Test register 0
590 * INTTEST1 Test register 1
591 * INTENABLE0 Interrupt Enable register 0
592 * INTENABLE1 Interrupt Enable register 1
593 * INTPOL0 Interrupt Polarity selection 0
594 * INTPOL1 Interrupt Polarity selection 1
595 * INTTSTSEL Interrupt source selection
596 * INTSTATCLR0 Interrupt Status 0
597 * INTSTATCLR1 Interrupt Status 1
598 * INTSET0 Interrupt Set 0
599 * INTSET1 Interrupt Set 1
600 */
601
602#define _INT( x ) _SA1101( ( x ) + __INTERRUPT_CONTROL)
603
604#define _INTTEST0 _INT( 0x1000 )
605#define _INTTEST1 _INT( 0x1400 )
606#define _INTENABLE0 _INT( 0x2000 )
607#define _INTENABLE1 _INT( 0x2400 )
608#define _INTPOL0 _INT( 0x3000 )
609#define _INTPOL1 _INT( 0x3400 )
610#define _INTTSTSEL _INT( 0x5000 )
611#define _INTSTATCLR0 _INT( 0x6000 )
612#define _INTSTATCLR1 _INT( 0x6400 )
613#define _INTSET0 _INT( 0x7000 )
614#define _INTSET1 _INT( 0x7400 )
615
616#if ( LANGUAGE == C )
617#define INTTEST0 (*((volatile Word *) SA1101_p2v (_INTTEST0)))
618#define INTTEST1 (*((volatile Word *) SA1101_p2v (_INTTEST1)))
619#define INTENABLE0 (*((volatile Word *) SA1101_p2v (_INTENABLE0)))
620#define INTENABLE1 (*((volatile Word *) SA1101_p2v (_INTENABLE1)))
621#define INTPOL0 (*((volatile Word *) SA1101_p2v (_INTPOL0)))
622#define INTPOL1 (*((volatile Word *) SA1101_p2v (_INTPOL1)))
623#define INTTSTSEL (*((volatile Word *) SA1101_p2v (_INTTSTSEL)))
624#define INTSTATCLR0 (*((volatile Word *) SA1101_p2v (_INTSTATCLR0)))
625#define INTSTATCLR1 (*((volatile Word *) SA1101_p2v (_INTSTATCLR1)))
626#define INTSET0 (*((volatile Word *) SA1101_p2v (_INTSET0)))
627#define INTSET1 (*((volatile Word *) SA1101_p2v (_INTSET1)))
628
629#endif /* LANGUAGE == C */
630
631/*
632 * PS/2 Trackpad and Mouse Interfaces
633 *
634 * Registers (prefix kbd applies to trackpad interface, mse to mouse)
635 * KBDCR Control Register
636 * KBDSTAT Status Register
637 * KBDDATA Transmit/Receive Data register
638 * KBDCLKDIV Clock Division Register
639 * KBDPRECNT Clock Precount Register
640 * KBDTEST1 Test register 1
641 * KBDTEST2 Test register 2
642 * KBDTEST3 Test register 3
643 * KBDTEST4 Test register 4
644 * MSECR
645 * MSESTAT
646 * MSEDATA
647 * MSECLKDIV
648 * MSEPRECNT
649 * MSETEST1
650 * MSETEST2
651 * MSETEST3
652 * MSETEST4
653 *
654 */
655
656#define _KBD( x ) _SA1101( ( x ) + __TRACK_INTERFACE )
657#define _MSE( x ) _SA1101( ( x ) + __MOUSE_INTERFACE )
658
659#define _KBDCR _KBD( 0x0000 )
660#define _KBDSTAT _KBD( 0x0400 )
661#define _KBDDATA _KBD( 0x0800 )
662#define _KBDCLKDIV _KBD( 0x0c00 )
663#define _KBDPRECNT _KBD( 0x1000 )
664#define _KBDTEST1 _KBD( 0x2000 )
665#define _KBDTEST2 _KBD( 0x2400 )
666#define _KBDTEST3 _KBD( 0x2800 )
667#define _KBDTEST4 _KBD( 0x2c00 )
668#define _MSECR _MSE( 0x0000 )
669#define _MSESTAT _MSE( 0x0400 )
670#define _MSEDATA _MSE( 0x0800 )
671#define _MSECLKDIV _MSE( 0x0c00 )
672#define _MSEPRECNT _MSE( 0x1000 )
673#define _MSETEST1 _MSE( 0x2000 )
674#define _MSETEST2 _MSE( 0x2400 )
675#define _MSETEST3 _MSE( 0x2800 )
676#define _MSETEST4 _MSE( 0x2c00 )
677
678#if ( LANGUAGE == C )
679
680#define KBDCR (*((volatile Word *) SA1101_p2v (_KBDCR)))
681#define KBDSTAT (*((volatile Word *) SA1101_p2v (_KBDSTAT)))
682#define KBDDATA (*((volatile Word *) SA1101_p2v (_KBDDATA)))
683#define KBDCLKDIV (*((volatile Word *) SA1101_p2v (_KBDCLKDIV)))
684#define KBDPRECNT (*((volatile Word *) SA1101_p2v (_KBDPRECNT)))
685#define KBDTEST1 (*((volatile Word *) SA1101_p2v (_KBDTEST1)))
686#define KBDTEST2 (*((volatile Word *) SA1101_p2v (_KBDTEST2)))
687#define KBDTEST3 (*((volatile Word *) SA1101_p2v (_KBDTEST3)))
688#define KBDTEST4 (*((volatile Word *) SA1101_p2v (_KBDTEST4)))
689#define MSECR (*((volatile Word *) SA1101_p2v (_MSECR)))
690#define MSESTAT (*((volatile Word *) SA1101_p2v (_MSESTAT)))
691#define MSEDATA (*((volatile Word *) SA1101_p2v (_MSEDATA)))
692#define MSECLKDIV (*((volatile Word *) SA1101_p2v (_MSECLKDIV)))
693#define MSEPRECNT (*((volatile Word *) SA1101_p2v (_MSEPRECNT)))
694#define MSETEST1 (*((volatile Word *) SA1101_p2v (_MSETEST1)))
695#define MSETEST2 (*((volatile Word *) SA1101_p2v (_MSETEST2)))
696#define MSETEST3 (*((volatile Word *) SA1101_p2v (_MSETEST3)))
697#define MSETEST4 (*((volatile Word *) SA1101_p2v (_MSETEST4)))
698
699
700#define KBDCR_ENA 0x08
701#define KBDCR_FKD 0x02
702#define KBDCR_FKC 0x01
703
704#define KBDSTAT_TXE 0x80
705#define KBDSTAT_TXB 0x40
706#define KBDSTAT_RXF 0x20
707#define KBDSTAT_RXB 0x10
708#define KBDSTAT_ENA 0x08
709#define KBDSTAT_RXP 0x04
710#define KBDSTAT_KBD 0x02
711#define KBDSTAT_KBC 0x01
712
713#define KBDCLKDIV_DivVal Fld(4,0)
714
715#define MSECR_ENA 0x08
716#define MSECR_FKD 0x02
717#define MSECR_FKC 0x01
718
719#define MSESTAT_TXE 0x80
720#define MSESTAT_TXB 0x40
721#define MSESTAT_RXF 0x20
722#define MSESTAT_RXB 0x10
723#define MSESTAT_ENA 0x08
724#define MSESTAT_RXP 0x04
725#define MSESTAT_MSD 0x02
726#define MSESTAT_MSC 0x01
727
728#define MSECLKDIV_DivVal Fld(4,0)
729
730#define KBDTEST1_CD 0x80
731#define KBDTEST1_RC1 0x40
732#define KBDTEST1_MC 0x20
733#define KBDTEST1_C Fld(2,3)
734#define KBDTEST1_T2 0x40
735#define KBDTEST1_T1 0x20
736#define KBDTEST1_T0 0x10
737#define KBDTEST2_TICBnRES 0x08
738#define KBDTEST2_RKC 0x04
739#define KBDTEST2_RKD 0x02
740#define KBDTEST2_SEL 0x01
741#define KBDTEST3_ms_16 0x80
742#define KBDTEST3_us_64 0x40
743#define KBDTEST3_us_16 0x20
744#define KBDTEST3_DIV8 0x10
745#define KBDTEST3_DIn 0x08
746#define KBDTEST3_CIn 0x04
747#define KBDTEST3_KD 0x02
748#define KBDTEST3_KC 0x01
749#define KBDTEST4_BC12 0x80
750#define KBDTEST4_BC11 0x40
751#define KBDTEST4_TRES 0x20
752#define KBDTEST4_CLKOE 0x10
753#define KBDTEST4_CRES 0x08
754#define KBDTEST4_RXB 0x04
755#define KBDTEST4_TXB 0x02
756#define KBDTEST4_SRX 0x01
757
758#define MSETEST1_CD 0x80
759#define MSETEST1_RC1 0x40
760#define MSETEST1_MC 0x20
761#define MSETEST1_C Fld(2,3)
762#define MSETEST1_T2 0x40
763#define MSETEST1_T1 0x20
764#define MSETEST1_T0 0x10
765#define MSETEST2_TICBnRES 0x08
766#define MSETEST2_RKC 0x04
767#define MSETEST2_RKD 0x02
768#define MSETEST2_SEL 0x01
769#define MSETEST3_ms_16 0x80
770#define MSETEST3_us_64 0x40
771#define MSETEST3_us_16 0x20
772#define MSETEST3_DIV8 0x10
773#define MSETEST3_DIn 0x08
774#define MSETEST3_CIn 0x04
775#define MSETEST3_KD 0x02
776#define MSETEST3_KC 0x01
777#define MSETEST4_BC12 0x80
778#define MSETEST4_BC11 0x40
779#define MSETEST4_TRES 0x20
780#define MSETEST4_CLKOE 0x10
781#define MSETEST4_CRES 0x08
782#define MSETEST4_RXB 0x04
783#define MSETEST4_TXB 0x02
784#define MSETEST4_SRX 0x01
785
786#endif /* LANGUAGE == C */
787
788
789/*
790 * General-Purpose I/O Interface
791 *
792 * Registers
793 * PADWR Port A Data Write Register
794 * PBDWR Port B Data Write Register
795 * PADRR Port A Data Read Register
796 * PBDRR Port B Data Read Register
797 * PADDR Port A Data Direction Register
798 * PBDDR Port B Data Direction Register
799 * PASSR Port A Sleep State Register
800 * PBSSR Port B Sleep State Register
801 *
802 */
803
804#define _PIO( x ) _SA1101( ( x ) + __GPIO_INTERFACE )
805
806#define _PADWR _PIO( 0x0000 )
807#define _PBDWR _PIO( 0x0400 )
808#define _PADRR _PIO( 0x0000 )
809#define _PBDRR _PIO( 0x0400 )
810#define _PADDR _PIO( 0x0800 )
811#define _PBDDR _PIO( 0x0c00 )
812#define _PASSR _PIO( 0x1000 )
813#define _PBSSR _PIO( 0x1400 )
814
815
816#if ( LANGUAGE == C )
817
818
819#define PADWR (*((volatile Word *) SA1101_p2v (_PADWR)))
820#define PBDWR (*((volatile Word *) SA1101_p2v (_PBDWR)))
821#define PADRR (*((volatile Word *) SA1101_p2v (_PADRR)))
822#define PBDRR (*((volatile Word *) SA1101_p2v (_PBDRR)))
823#define PADDR (*((volatile Word *) SA1101_p2v (_PADDR)))
824#define PBDDR (*((volatile Word *) SA1101_p2v (_PBDDR)))
825#define PASSR (*((volatile Word *) SA1101_p2v (_PASSR)))
826#define PBSSR (*((volatile Word *) SA1101_p2v (_PBSSR)))
827
828#endif
829
830
831
832/*
833 * Keypad Interface
834 *
835 * Registers
836 * PXDWR
837 * PXDRR
838 * PYDWR
839 * PYDRR
840 *
841 */
842
843#define _KEYPAD( x ) _SA1101( ( x ) + __KEYPAD_INTERFACE )
844
845#define _PXDWR _KEYPAD( 0x0000 )
846#define _PXDRR _KEYPAD( 0x0000 )
847#define _PYDWR _KEYPAD( 0x0400 )
848#define _PYDRR _KEYPAD( 0x0400 )
849
850#if ( LANGUAGE == C )
851
852
853#define PXDWR (*((volatile Word *) SA1101_p2v (_PXDWR)))
854#define PXDRR (*((volatile Word *) SA1101_p2v (_PXDRR)))
855#define PYDWR (*((volatile Word *) SA1101_p2v (_PYDWR)))
856#define PYDRR (*((volatile Word *) SA1101_p2v (_PYDRR)))
857
858#endif
859
860
861
862/*
863 * PCMCIA Interface
864 *
865 * Registers
866 * PCSR Status Register
867 * PCCR Control Register
868 * PCSSR Sleep State Register
869 *
870 */
871
872#define _CARD( x ) _SA1101( ( x ) + __PCMCIA_INTERFACE )
873
874#define _PCSR _CARD( 0x0000 )
875#define _PCCR _CARD( 0x0400 )
876#define _PCSSR _CARD( 0x0800 )
877
878#if ( LANGUAGE == C )
879#define PCSR (*((volatile Word *) SA1101_p2v (_PCSR)))
880#define PCCR (*((volatile Word *) SA1101_p2v (_PCCR)))
881#define PCSSR (*((volatile Word *) SA1101_p2v (_PCSSR)))
882
883#define PCSR_S0_ready 0x0001
884#define PCSR_S1_ready 0x0002
885#define PCSR_S0_detected 0x0004
886#define PCSR_S1_detected 0x0008
887#define PCSR_S0_VS1 0x0010
888#define PCSR_S0_VS2 0x0020
889#define PCSR_S1_VS1 0x0040
890#define PCSR_S1_VS2 0x0080
891#define PCSR_S0_WP 0x0100
892#define PCSR_S1_WP 0x0200
893#define PCSR_S0_BVD1_nSTSCHG 0x0400
894#define PCSR_S0_BVD2_nSPKR 0x0800
895#define PCSR_S1_BVD1_nSTSCHG 0x1000
896#define PCSR_S1_BVD2_nSPKR 0x2000
897
898#define PCCR_S0_VPP0 0x0001
899#define PCCR_S0_VPP1 0x0002
900#define PCCR_S0_VCC0 0x0004
901#define PCCR_S0_VCC1 0x0008
902#define PCCR_S1_VPP0 0x0010
903#define PCCR_S1_VPP1 0x0020
904#define PCCR_S1_VCC0 0x0040
905#define PCCR_S1_VCC1 0x0080
906#define PCCR_S0_reset 0x0100
907#define PCCR_S1_reset 0x0200
908#define PCCR_S0_float 0x0400
909#define PCCR_S1_float 0x0800
910
911#define PCSSR_S0_VCC0 0x0001
912#define PCSSR_S0_VCC1 0x0002
913#define PCSSR_S0_VPP0 0x0004
914#define PCSSR_S0_VPP1 0x0008
915#define PCSSR_S0_control 0x0010
916#define PCSSR_S1_VCC0 0x0020
917#define PCSSR_S1_VCC1 0x0040
918#define PCSSR_S1_VPP0 0x0080
919#define PCSSR_S1_VPP1 0x0100
920#define PCSSR_S1_control 0x0200
921
922#endif
923
924#undef C
925#undef Assembly
diff --git a/arch/arm/mach-sa1100/include/mach/hardware.h b/arch/arm/mach-sa1100/include/mach/hardware.h
index 52b8f6d25bef..cc43f95f33cc 100644
--- a/arch/arm/mach-sa1100/include/mach/hardware.h
+++ b/arch/arm/mach-sa1100/include/mach/hardware.h
@@ -52,8 +52,4 @@
52 52
53#include "SA-1100.h" 53#include "SA-1100.h"
54 54
55#ifdef CONFIG_SA1101
56#include "SA-1101.h"
57#endif
58
59#endif /* _ASM_ARCH_HARDWARE_H */ 55#endif /* _ASM_ARCH_HARDWARE_H */
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig
index c1799dd1d0d9..f68e8ec29447 100644
--- a/arch/arm/mm/Kconfig
+++ b/arch/arm/mm/Kconfig
@@ -991,7 +991,7 @@ config CACHE_TAUROS2
991config CACHE_UNIPHIER 991config CACHE_UNIPHIER
992 bool "Enable the UniPhier outer cache controller" 992 bool "Enable the UniPhier outer cache controller"
993 depends on ARCH_UNIPHIER 993 depends on ARCH_UNIPHIER
994 default y 994 select ARM_L1_CACHE_SHIFT_7
995 select OUTER_CACHE 995 select OUTER_CACHE
996 select OUTER_CACHE_SYNC 996 select OUTER_CACHE_SYNC
997 help 997 help
@@ -1012,8 +1012,14 @@ config ARM_L1_CACHE_SHIFT_6
1012 help 1012 help
1013 Setting ARM L1 cache line size to 64 Bytes. 1013 Setting ARM L1 cache line size to 64 Bytes.
1014 1014
1015config ARM_L1_CACHE_SHIFT_7
1016 bool
1017 help
1018 Setting ARM L1 cache line size to 128 Bytes.
1019
1015config ARM_L1_CACHE_SHIFT 1020config ARM_L1_CACHE_SHIFT
1016 int 1021 int
1022 default 7 if ARM_L1_CACHE_SHIFT_7
1017 default 6 if ARM_L1_CACHE_SHIFT_6 1023 default 6 if ARM_L1_CACHE_SHIFT_6
1018 default 5 1024 default 5
1019 1025
diff --git a/arch/arm/mm/pageattr.c b/arch/arm/mm/pageattr.c
index d19b1ad29b07..3b69f2642513 100644
--- a/arch/arm/mm/pageattr.c
+++ b/arch/arm/mm/pageattr.c
@@ -34,28 +34,29 @@ static int change_page_range(pte_t *ptep, pgtable_t token, unsigned long addr,
34 return 0; 34 return 0;
35} 35}
36 36
37static bool in_range(unsigned long start, unsigned long size,
38 unsigned long range_start, unsigned long range_end)
39{
40 return start >= range_start && start < range_end &&
41 size <= range_end - start;
42}
43
37static int change_memory_common(unsigned long addr, int numpages, 44static int change_memory_common(unsigned long addr, int numpages,
38 pgprot_t set_mask, pgprot_t clear_mask) 45 pgprot_t set_mask, pgprot_t clear_mask)
39{ 46{
40 unsigned long start = addr; 47 unsigned long start = addr & PAGE_MASK;
41 unsigned long size = PAGE_SIZE*numpages; 48 unsigned long end = PAGE_ALIGN(addr) + numpages * PAGE_SIZE;
42 unsigned long end = start + size; 49 unsigned long size = end - start;
43 int ret; 50 int ret;
44 struct page_change_data data; 51 struct page_change_data data;
45 52
46 if (!IS_ALIGNED(addr, PAGE_SIZE)) { 53 WARN_ON_ONCE(start != addr);
47 start &= PAGE_MASK;
48 end = start + size;
49 WARN_ON_ONCE(1);
50 }
51 54
52 if (!numpages) 55 if (!size)
53 return 0; 56 return 0;
54 57
55 if (start < MODULES_VADDR || start >= MODULES_END) 58 if (!in_range(start, size, MODULES_VADDR, MODULES_END) &&
56 return -EINVAL; 59 !in_range(start, size, VMALLOC_START, VMALLOC_END))
57
58 if (end < MODULES_VADDR || start >= MODULES_END)
59 return -EINVAL; 60 return -EINVAL;
60 61
61 data.set_mask = set_mask; 62 data.set_mask = set_mask;
diff --git a/arch/arm/tools/Makefile b/arch/arm/tools/Makefile
index 6e4cd1867a9f..92eb5c3b486c 100644
--- a/arch/arm/tools/Makefile
+++ b/arch/arm/tools/Makefile
@@ -4,10 +4,76 @@
4# Copyright (C) 2001 Russell King 4# Copyright (C) 2001 Russell King
5# 5#
6 6
7gen := arch/$(ARCH)/include/generated
8kapi := $(gen)/asm
9uapi := $(gen)/uapi/asm
10syshdr := $(srctree)/$(src)/syscallhdr.sh
11sysnr := $(srctree)/$(src)/syscallnr.sh
12systbl := $(srctree)/$(src)/syscalltbl.sh
13syscall := $(srctree)/$(src)/syscall.tbl
14
15gen-y := $(gen)/calls-oabi.S
16gen-y += $(gen)/calls-eabi.S
17kapi-hdrs-y := $(kapi)/unistd-nr.h
18kapi-hdrs-y += $(kapi)/mach-types.h
19uapi-hdrs-y := $(uapi)/unistd-common.h
20uapi-hdrs-y += $(uapi)/unistd-oabi.h
21uapi-hdrs-y += $(uapi)/unistd-eabi.h
22
23targets += $(addprefix ../../../,$(gen-y) $(kapi-hdrs-y) $(uapi-hdrs-y))
24
25PHONY += kapi uapi
26
27kapi: $(kapi-hdrs-y) $(gen-y)
28
29uapi: $(uapi-hdrs-y)
30
31# Create output directory if not already present
32_dummy := $(shell [ -d '$(kapi)' ] || mkdir -p '$(kapi)') \
33 $(shell [ -d '$(uapi)' ] || mkdir -p '$(uapi)')
34
7quiet_cmd_gen_mach = GEN $@ 35quiet_cmd_gen_mach = GEN $@
8 cmd_gen_mach = mkdir -p $(dir $@) && \ 36 cmd_gen_mach = mkdir -p $(dir $@) && \
9 $(AWK) -f $(filter-out $(PHONY),$^) > $@ || \ 37 $(AWK) -f $(filter-out $(PHONY),$^) > $@ || \
10 { rm -f $@; /bin/false; } 38 { rm -f $@; /bin/false; }
11 39
12include/generated/mach-types.h: $(src)/gen-mach-types $(src)/mach-types FORCE 40$(kapi)/mach-types.h: $(src)/gen-mach-types $(src)/mach-types FORCE
13 $(call if_changed,gen_mach) 41 $(call if_changed,gen_mach)
42
43quiet_cmd_syshdr = SYSHDR $@
44 cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \
45 '$(syshdr_abi_$(basetarget))' \
46 '$(syshdr_pfx_$(basetarget))' \
47 '__NR_SYSCALL_BASE'
48
49quiet_cmd_systbl = SYSTBL $@
50 cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \
51 '$(systbl_abi_$(basetarget))'
52
53quiet_cmd_sysnr = SYSNR $@
54 cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \
55 '$(syshdr_abi_$(basetarget))'
56
57syshdr_abi_unistd-common := common
58$(uapi)/unistd-common.h: $(syscall) $(syshdr) FORCE
59 $(call if_changed,syshdr)
60
61syshdr_abi_unistd-oabi := oabi
62$(uapi)/unistd-oabi.h: $(syscall) $(syshdr) FORCE
63 $(call if_changed,syshdr)
64
65syshdr_abi_unistd-eabi := eabi
66$(uapi)/unistd-eabi.h: $(syscall) $(syshdr) FORCE
67 $(call if_changed,syshdr)
68
69sysnr_abi_unistd-nr := common,oabi,eabi,compat
70$(kapi)/unistd-nr.h: $(syscall) $(sysnr) FORCE
71 $(call if_changed,sysnr)
72
73systbl_abi_calls-oabi := common,oabi
74$(gen)/calls-oabi.S: $(syscall) $(systbl) FORCE
75 $(call if_changed,systbl)
76
77systbl_abi_calls-eabi := common,eabi
78$(gen)/calls-eabi.S: $(syscall) $(systbl) FORCE
79 $(call if_changed,systbl)
diff --git a/arch/arm/tools/mach-types b/arch/arm/tools/mach-types
index 2ed1b8a922ed..a9313b66f770 100644
--- a/arch/arm/tools/mach-types
+++ b/arch/arm/tools/mach-types
@@ -16,7 +16,7 @@
16# are merged into mainline or have been edited in the machine database 16# are merged into mainline or have been edited in the machine database
17# within the last 12 months. References to machine_is_NAME() do not count! 17# within the last 12 months. References to machine_is_NAME() do not count!
18# 18#
19# Last update: Fri Mar 22 17:24:50 2013 19# Last update: Sun Oct 30 20:21:01 2016
20# 20#
21# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 21# machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number
22# 22#
@@ -152,7 +152,6 @@ colibri MACH_COLIBRI COLIBRI 729
152gateway7001 MACH_GATEWAY7001 GATEWAY7001 731 152gateway7001 MACH_GATEWAY7001 GATEWAY7001 731
153pcm027 MACH_PCM027 PCM027 732 153pcm027 MACH_PCM027 PCM027 732
154anubis MACH_ANUBIS ANUBIS 734 154anubis MACH_ANUBIS ANUBIS 734
155xboardgp8 MACH_XBOARDGP8 XBOARDGP8 742
156akita MACH_AKITA AKITA 744 155akita MACH_AKITA AKITA 744
157e330 MACH_E330 E330 753 156e330 MACH_E330 E330 753
158nokia770 MACH_NOKIA770 NOKIA770 755 157nokia770 MACH_NOKIA770 NOKIA770 755
@@ -393,7 +392,6 @@ anw6410 MACH_ANW6410 ANW6410 2183
393imx27_visstrim_m10 MACH_IMX27_VISSTRIM_M10 IMX27_VISSTRIM_M10 2187 392imx27_visstrim_m10 MACH_IMX27_VISSTRIM_M10 IMX27_VISSTRIM_M10 2187
394portuxg20 MACH_PORTUXG20 PORTUXG20 2191 393portuxg20 MACH_PORTUXG20 PORTUXG20 2191
395smdkc110 MACH_SMDKC110 SMDKC110 2193 394smdkc110 MACH_SMDKC110 SMDKC110 2193
396cabespresso MACH_CABESPRESSO CABESPRESSO 2194
397omap3517evm MACH_OMAP3517EVM OMAP3517EVM 2200 395omap3517evm MACH_OMAP3517EVM OMAP3517EVM 2200
398netspace_v2 MACH_NETSPACE_V2 NETSPACE_V2 2201 396netspace_v2 MACH_NETSPACE_V2 NETSPACE_V2 2201
399netspace_max_v2 MACH_NETSPACE_MAX_V2 NETSPACE_MAX_V2 2202 397netspace_max_v2 MACH_NETSPACE_MAX_V2 NETSPACE_MAX_V2 2202
@@ -412,7 +410,6 @@ bigdisk MACH_BIGDISK BIGDISK 2283
412at91sam9g20ek_2mmc MACH_AT91SAM9G20EK_2MMC AT91SAM9G20EK_2MMC 2288 410at91sam9g20ek_2mmc MACH_AT91SAM9G20EK_2MMC AT91SAM9G20EK_2MMC 2288
413bcmring MACH_BCMRING BCMRING 2289 411bcmring MACH_BCMRING BCMRING 2289
414mahimahi MACH_MAHIMAHI MAHIMAHI 2304 412mahimahi MACH_MAHIMAHI MAHIMAHI 2304
415cerebric MACH_CEREBRIC CEREBRIC 2311
416smdk6442 MACH_SMDK6442 SMDK6442 2324 413smdk6442 MACH_SMDK6442 SMDK6442 2324
417openrd_base MACH_OPENRD_BASE OPENRD_BASE 2325 414openrd_base MACH_OPENRD_BASE OPENRD_BASE 2325
418devkit8000 MACH_DEVKIT8000 DEVKIT8000 2330 415devkit8000 MACH_DEVKIT8000 DEVKIT8000 2330
@@ -435,9 +432,7 @@ tnetv107x MACH_TNETV107X TNETV107X 2418
435smdkv210 MACH_SMDKV210 SMDKV210 2456 432smdkv210 MACH_SMDKV210 SMDKV210 2456
436omap_zoom3 MACH_OMAP_ZOOM3 OMAP_ZOOM3 2464 433omap_zoom3 MACH_OMAP_ZOOM3 OMAP_ZOOM3 2464
437omap_3630sdp MACH_OMAP_3630SDP OMAP_3630SDP 2465 434omap_3630sdp MACH_OMAP_3630SDP OMAP_3630SDP 2465
438cybook2440 MACH_CYBOOK2440 CYBOOK2440 2466
439smartq7 MACH_SMARTQ7 SMARTQ7 2479 435smartq7 MACH_SMARTQ7 SMARTQ7 2479
440watson_efm_plugin MACH_WATSON_EFM_PLUGIN WATSON_EFM_PLUGIN 2491
441g4evm MACH_G4EVM G4EVM 2493 436g4evm MACH_G4EVM G4EVM 2493
442omapl138_hawkboard MACH_OMAPL138_HAWKBOARD OMAPL138_HAWKBOARD 2495 437omapl138_hawkboard MACH_OMAPL138_HAWKBOARD OMAPL138_HAWKBOARD 2495
443ts41x MACH_TS41X TS41X 2502 438ts41x MACH_TS41X TS41X 2502
@@ -472,7 +467,6 @@ igep0030 MACH_IGEP0030 IGEP0030 2717
472sbc3530 MACH_SBC3530 SBC3530 2722 467sbc3530 MACH_SBC3530 SBC3530 2722
473saarb MACH_SAARB SAARB 2727 468saarb MACH_SAARB SAARB 2727
474harmony MACH_HARMONY HARMONY 2731 469harmony MACH_HARMONY HARMONY 2731
475cybook_orizon MACH_CYBOOK_ORIZON CYBOOK_ORIZON 2733
476msm7x30_fluid MACH_MSM7X30_FLUID MSM7X30_FLUID 2741 470msm7x30_fluid MACH_MSM7X30_FLUID MSM7X30_FLUID 2741
477cm_t3517 MACH_CM_T3517 CM_T3517 2750 471cm_t3517 MACH_CM_T3517 CM_T3517 2750
478wbd222 MACH_WBD222 WBD222 2753 472wbd222 MACH_WBD222 WBD222 2753
@@ -490,6 +484,7 @@ eukrea_cpuimx51 MACH_EUKREA_CPUIMX51 EUKREA_CPUIMX51 2823
490smdkc210 MACH_SMDKC210 SMDKC210 2838 484smdkc210 MACH_SMDKC210 SMDKC210 2838
491t5325 MACH_T5325 T5325 2846 485t5325 MACH_T5325 T5325 2846
492income MACH_INCOME INCOME 2849 486income MACH_INCOME INCOME 2849
487meson MACH_MESON MESON 2853
493goni MACH_GONI GONI 2862 488goni MACH_GONI GONI 2862
494bv07 MACH_BV07 BV07 2882 489bv07 MACH_BV07 BV07 2882
495openrd_ultimate MACH_OPENRD_ULTIMATE OPENRD_ULTIMATE 2884 490openrd_ultimate MACH_OPENRD_ULTIMATE OPENRD_ULTIMATE 2884
@@ -523,9 +518,9 @@ prima2_evb MACH_PRIMA2_EVB PRIMA2_EVB 3103
523paz00 MACH_PAZ00 PAZ00 3128 518paz00 MACH_PAZ00 PAZ00 3128
524acmenetusfoxg20 MACH_ACMENETUSFOXG20 ACMENETUSFOXG20 3129 519acmenetusfoxg20 MACH_ACMENETUSFOXG20 ACMENETUSFOXG20 3129
525ag5evm MACH_AG5EVM AG5EVM 3189 520ag5evm MACH_AG5EVM AG5EVM 3189
526ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206
527wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207 521wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207
528trimslice MACH_TRIMSLICE TRIMSLICE 3209 522trimslice MACH_TRIMSLICE TRIMSLICE 3209
523mackerel MACH_MACKEREL MACKEREL 3211
529kaen MACH_KAEN KAEN 3217 524kaen MACH_KAEN KAEN 3217
530nokia_rm680 MACH_NOKIA_RM680 NOKIA_RM680 3220 525nokia_rm680 MACH_NOKIA_RM680 NOKIA_RM680 3220
531msm8960_sim MACH_MSM8960_SIM MSM8960_SIM 3230 526msm8960_sim MACH_MSM8960_SIM MSM8960_SIM 3230
@@ -540,469 +535,66 @@ snowball MACH_SNOWBALL SNOWBALL 3363
540xilinx_ep107 MACH_XILINX_EP107 XILINX_EP107 3378 535xilinx_ep107 MACH_XILINX_EP107 XILINX_EP107 3378
541nuri MACH_NURI NURI 3379 536nuri MACH_NURI NURI 3379
542origen MACH_ORIGEN ORIGEN 3455 537origen MACH_ORIGEN ORIGEN 3455
538xarina MACH_XARINA XARINA 3476
543nspire MACH_NSPIRE NSPIRE 3503 539nspire MACH_NSPIRE NSPIRE 3503
544nokia_rm696 MACH_NOKIA_RM696 NOKIA_RM696 3522 540nokia_rm696 MACH_NOKIA_RM696 NOKIA_RM696 3522
545mikrap_x168 MACH_MIKRAP_X168 MIKRAP_X168 3543
546deto_macarm9 MACH_DETO_MACARM9 DETO_MACARM9 3568
547m28evk MACH_M28EVK M28EVK 3613 541m28evk MACH_M28EVK M28EVK 3613
548kota2 MACH_KOTA2 KOTA2 3616 542kota2 MACH_KOTA2 KOTA2 3616
549bonito MACH_BONITO BONITO 3623 543bonito MACH_BONITO BONITO 3623
550omap3_egf MACH_OMAP3_EGF OMAP3_EGF 3637
551smdk4212 MACH_SMDK4212 SMDK4212 3638 544smdk4212 MACH_SMDK4212 SMDK4212 3638
552apx4devkit MACH_APX4DEVKIT APX4DEVKIT 3712 545apx4devkit MACH_APX4DEVKIT APX4DEVKIT 3712
553smdk4412 MACH_SMDK4412 SMDK4412 3765 546smdk4412 MACH_SMDK4412 SMDK4412 3765
554marzen MACH_MARZEN MARZEN 3790 547marzen MACH_MARZEN MARZEN 3790
555krome MACH_KROME KROME 3797 548empc_a500 MACH_EMPC_A500 EMPC_A500 3848
556armadillo800eva MACH_ARMADILLO800EVA ARMADILLO800EVA 3863
557mx53_umobo MACH_MX53_UMOBO MX53_UMOBO 3927
558mt4 MACH_MT4 MT4 3981
559u8520 MACH_U8520 U8520 3990 549u8520 MACH_U8520 U8520 3990
560chupacabra MACH_CHUPACABRA CHUPACABRA 4098
561scorpion MACH_SCORPION SCORPION 4099
562davinci_he_hmi10 MACH_DAVINCI_HE_HMI10 DAVINCI_HE_HMI10 4100
563topkick MACH_TOPKICK TOPKICK 4101
564m3_auguestrush MACH_M3_AUGUESTRUSH M3_AUGUESTRUSH 4102
565ipc335x MACH_IPC335X IPC335X 4103
566sun4i MACH_SUN4I SUN4I 4104
567imx233_olinuxino MACH_IMX233_OLINUXINO IMX233_OLINUXINO 4105
568k2_wl MACH_K2_WL K2_WL 4106
569k2_ul MACH_K2_UL K2_UL 4107
570k2_cl MACH_K2_CL K2_CL 4108
571minbari_w MACH_MINBARI_W MINBARI_W 4109
572minbari_m MACH_MINBARI_M MINBARI_M 4110
573k035 MACH_K035 K035 4111
574ariel MACH_ARIEL ARIEL 4112
575arielsaarc MACH_ARIELSAARC ARIELSAARC 4113
576arieldkb MACH_ARIELDKB ARIELDKB 4114
577armadillo810 MACH_ARMADILLO810 ARMADILLO810 4115
578tam335x MACH_TAM335X TAM335X 4116
579grouper MACH_GROUPER GROUPER 4117
580mpcsa21_9g20 MACH_MPCSA21_9G20 MPCSA21_9G20 4118
581m6u_cpu MACH_M6U_CPU M6U_CPU 4119
582ginkgo MACH_GINKGO GINKGO 4121
583cgt_qmx6 MACH_CGT_QMX6 CGT_QMX6 4122
584profpga MACH_PROFPGA PROFPGA 4123
585acfx100oc MACH_ACFX100OC ACFX100OC 4124
586acfx100nb MACH_ACFX100NB ACFX100NB 4125
587capricorn MACH_CAPRICORN CAPRICORN 4126
588pisces MACH_PISCES PISCES 4127
589aries MACH_ARIES ARIES 4128
590cancer MACH_CANCER CANCER 4129
591leo MACH_LEO LEO 4130
592virgo MACH_VIRGO VIRGO 4131
593sagittarius MACH_SAGITTARIUS SAGITTARIUS 4132
594devil MACH_DEVIL DEVIL 4133
595ballantines MACH_BALLANTINES BALLANTINES 4134
596omap3_procerusvpu MACH_OMAP3_PROCERUSVPU OMAP3_PROCERUSVPU 4135
597my27 MACH_MY27 MY27 4136
598sun6i MACH_SUN6I SUN6I 4137
599sun5i MACH_SUN5I SUN5I 4138
600mx512_mx MACH_MX512_MX MX512_MX 4139
601kzm9g MACH_KZM9G KZM9G 4140
602vdstbn MACH_VDSTBN VDSTBN 4141
603cfa10036 MACH_CFA10036 CFA10036 4142
604cfa10049 MACH_CFA10049 CFA10049 4143
605pcm051 MACH_PCM051 PCM051 4144
606vybrid_vf7xx MACH_VYBRID_VF7XX VYBRID_VF7XX 4145
607vybrid_vf6xx MACH_VYBRID_VF6XX VYBRID_VF6XX 4146
608vybrid_vf5xx MACH_VYBRID_VF5XX VYBRID_VF5XX 4147
609vybrid_vf4xx MACH_VYBRID_VF4XX VYBRID_VF4XX 4148
610aria_g25 MACH_ARIA_G25 ARIA_G25 4149
611bcm21553 MACH_BCM21553 BCM21553 4150
612smdk5410 MACH_SMDK5410 SMDK5410 4151
613lpc18xx MACH_LPC18XX LPC18XX 4152
614oratisparty MACH_ORATISPARTY ORATISPARTY 4153
615qseven MACH_QSEVEN QSEVEN 4154
616gmv_generic MACH_GMV_GENERIC GMV_GENERIC 4155
617th_link_eth MACH_TH_LINK_ETH TH_LINK_ETH 4156
618tn_muninn MACH_TN_MUNINN TN_MUNINN 4157
619rampage MACH_RAMPAGE RAMPAGE 4158
620visstrim_mv10 MACH_VISSTRIM_MV10 VISSTRIM_MV10 4159
621mx28_wilma MACH_MX28_WILMA MX28_WILMA 4164
622msm8625_ffa MACH_MSM8625_FFA MSM8625_FFA 4166
623vpu101 MACH_VPU101 VPU101 4167
624baileys MACH_BAILEYS BAILEYS 4169
625familybox MACH_FAMILYBOX FAMILYBOX 4170
626ensemble_mx35 MACH_ENSEMBLE_MX35 ENSEMBLE_MX35 4171
627sc_sps_1 MACH_SC_SPS_1 SC_SPS_1 4172
628ucsimply_sam9260 MACH_UCSIMPLY_SAM9260 UCSIMPLY_SAM9260 4173
629unicorn MACH_UNICORN UNICORN 4174
630m9g45a MACH_M9G45A M9G45A 4175
631mtwebif MACH_MTWEBIF MTWEBIF 4176
632playstone MACH_PLAYSTONE PLAYSTONE 4177
633chelsea MACH_CHELSEA CHELSEA 4178
634bayern MACH_BAYERN BAYERN 4179
635mitwo MACH_MITWO MITWO 4180
636mx25_noah MACH_MX25_NOAH MX25_NOAH 4181
637stm_b2020 MACH_STM_B2020 STM_B2020 4182
638annax_src MACH_ANNAX_SRC ANNAX_SRC 4183
639ionics_stratus MACH_IONICS_STRATUS IONICS_STRATUS 4184
640hugo MACH_HUGO HUGO 4185
641em300 MACH_EM300 EM300 4186
642mmp3_qseven MACH_MMP3_QSEVEN MMP3_QSEVEN 4187
643bosphorus2 MACH_BOSPHORUS2 BOSPHORUS2 4188
644tt2200 MACH_TT2200 TT2200 4189
645ocelot3 MACH_OCELOT3 OCELOT3 4190
646tek_cobra MACH_TEK_COBRA TEK_COBRA 4191
647protou MACH_PROTOU PROTOU 4192
648msm8625_evt MACH_MSM8625_EVT MSM8625_EVT 4193
649mx53_sellwood MACH_MX53_SELLWOOD MX53_SELLWOOD 4194
650somiq_am35 MACH_SOMIQ_AM35 SOMIQ_AM35 4195
651somiq_am37 MACH_SOMIQ_AM37 SOMIQ_AM37 4196
652k2_plc_cl MACH_K2_PLC_CL K2_PLC_CL 4197
653tc2 MACH_TC2 TC2 4198
654dulex_j MACH_DULEX_J DULEX_J 4199
655stm_b2044 MACH_STM_B2044 STM_B2044 4200
656deluxe_j MACH_DELUXE_J DELUXE_J 4201
657mango2443 MACH_MANGO2443 MANGO2443 4202
658cp2dcg MACH_CP2DCG CP2DCG 4203
659cp2dtg MACH_CP2DTG CP2DTG 4204
660cp2dug MACH_CP2DUG CP2DUG 4205
661var_som_am33 MACH_VAR_SOM_AM33 VAR_SOM_AM33 4206
662pepper MACH_PEPPER PEPPER 4207
663mango2450 MACH_MANGO2450 MANGO2450 4208
664valente_wx_c9 MACH_VALENTE_WX_C9 VALENTE_WX_C9 4209
665minitv MACH_MINITV MINITV 4210
666u8540 MACH_U8540 U8540 4211
667iv_atlas_i_z7e MACH_IV_ATLAS_I_Z7E IV_ATLAS_I_Z7E 4212
668mach_type_sky MACH_MACH_TYPE_SKY MACH_TYPE_SKY 4214
669bluesky MACH_BLUESKY BLUESKY 4215
670ngrouter MACH_NGROUTER NGROUTER 4216
671mx53_denetim MACH_MX53_DENETIM MX53_DENETIM 4217
672opal MACH_OPAL OPAL 4218
673gnet_us3gref MACH_GNET_US3GREF GNET_US3GREF 4219
674gnet_nc3g MACH_GNET_NC3G GNET_NC3G 4220
675gnet_ge3g MACH_GNET_GE3G GNET_GE3G 4221
676adp2 MACH_ADP2 ADP2 4222
677tqma28 MACH_TQMA28 TQMA28 4223
678kacom3 MACH_KACOM3 KACOM3 4224
679rrhdemo MACH_RRHDEMO RRHDEMO 4225
680protodug MACH_PROTODUG PROTODUG 4226
681lago MACH_LAGO LAGO 4227
682ktt30 MACH_KTT30 KTT30 4228
683ts43xx MACH_TS43XX TS43XX 4229
684mx6q_denso MACH_MX6Q_DENSO MX6Q_DENSO 4230
685comsat_gsmumts8 MACH_COMSAT_GSMUMTS8 COMSAT_GSMUMTS8 4231
686dreamx MACH_DREAMX DREAMX 4232
687thunderstonem MACH_THUNDERSTONEM THUNDERSTONEM 4233
688yoyopad MACH_YOYOPAD YOYOPAD 4234
689yoyopatient MACH_YOYOPATIENT YOYOPATIENT 4235
690a10l MACH_A10L A10L 4236
691mq60 MACH_MQ60 MQ60 4237
692linkstation_lsql MACH_LINKSTATION_LSQL LINKSTATION_LSQL 4238
693am3703gateway MACH_AM3703GATEWAY AM3703GATEWAY 4239
694accipiter MACH_ACCIPITER ACCIPITER 4240
695magnidug MACH_MAGNIDUG MAGNIDUG 4242
696hydra MACH_HYDRA HYDRA 4243
697sun3i MACH_SUN3I SUN3I 4244
698stm_b2078 MACH_STM_B2078 STM_B2078 4245
699at91sam9263deskv2 MACH_AT91SAM9263DESKV2 AT91SAM9263DESKV2 4246
700deluxe_r MACH_DELUXE_R DELUXE_R 4247
701p_98_v MACH_P_98_V P_98_V 4248
702p_98_c MACH_P_98_C P_98_C 4249
703davinci_am18xx_omn MACH_DAVINCI_AM18XX_OMN DAVINCI_AM18XX_OMN 4250
704socfpga_cyclone5 MACH_SOCFPGA_CYCLONE5 SOCFPGA_CYCLONE5 4251
705cabatuin MACH_CABATUIN CABATUIN 4252
706yoyopad_ft MACH_YOYOPAD_FT YOYOPAD_FT 4253
707dan2400evb MACH_DAN2400EVB DAN2400EVB 4254
708dan3400evb MACH_DAN3400EVB DAN3400EVB 4255
709edm_sf_imx6 MACH_EDM_SF_IMX6 EDM_SF_IMX6 4256
710edm_cf_imx6 MACH_EDM_CF_IMX6 EDM_CF_IMX6 4257
711vpos3xx MACH_VPOS3XX VPOS3XX 4258
712vulcano_9x5 MACH_VULCANO_9X5 VULCANO_9X5 4259
713spmp8000 MACH_SPMP8000 SPMP8000 4260
714catalina MACH_CATALINA CATALINA 4261
715rd88f5181l_fe MACH_RD88F5181L_FE RD88F5181L_FE 4262
716mx535_mx MACH_MX535_MX MX535_MX 4263
717armadillo840 MACH_ARMADILLO840 ARMADILLO840 4264
718spc9000baseboard MACH_SPC9000BASEBOARD SPC9000BASEBOARD 4265
719iris MACH_IRIS IRIS 4266
720protodcg MACH_PROTODCG PROTODCG 4267
721palmtree MACH_PALMTREE PALMTREE 4268
722novena MACH_NOVENA NOVENA 4269
723ma_um MACH_MA_UM MA_UM 4270
724ma_am MACH_MA_AM MA_AM 4271
725ems348 MACH_EMS348 EMS348 4272
726cm_fx6 MACH_CM_FX6 CM_FX6 4273
727arndale MACH_ARNDALE ARNDALE 4274
728q5xr5 MACH_Q5XR5 Q5XR5 4275
729willow MACH_WILLOW WILLOW 4276
730omap3621_odyv3 MACH_OMAP3621_ODYV3 OMAP3621_ODYV3 4277
731omapl138_presonus MACH_OMAPL138_PRESONUS OMAPL138_PRESONUS 4278
732dvf99 MACH_DVF99 DVF99 4279
733impression_j MACH_IMPRESSION_J IMPRESSION_J 4280
734qblissa9 MACH_QBLISSA9 QBLISSA9 4281
735robin_heliview10 MACH_ROBIN_HELIVIEW10 ROBIN_HELIVIEW10 4282
736sun7i MACH_SUN7I SUN7I 4283
737mx6q_hdmidongle MACH_MX6Q_HDMIDONGLE MX6Q_HDMIDONGLE 4284
738mx6_sid2 MACH_MX6_SID2 MX6_SID2 4285
739helios_v3 MACH_HELIOS_V3 HELIOS_V3 4286
740helios_v4 MACH_HELIOS_V4 HELIOS_V4 4287
741q7_imx6 MACH_Q7_IMX6 Q7_IMX6 4288
742odroidx MACH_ODROIDX ODROIDX 4289
743robpro MACH_ROBPRO ROBPRO 4290
744research59if_mk1 MACH_RESEARCH59IF_MK1 RESEARCH59IF_MK1 4291
745bobsleigh MACH_BOBSLEIGH BOBSLEIGH 4292
746dcshgwt3 MACH_DCSHGWT3 DCSHGWT3 4293
747gld1018 MACH_GLD1018 GLD1018 4294
748ev10 MACH_EV10 EV10 4295
749nitrogen6x MACH_NITROGEN6X NITROGEN6X 4296
750p_107_bb MACH_P_107_BB P_107_BB 4297
751evita_utl MACH_EVITA_UTL EVITA_UTL 4298
752falconwing MACH_FALCONWING FALCONWING 4299
753dct3 MACH_DCT3 DCT3 4300
754cpx2e_cell MACH_CPX2E_CELL CPX2E_CELL 4301
755amiro MACH_AMIRO AMIRO 4302
756mx6q_brassboard MACH_MX6Q_BRASSBOARD MX6Q_BRASSBOARD 4303
757dalmore MACH_DALMORE DALMORE 4304
758omap3_portal7cp MACH_OMAP3_PORTAL7CP OMAP3_PORTAL7CP 4305
759tegra_pluto MACH_TEGRA_PLUTO TEGRA_PLUTO 4306
760mx6sl_evk MACH_MX6SL_EVK MX6SL_EVK 4307
761m7 MACH_M7 M7 4308
762pxm2 MACH_PXM2 PXM2 4309
763haba_knx_lite MACH_HABA_KNX_LITE HABA_KNX_LITE 4310
764tai MACH_TAI TAI 4311
765prototd MACH_PROTOTD PROTOTD 4312
766dst_tonto MACH_DST_TONTO DST_TONTO 4313
767draco MACH_DRACO DRACO 4314
768dxr2 MACH_DXR2 DXR2 4315
769rut MACH_RUT RUT 4316
770am180x_wsc MACH_AM180X_WSC AM180X_WSC 4317
771deluxe_u MACH_DELUXE_U DELUXE_U 4318
772deluxe_ul MACH_DELUXE_UL DELUXE_UL 4319
773at91sam9260medths MACH_AT91SAM9260MEDTHS AT91SAM9260MEDTHS 4320
774matrix516 MACH_MATRIX516 MATRIX516 4321
775vid401x MACH_VID401X VID401X 4322
776helios_v5 MACH_HELIOS_V5 HELIOS_V5 4323
777playpaq2 MACH_PLAYPAQ2 PLAYPAQ2 4324
778igam MACH_IGAM IGAM 4325
779amico_i MACH_AMICO_I AMICO_I 4326
780amico_e MACH_AMICO_E AMICO_E 4327
781sentient_mm3_ck MACH_SENTIENT_MM3_CK SENTIENT_MM3_CK 4328
782smx6 MACH_SMX6 SMX6 4329
783pango MACH_PANGO PANGO 4330
784ns115_stick MACH_NS115_STICK NS115_STICK 4331
785bctrm3 MACH_BCTRM3 BCTRM3 4332
786doctorws MACH_DOCTORWS DOCTORWS 4333
787m2601 MACH_M2601 M2601 4334
788vgg1111 MACH_VGG1111 VGG1111 4337
789countach MACH_COUNTACH COUNTACH 4338
790visstrim_sm20 MACH_VISSTRIM_SM20 VISSTRIM_SM20 4339
791a639 MACH_A639 A639 4340
792spacemonkey MACH_SPACEMONKEY SPACEMONKEY 4341
793zpdu_stamp MACH_ZPDU_STAMP ZPDU_STAMP 4342
794htc_g7_clone MACH_HTC_G7_CLONE HTC_G7_CLONE 4343
795ft2080_corvus MACH_FT2080_CORVUS FT2080_CORVUS 4344
796fisland MACH_FISLAND FISLAND 4345
797zpdu MACH_ZPDU ZPDU 4346
798urt MACH_URT URT 4347 550urt MACH_URT URT 4347
799conti_ovip MACH_CONTI_OVIP CONTI_OVIP 4348
800omapl138_nagra MACH_OMAPL138_NAGRA OMAPL138_NAGRA 4349
801da850_at3kp1 MACH_DA850_AT3KP1 DA850_AT3KP1 4350
802da850_at3kp2 MACH_DA850_AT3KP2 DA850_AT3KP2 4351
803surma MACH_SURMA SURMA 4352
804stm_b2092 MACH_STM_B2092 STM_B2092 4353
805mx535_ycr MACH_MX535_YCR MX535_YCR 4354
806m7_wl MACH_M7_WL M7_WL 4355
807m7_u MACH_M7_U M7_U 4356
808omap3_stndt_evm MACH_OMAP3_STNDT_EVM OMAP3_STNDT_EVM 4357
809m7_wlv MACH_M7_WLV M7_WLV 4358
810xam3517 MACH_XAM3517 XAM3517 4359
811a220 MACH_A220 A220 4360
812aclima_odie MACH_ACLIMA_ODIE ACLIMA_ODIE 4361
813vibble MACH_VIBBLE VIBBLE 4362
814k2_u MACH_K2_U K2_U 4363
815mx53_egf MACH_MX53_EGF MX53_EGF 4364
816novpek_imx53 MACH_NOVPEK_IMX53 NOVPEK_IMX53 4365
817novpek_imx6x MACH_NOVPEK_IMX6X NOVPEK_IMX6X 4366
818mx25_smartbox MACH_MX25_SMARTBOX MX25_SMARTBOX 4367
819eicg6410 MACH_EICG6410 EICG6410 4368
820picasso_e3 MACH_PICASSO_E3 PICASSO_E3 4369
821motonavigator MACH_MOTONAVIGATOR MOTONAVIGATOR 4370
822varioconnect2 MACH_VARIOCONNECT2 VARIOCONNECT2 4371
823deluxe_tw MACH_DELUXE_TW DELUXE_TW 4372
824kore3 MACH_KORE3 KORE3 4374
825mx6s_drs MACH_MX6S_DRS MX6S_DRS 4375
826cmimx6 MACH_CMIMX6 CMIMX6 4376
827roth MACH_ROTH ROTH 4377
828eq4ux MACH_EQ4UX EQ4UX 4378
829x1plus MACH_X1PLUS X1PLUS 4379
830modimx27 MACH_MODIMX27 MODIMX27 4380
831videon_hduac MACH_VIDEON_HDUAC VIDEON_HDUAC 4381
832blackbird MACH_BLACKBIRD BLACKBIRD 4382
833runmaster MACH_RUNMASTER RUNMASTER 4383
834ceres MACH_CERES CERES 4384
835nad435 MACH_NAD435 NAD435 4385
836ns115_proto_type MACH_NS115_PROTO_TYPE NS115_PROTO_TYPE 4386
837fs20_vcc MACH_FS20_VCC FS20_VCC 4387
838meson6tv_skt MACH_MESON6TV_SKT MESON6TV_SKT 4389
839keystone MACH_KEYSTONE KEYSTONE 4390 551keystone MACH_KEYSTONE KEYSTONE 4390
840pcm052 MACH_PCM052 PCM052 4391 552ckb_rza1h MACH_CKB_RZA1H CKB_RZA1H 4780
841qrd_skud_prime MACH_QRD_SKUD_PRIME QRD_SKUD_PRIME 4393 553bcm2835 MACH_BCM2835 BCM2835 4828
842guf_santaro MACH_GUF_SANTARO GUF_SANTARO 4395 554cm_3g MACH_CM_3G CM_3G 4943
843sheepshead MACH_SHEEPSHEAD SHEEPSHEAD 4396 555empc_aimx6 MACH_EMPC_AIMX6 EMPC_AIMX6 4958
844mx6_iwg15m_mxm MACH_MX6_IWG15M_MXM MX6_IWG15M_MXM 4397 556diyefis6410 MACH_DIYEFIS6410 DIYEFIS6410 5063
845mx6_iwg15m_q7 MACH_MX6_IWG15M_Q7 MX6_IWG15M_Q7 4398 557mx53_turing MACH_MX53_TURING MX53_TURING 5064
846at91sam9263if8mic MACH_AT91SAM9263IF8MIC AT91SAM9263IF8MIC 4399 558mx6dl_turing MACH_MX6DL_TURING MX6DL_TURING 5066
847marcopolo MACH_MARCOPOLO MARCOPOLO 4401 559mx53_indash MACH_MX53_INDASH MX53_INDASH 5067
848mx535_sdcr MACH_MX535_SDCR MX535_SDCR 4402 560mx6q_indash MACH_MX6Q_INDASH MX6Q_INDASH 5068
849mx53_csb2733 MACH_MX53_CSB2733 MX53_CSB2733 4403 561mx6dl_indash MACH_MX6DL_INDASH MX6DL_INDASH 5069
850diva MACH_DIVA DIVA 4404 562rts_g6 MACH_RTS_G6 RTS_G6 5070
851ncr_7744 MACH_NCR_7744 NCR_7744 4405 563ka_titan MACH_KA_TITAN KA_TITAN 5071
852macallan MACH_MACALLAN MACALLAN 4406 564cl_som_imx7 MACH_CL_SOM_IMX7 CL_SOM_IMX7 5072
853wnr3500 MACH_WNR3500 WNR3500 4407 565vvdn_mgsi_vsis MACH_VVDN_MGSI_VSIS VVDN_MGSI_VSIS 5073
854pgavrf MACH_PGAVRF PGAVRF 4408 566mx6q_nano MACH_MX6Q_NANO MX6Q_NANO 5074
855helios_v6 MACH_HELIOS_V6 HELIOS_V6 4409 567pdu001 MACH_PDU001 PDU001 5075
856lcct MACH_LCCT LCCT 4410 568cab_proyk MACH_CAB_PROYK CAB_PROYK 5076
857csndug MACH_CSNDUG CSNDUG 4411 569klin MACH_KLIN KLIN 5077
858wandboard_imx6 MACH_WANDBOARD_IMX6 WANDBOARD_IMX6 4412 570enman_steuerbox MACH_ENMAN_STEUERBOX ENMAN_STEUERBOX 5078
859omap4_jet MACH_OMAP4_JET OMAP4_JET 4413 571ls_stingray MACH_LS_STINGRAY LS_STINGRAY 5079
860tegra_roth MACH_TEGRA_ROTH TEGRA_ROTH 4414 572ipdu MACH_IPDU IPDU 5080
861m7dcg MACH_M7DCG M7DCG 4415 573linda MACH_LINDA LINDA 5081
862m7dug MACH_M7DUG M7DUG 4416 574mx6q_openrex MACH_MX6Q_OPENREX MX6Q_OPENREX 5082
863m7dtg MACH_M7DTG M7DTG 4417 575on100 MACH_ON100 ON100 5083
864ap42x MACH_AP42X AP42X 4418 576eminds_rtu12 MACH_EMINDS_RTU12 EMINDS_RTU12 5084
865var_som_mx6 MACH_VAR_SOM_MX6 VAR_SOM_MX6 4419 577eminds_avl10 MACH_EMINDS_AVL10 EMINDS_AVL10 5085
866pdlu MACH_PDLU PDLU 4420 578main_plc_lme MACH_MAIN_PLC_LME MAIN_PLC_LME 5086
867hydrogen MACH_HYDROGEN HYDROGEN 4421 579mspx MACH_MSPX MSPX 5087
868npa211e MACH_NPA211E NPA211E 4422 580cgw_300 MACH_CGW_300 CGW_300 5088
869arcadia MACH_ARCADIA ARCADIA 4423 581mx7d_cicada MACH_MX7D_CICADA MX7D_CICADA 5089
870arcadia_l MACH_ARCADIA_L ARCADIA_L 4424 582virt2real_dm365 MACH_VIRT2REAL_DM365 VIRT2REAL_DM365 5090
871msm8930dt MACH_MSM8930DT MSM8930DT 4425 583dm365_virt2real MACH_DM365_VIRT2REAL DM365_VIRT2REAL 5091
872ktam3874 MACH_KTAM3874 KTAM3874 4426 584h6073 MACH_H6073 H6073 5092
873cec4 MACH_CEC4 CEC4 4427 585gtgateway MACH_GTGATEWAY GTGATEWAY 5093
874ape6evm MACH_APE6EVM APE6EVM 4428 586xarina_standard MACH_XARINA_STANDARD XARINA_STANDARD 5094
875tx6 MACH_TX6 TX6 4429 587novasoms MACH_NOVASOMS NOVASOMS 5095
876cfa10037 MACH_CFA10037 CFA10037 4431 588novasomp MACH_NOVASOMP NOVASOMP 5096
877ezp1000 MACH_EZP1000 EZP1000 4433 589novasomu MACH_NOVASOMU NOVASOMU 5097
878wgr826v MACH_WGR826V WGR826V 4434 590mx6q_mpbd MACH_MX6Q_MPBD MX6Q_MPBD 5098
879exuma MACH_EXUMA EXUMA 4435 591ncr_1930 MACH_NCR_1930 NCR_1930 5099
880fregate MACH_FREGATE FREGATE 4436 592uap301 MACH_UAP301 UAP301 5100
881osirisimx508 MACH_OSIRISIMX508 OSIRISIMX508 4437 593urt02 MACH_URT02 URT02 5101
882st_exigo MACH_ST_EXIGO ST_EXIGO 4438 594atc8 MACH_ATC8 ATC8 5102
883pismo MACH_PISMO PISMO 4439 595iot_gateway MACH_IOT_GATEWAY IOT_GATEWAY 5103
884atc7 MACH_ATC7 ATC7 4440 596hsm_phoenix MACH_HSM_PHOENIX HSM_PHOENIX 5104
885nspireclp MACH_NSPIRECLP NSPIRECLP 4441 597missouri MACH_MISSOURI MISSOURI 5105
886nspiretp MACH_NSPIRETP NSPIRETP 4442 598remarkable MACH_REMARKABLE REMARKABLE 5106
887nspirecx MACH_NSPIRECX NSPIRECX 4443 599fa0113 MACH_FA0113 FA0113 5107
888maya MACH_MAYA MAYA 4444 600innova_statnettawm MACH_INNOVA_STATNETTAWM INNOVA_STATNETTAWM 5108
889wecct MACH_WECCT WECCT 4445
890m2s MACH_M2S M2S 4446
891msm8625q_evbd MACH_MSM8625Q_EVBD MSM8625Q_EVBD 4447
892tiny210 MACH_TINY210 TINY210 4448
893g3 MACH_G3 G3 4449
894hurricane MACH_HURRICANE HURRICANE 4450
895mx6_pod MACH_MX6_POD MX6_POD 4451
896elondcn MACH_ELONDCN ELONDCN 4452
897cwmx535 MACH_CWMX535 CWMX535 4453
898m7_wlj MACH_M7_WLJ M7_WLJ 4454
899qsp_arm MACH_QSP_ARM QSP_ARM 4455
900msm8625q_skud MACH_MSM8625Q_SKUD MSM8625Q_SKUD 4456
901htcmondrian MACH_HTCMONDRIAN HTCMONDRIAN 4457
902watson_ead MACH_WATSON_EAD WATSON_EAD 4458
903mitwoa MACH_MITWOA MITWOA 4459
904omap3_wolverine MACH_OMAP3_WOLVERINE OMAP3_WOLVERINE 4460
905mapletree MACH_MAPLETREE MAPLETREE 4461
906msm8625_fih_sae MACH_MSM8625_FIH_SAE MSM8625_FIH_SAE 4462
907epc35 MACH_EPC35 EPC35 4463
908smartrtu MACH_SMARTRTU SMARTRTU 4464
909rcm101 MACH_RCM101 RCM101 4465
910amx_imx53_mxx MACH_AMX_IMX53_MXX AMX_IMX53_MXX 4466
911acer_a12 MACH_ACER_A12 ACER_A12 4470
912sbc6x MACH_SBC6X SBC6X 4471
913u2 MACH_U2 U2 4472
914smdk4270 MACH_SMDK4270 SMDK4270 4473
915priscillag MACH_PRISCILLAG PRISCILLAG 4474
916priscillac MACH_PRISCILLAC PRISCILLAC 4475
917priscilla MACH_PRISCILLA PRISCILLA 4476
918innova_shpu_v2 MACH_INNOVA_SHPU_V2 INNOVA_SHPU_V2 4477
919mach_type_dep2410 MACH_MACH_TYPE_DEP2410 MACH_TYPE_DEP2410 4479
920bctre3 MACH_BCTRE3 BCTRE3 4480
921omap_m100 MACH_OMAP_M100 OMAP_M100 4481
922flo MACH_FLO FLO 4482
923nanobone MACH_NANOBONE NANOBONE 4483
924stm_b2105 MACH_STM_B2105 STM_B2105 4484
925omap4_bsc_bap_v3 MACH_OMAP4_BSC_BAP_V3 OMAP4_BSC_BAP_V3 4485
926ss1pam MACH_SS1PAM SS1PAM 4486
927primominiu MACH_PRIMOMINIU PRIMOMINIU 4488
928mrt_35hd_dualnas_e MACH_MRT_35HD_DUALNAS_E MRT_35HD_DUALNAS_E 4489
929kiwi MACH_KIWI KIWI 4490
930hw90496 MACH_HW90496 HW90496 4491
931mep2440 MACH_MEP2440 MEP2440 4492
932colibri_t30 MACH_COLIBRI_T30 COLIBRI_T30 4493
933cwv1 MACH_CWV1 CWV1 4494
934nsa325 MACH_NSA325 NSA325 4495
935dpxmtc MACH_DPXMTC DPXMTC 4497
936tt_stuttgart MACH_TT_STUTTGART TT_STUTTGART 4498
937miranda_apcii MACH_MIRANDA_APCII MIRANDA_APCII 4499
938mx6q_moderox MACH_MX6Q_MODEROX MX6Q_MODEROX 4500
939mudskipper MACH_MUDSKIPPER MUDSKIPPER 4501
940urania MACH_URANIA URANIA 4502
941stm_b2112 MACH_STM_B2112 STM_B2112 4503
942mx6q_ats_phoenix MACH_MX6Q_ATS_PHOENIX MX6Q_ATS_PHOENIX 4505
943stm_b2116 MACH_STM_B2116 STM_B2116 4506
944mythology MACH_MYTHOLOGY MYTHOLOGY 4507
945fc360v1 MACH_FC360V1 FC360V1 4508
946gps_sensor MACH_GPS_SENSOR GPS_SENSOR 4509
947gazelle MACH_GAZELLE GAZELLE 4510
948mpq8064_dma MACH_MPQ8064_DMA MPQ8064_DMA 4511
949wems_asd01 MACH_WEMS_ASD01 WEMS_ASD01 4512
950apalis_t30 MACH_APALIS_T30 APALIS_T30 4513
951armstonea9 MACH_ARMSTONEA9 ARMSTONEA9 4515
952omap_blazetablet MACH_OMAP_BLAZETABLET OMAP_BLAZETABLET 4516
953ar6mxq MACH_AR6MXQ AR6MXQ 4517
954ar6mxs MACH_AR6MXS AR6MXS 4518
955gwventana MACH_GWVENTANA GWVENTANA 4520
956igep0033 MACH_IGEP0033 IGEP0033 4521
957h52c1_concerto MACH_H52C1_CONCERTO H52C1_CONCERTO 4524
958fcmbrd MACH_FCMBRD FCMBRD 4525
959pcaaxs1 MACH_PCAAXS1 PCAAXS1 4526
960ls_orca MACH_LS_ORCA LS_ORCA 4527
961pcm051lb MACH_PCM051LB PCM051LB 4528
962mx6s_lp507_gvci MACH_MX6S_LP507_GVCI MX6S_LP507_GVCI 4529
963dido MACH_DIDO DIDO 4530
964swarco_itc3_9g20 MACH_SWARCO_ITC3_9G20 SWARCO_ITC3_9G20 4531
965robo_roady MACH_ROBO_ROADY ROBO_ROADY 4532
966rskrza1 MACH_RSKRZA1 RSKRZA1 4533
967swarco_sid MACH_SWARCO_SID SWARCO_SID 4534
968mx6_iwg15s_sbc MACH_MX6_IWG15S_SBC MX6_IWG15S_SBC 4535
969mx6q_camaro MACH_MX6Q_CAMARO MX6Q_CAMARO 4536
970hb6mxs MACH_HB6MXS HB6MXS 4537
971lager MACH_LAGER LAGER 4538
972lp8x4x MACH_LP8X4X LP8X4X 4539
973tegratab7 MACH_TEGRATAB7 TEGRATAB7 4540
974andromeda MACH_ANDROMEDA ANDROMEDA 4541
975bootes MACH_BOOTES BOOTES 4542
976nethmi MACH_NETHMI NETHMI 4543
977tegratab MACH_TEGRATAB TEGRATAB 4544
978som5_evb MACH_SOM5_EVB SOM5_EVB 4545
979venaticorum MACH_VENATICORUM VENATICORUM 4546
980stm_b2110 MACH_STM_B2110 STM_B2110 4547
981elux_hathor MACH_ELUX_HATHOR ELUX_HATHOR 4548
982helios_v7 MACH_HELIOS_V7 HELIOS_V7 4549
983xc10v1 MACH_XC10V1 XC10V1 4550
984cp2u MACH_CP2U CP2U 4551
985iap_f MACH_IAP_F IAP_F 4552
986iap_g MACH_IAP_G IAP_G 4553
987aae MACH_AAE AAE 4554
988pegasus MACH_PEGASUS PEGASUS 4555
989cygnus MACH_CYGNUS CYGNUS 4556
990centaurus MACH_CENTAURUS CENTAURUS 4557
991msm8930_qrd8930 MACH_MSM8930_QRD8930 MSM8930_QRD8930 4558
992quby_tim MACH_QUBY_TIM QUBY_TIM 4559
993zedi3250a MACH_ZEDI3250A ZEDI3250A 4560
994grus MACH_GRUS GRUS 4561
995apollo3 MACH_APOLLO3 APOLLO3 4562
996cowon_r7 MACH_COWON_R7 COWON_R7 4563
997tonga3 MACH_TONGA3 TONGA3 4564
998p535 MACH_P535 P535 4565
999sa3874i MACH_SA3874I SA3874I 4566
1000mx6_navico_com MACH_MX6_NAVICO_COM MX6_NAVICO_COM 4567
1001proxmobil2 MACH_PROXMOBIL2 PROXMOBIL2 4568
1002ubinux1 MACH_UBINUX1 UBINUX1 4569
1003istos MACH_ISTOS ISTOS 4570
1004benvolio4 MACH_BENVOLIO4 BENVOLIO4 4571
1005eco5_bx2 MACH_ECO5_BX2 ECO5_BX2 4572
1006eukrea_cpuimx28sd MACH_EUKREA_CPUIMX28SD EUKREA_CPUIMX28SD 4573
1007domotab MACH_DOMOTAB DOMOTAB 4574
1008pfla03 MACH_PFLA03 PFLA03 4575
diff --git a/arch/arm/tools/syscall.tbl b/arch/arm/tools/syscall.tbl
new file mode 100644
index 000000000000..3c2cb5d5adfa
--- /dev/null
+++ b/arch/arm/tools/syscall.tbl
@@ -0,0 +1,413 @@
1#
2# Linux system call numbers and entry vectors
3#
4# The format is:
5# <num> <abi> <name> [<entry point> [<oabi compat entry point>]]
6#
7# Where abi is:
8# common - for system calls shared between oabi and eabi (may have compat)
9# oabi - for oabi-only system calls (may have compat)
10# eabi - for eabi-only system calls
11#
12# For each syscall number, "common" is mutually exclusive with oabi and eabi
13#
140 common restart_syscall sys_restart_syscall
151 common exit sys_exit
162 common fork sys_fork
173 common read sys_read
184 common write sys_write
195 common open sys_open
206 common close sys_close
21# 7 was sys_waitpid
228 common creat sys_creat
239 common link sys_link
2410 common unlink sys_unlink
2511 common execve sys_execve
2612 common chdir sys_chdir
2713 oabi time sys_time
2814 common mknod sys_mknod
2915 common chmod sys_chmod
3016 common lchown sys_lchown16
31# 17 was sys_break
32# 18 was sys_stat
3319 common lseek sys_lseek
3420 common getpid sys_getpid
3521 common mount sys_mount
3622 oabi umount sys_oldumount
3723 common setuid sys_setuid16
3824 common getuid sys_getuid16
3925 oabi stime sys_stime
4026 common ptrace sys_ptrace
4127 oabi alarm sys_alarm
42# 28 was sys_fstat
4329 common pause sys_pause
4430 oabi utime sys_utime
45# 31 was sys_stty
46# 32 was sys_gtty
4733 common access sys_access
4834 common nice sys_nice
49# 35 was sys_ftime
5036 common sync sys_sync
5137 common kill sys_kill
5238 common rename sys_rename
5339 common mkdir sys_mkdir
5440 common rmdir sys_rmdir
5541 common dup sys_dup
5642 common pipe sys_pipe
5743 common times sys_times
58# 44 was sys_prof
5945 common brk sys_brk
6046 common setgid sys_setgid16
6147 common getgid sys_getgid16
62# 48 was sys_signal
6349 common geteuid sys_geteuid16
6450 common getegid sys_getegid16
6551 common acct sys_acct
6652 common umount2 sys_umount
67# 53 was sys_lock
6854 common ioctl sys_ioctl
6955 common fcntl sys_fcntl
70# 56 was sys_mpx
7157 common setpgid sys_setpgid
72# 58 was sys_ulimit
73# 59 was sys_olduname
7460 common umask sys_umask
7561 common chroot sys_chroot
7662 common ustat sys_ustat
7763 common dup2 sys_dup2
7864 common getppid sys_getppid
7965 common getpgrp sys_getpgrp
8066 common setsid sys_setsid
8167 common sigaction sys_sigaction
82# 68 was sys_sgetmask
83# 69 was sys_ssetmask
8470 common setreuid sys_setreuid16
8571 common setregid sys_setregid16
8672 common sigsuspend sys_sigsuspend
8773 common sigpending sys_sigpending
8874 common sethostname sys_sethostname
8975 common setrlimit sys_setrlimit
90# Back compat 2GB limited rlimit
9176 oabi getrlimit sys_old_getrlimit
9277 common getrusage sys_getrusage
9378 common gettimeofday sys_gettimeofday
9479 common settimeofday sys_settimeofday
9580 common getgroups sys_getgroups16
9681 common setgroups sys_setgroups16
9782 oabi select sys_old_select
9883 common symlink sys_symlink
99# 84 was sys_lstat
10085 common readlink sys_readlink
10186 common uselib sys_uselib
10287 common swapon sys_swapon
10388 common reboot sys_reboot
10489 oabi readdir sys_old_readdir
10590 oabi mmap sys_old_mmap
10691 common munmap sys_munmap
10792 common truncate sys_truncate
10893 common ftruncate sys_ftruncate
10994 common fchmod sys_fchmod
11095 common fchown sys_fchown16
11196 common getpriority sys_getpriority
11297 common setpriority sys_setpriority
113# 98 was sys_profil
11499 common statfs sys_statfs
115100 common fstatfs sys_fstatfs
116# 101 was sys_ioperm
117102 oabi socketcall sys_socketcall sys_oabi_socketcall
118103 common syslog sys_syslog
119104 common setitimer sys_setitimer
120105 common getitimer sys_getitimer
121106 common stat sys_newstat
122107 common lstat sys_newlstat
123108 common fstat sys_newfstat
124# 109 was sys_uname
125# 110 was sys_iopl
126111 common vhangup sys_vhangup
127# 112 was sys_idle
128# syscall to call a syscall!
129113 oabi syscall sys_syscall
130114 common wait4 sys_wait4
131115 common swapoff sys_swapoff
132116 common sysinfo sys_sysinfo
133117 oabi ipc sys_ipc sys_oabi_ipc
134118 common fsync sys_fsync
135119 common sigreturn sys_sigreturn_wrapper
136120 common clone sys_clone
137121 common setdomainname sys_setdomainname
138122 common uname sys_newuname
139# 123 was sys_modify_ldt
140124 common adjtimex sys_adjtimex
141125 common mprotect sys_mprotect
142126 common sigprocmask sys_sigprocmask
143# 127 was sys_create_module
144128 common init_module sys_init_module
145129 common delete_module sys_delete_module
146# 130 was sys_get_kernel_syms
147131 common quotactl sys_quotactl
148132 common getpgid sys_getpgid
149133 common fchdir sys_fchdir
150134 common bdflush sys_bdflush
151135 common sysfs sys_sysfs
152136 common personality sys_personality
153# 137 was sys_afs_syscall
154138 common setfsuid sys_setfsuid16
155139 common setfsgid sys_setfsgid16
156140 common _llseek sys_llseek
157141 common getdents sys_getdents
158142 common _newselect sys_select
159143 common flock sys_flock
160144 common msync sys_msync
161145 common readv sys_readv
162146 common writev sys_writev
163147 common getsid sys_getsid
164148 common fdatasync sys_fdatasync
165149 common _sysctl sys_sysctl
166150 common mlock sys_mlock
167151 common munlock sys_munlock
168152 common mlockall sys_mlockall
169153 common munlockall sys_munlockall
170154 common sched_setparam sys_sched_setparam
171155 common sched_getparam sys_sched_getparam
172156 common sched_setscheduler sys_sched_setscheduler
173157 common sched_getscheduler sys_sched_getscheduler
174158 common sched_yield sys_sched_yield
175159 common sched_get_priority_max sys_sched_get_priority_max
176160 common sched_get_priority_min sys_sched_get_priority_min
177161 common sched_rr_get_interval sys_sched_rr_get_interval
178162 common nanosleep sys_nanosleep
179163 common mremap sys_mremap
180164 common setresuid sys_setresuid16
181165 common getresuid sys_getresuid16
182# 166 was sys_vm86
183# 167 was sys_query_module
184168 common poll sys_poll
185169 common nfsservctl
186170 common setresgid sys_setresgid16
187171 common getresgid sys_getresgid16
188172 common prctl sys_prctl
189173 common rt_sigreturn sys_rt_sigreturn_wrapper
190174 common rt_sigaction sys_rt_sigaction
191175 common rt_sigprocmask sys_rt_sigprocmask
192176 common rt_sigpending sys_rt_sigpending
193177 common rt_sigtimedwait sys_rt_sigtimedwait
194178 common rt_sigqueueinfo sys_rt_sigqueueinfo
195179 common rt_sigsuspend sys_rt_sigsuspend
196180 common pread64 sys_pread64 sys_oabi_pread64
197181 common pwrite64 sys_pwrite64 sys_oabi_pwrite64
198182 common chown sys_chown16
199183 common getcwd sys_getcwd
200184 common capget sys_capget
201185 common capset sys_capset
202186 common sigaltstack sys_sigaltstack
203187 common sendfile sys_sendfile
204# 188 reserved
205# 189 reserved
206190 common vfork sys_vfork
207# SuS compliant getrlimit
208191 common ugetrlimit sys_getrlimit
209192 common mmap2 sys_mmap2
210193 common truncate64 sys_truncate64 sys_oabi_truncate64
211194 common ftruncate64 sys_ftruncate64 sys_oabi_ftruncate64
212195 common stat64 sys_stat64 sys_oabi_stat64
213196 common lstat64 sys_lstat64 sys_oabi_lstat64
214197 common fstat64 sys_fstat64 sys_oabi_fstat64
215198 common lchown32 sys_lchown
216199 common getuid32 sys_getuid
217200 common getgid32 sys_getgid
218201 common geteuid32 sys_geteuid
219202 common getegid32 sys_getegid
220203 common setreuid32 sys_setreuid
221204 common setregid32 sys_setregid
222205 common getgroups32 sys_getgroups
223206 common setgroups32 sys_setgroups
224207 common fchown32 sys_fchown
225208 common setresuid32 sys_setresuid
226209 common getresuid32 sys_getresuid
227210 common setresgid32 sys_setresgid
228211 common getresgid32 sys_getresgid
229212 common chown32 sys_chown
230213 common setuid32 sys_setuid
231214 common setgid32 sys_setgid
232215 common setfsuid32 sys_setfsuid
233216 common setfsgid32 sys_setfsgid
234217 common getdents64 sys_getdents64
235218 common pivot_root sys_pivot_root
236219 common mincore sys_mincore
237220 common madvise sys_madvise
238221 common fcntl64 sys_fcntl64 sys_oabi_fcntl64
239# 222 for tux
240# 223 is unused
241224 common gettid sys_gettid
242225 common readahead sys_readahead sys_oabi_readahead
243226 common setxattr sys_setxattr
244227 common lsetxattr sys_lsetxattr
245228 common fsetxattr sys_fsetxattr
246229 common getxattr sys_getxattr
247230 common lgetxattr sys_lgetxattr
248231 common fgetxattr sys_fgetxattr
249232 common listxattr sys_listxattr
250233 common llistxattr sys_llistxattr
251234 common flistxattr sys_flistxattr
252235 common removexattr sys_removexattr
253236 common lremovexattr sys_lremovexattr
254237 common fremovexattr sys_fremovexattr
255238 common tkill sys_tkill
256239 common sendfile64 sys_sendfile64
257240 common futex sys_futex
258241 common sched_setaffinity sys_sched_setaffinity
259242 common sched_getaffinity sys_sched_getaffinity
260243 common io_setup sys_io_setup
261244 common io_destroy sys_io_destroy
262245 common io_getevents sys_io_getevents
263246 common io_submit sys_io_submit
264247 common io_cancel sys_io_cancel
265248 common exit_group sys_exit_group
266249 common lookup_dcookie sys_lookup_dcookie
267250 common epoll_create sys_epoll_create
268251 common epoll_ctl sys_epoll_ctl sys_oabi_epoll_ctl
269252 common epoll_wait sys_epoll_wait sys_oabi_epoll_wait
270253 common remap_file_pages sys_remap_file_pages
271# 254 for set_thread_area
272# 255 for get_thread_area
273256 common set_tid_address sys_set_tid_address
274257 common timer_create sys_timer_create
275258 common timer_settime sys_timer_settime
276259 common timer_gettime sys_timer_gettime
277260 common timer_getoverrun sys_timer_getoverrun
278261 common timer_delete sys_timer_delete
279262 common clock_settime sys_clock_settime
280263 common clock_gettime sys_clock_gettime
281264 common clock_getres sys_clock_getres
282265 common clock_nanosleep sys_clock_nanosleep
283266 common statfs64 sys_statfs64_wrapper
284267 common fstatfs64 sys_fstatfs64_wrapper
285268 common tgkill sys_tgkill
286269 common utimes sys_utimes
287270 common arm_fadvise64_64 sys_arm_fadvise64_64
288271 common pciconfig_iobase sys_pciconfig_iobase
289272 common pciconfig_read sys_pciconfig_read
290273 common pciconfig_write sys_pciconfig_write
291274 common mq_open sys_mq_open
292275 common mq_unlink sys_mq_unlink
293276 common mq_timedsend sys_mq_timedsend
294277 common mq_timedreceive sys_mq_timedreceive
295278 common mq_notify sys_mq_notify
296279 common mq_getsetattr sys_mq_getsetattr
297280 common waitid sys_waitid
298281 common socket sys_socket
299282 common bind sys_bind sys_oabi_bind
300283 common connect sys_connect sys_oabi_connect
301284 common listen sys_listen
302285 common accept sys_accept
303286 common getsockname sys_getsockname
304287 common getpeername sys_getpeername
305288 common socketpair sys_socketpair
306289 common send sys_send
307290 common sendto sys_sendto sys_oabi_sendto
308291 common recv sys_recv
309292 common recvfrom sys_recvfrom
310293 common shutdown sys_shutdown
311294 common setsockopt sys_setsockopt
312295 common getsockopt sys_getsockopt
313296 common sendmsg sys_sendmsg sys_oabi_sendmsg
314297 common recvmsg sys_recvmsg
315298 common semop sys_semop sys_oabi_semop
316299 common semget sys_semget
317300 common semctl sys_semctl
318301 common msgsnd sys_msgsnd
319302 common msgrcv sys_msgrcv
320303 common msgget sys_msgget
321304 common msgctl sys_msgctl
322305 common shmat sys_shmat
323306 common shmdt sys_shmdt
324307 common shmget sys_shmget
325308 common shmctl sys_shmctl
326309 common add_key sys_add_key
327310 common request_key sys_request_key
328311 common keyctl sys_keyctl
329312 common semtimedop sys_semtimedop sys_oabi_semtimedop
330313 common vserver
331314 common ioprio_set sys_ioprio_set
332315 common ioprio_get sys_ioprio_get
333316 common inotify_init sys_inotify_init
334317 common inotify_add_watch sys_inotify_add_watch
335318 common inotify_rm_watch sys_inotify_rm_watch
336319 common mbind sys_mbind
337320 common get_mempolicy sys_get_mempolicy
338321 common set_mempolicy sys_set_mempolicy
339322 common openat sys_openat
340323 common mkdirat sys_mkdirat
341324 common mknodat sys_mknodat
342325 common fchownat sys_fchownat
343326 common futimesat sys_futimesat
344327 common fstatat64 sys_fstatat64 sys_oabi_fstatat64
345328 common unlinkat sys_unlinkat
346329 common renameat sys_renameat
347330 common linkat sys_linkat
348331 common symlinkat sys_symlinkat
349332 common readlinkat sys_readlinkat
350333 common fchmodat sys_fchmodat
351334 common faccessat sys_faccessat
352335 common pselect6 sys_pselect6
353336 common ppoll sys_ppoll
354337 common unshare sys_unshare
355338 common set_robust_list sys_set_robust_list
356339 common get_robust_list sys_get_robust_list
357340 common splice sys_splice
358341 common arm_sync_file_range sys_sync_file_range2
359342 common tee sys_tee
360343 common vmsplice sys_vmsplice
361344 common move_pages sys_move_pages
362345 common getcpu sys_getcpu
363346 common epoll_pwait sys_epoll_pwait
364347 common kexec_load sys_kexec_load
365348 common utimensat sys_utimensat
366349 common signalfd sys_signalfd
367350 common timerfd_create sys_timerfd_create
368351 common eventfd sys_eventfd
369352 common fallocate sys_fallocate
370353 common timerfd_settime sys_timerfd_settime
371354 common timerfd_gettime sys_timerfd_gettime
372355 common signalfd4 sys_signalfd4
373356 common eventfd2 sys_eventfd2
374357 common epoll_create1 sys_epoll_create1
375358 common dup3 sys_dup3
376359 common pipe2 sys_pipe2
377360 common inotify_init1 sys_inotify_init1
378361 common preadv sys_preadv
379362 common pwritev sys_pwritev
380363 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo
381364 common perf_event_open sys_perf_event_open
382365 common recvmmsg sys_recvmmsg
383366 common accept4 sys_accept4
384367 common fanotify_init sys_fanotify_init
385368 common fanotify_mark sys_fanotify_mark
386369 common prlimit64 sys_prlimit64
387370 common name_to_handle_at sys_name_to_handle_at
388371 common open_by_handle_at sys_open_by_handle_at
389372 common clock_adjtime sys_clock_adjtime
390373 common syncfs sys_syncfs
391374 common sendmmsg sys_sendmmsg
392375 common setns sys_setns
393376 common process_vm_readv sys_process_vm_readv
394377 common process_vm_writev sys_process_vm_writev
395378 common kcmp sys_kcmp
396379 common finit_module sys_finit_module
397380 common sched_setattr sys_sched_setattr
398381 common sched_getattr sys_sched_getattr
399382 common renameat2 sys_renameat2
400383 common seccomp sys_seccomp
401384 common getrandom sys_getrandom
402385 common memfd_create sys_memfd_create
403386 common bpf sys_bpf
404387 common execveat sys_execveat
405388 common userfaultfd sys_userfaultfd
406389 common membarrier sys_membarrier
407390 common mlock2 sys_mlock2
408391 common copy_file_range sys_copy_file_range
409392 common preadv2 sys_preadv2
410393 common pwritev2 sys_pwritev2
411394 common pkey_mprotect sys_pkey_mprotect
412395 common pkey_alloc sys_pkey_alloc
413396 common pkey_free sys_pkey_free
diff --git a/arch/arm/tools/syscallhdr.sh b/arch/arm/tools/syscallhdr.sh
new file mode 100644
index 000000000000..72d4b2e3bdec
--- /dev/null
+++ b/arch/arm/tools/syscallhdr.sh
@@ -0,0 +1,30 @@
1#!/bin/sh
2
3in="$1"
4out="$2"
5my_abis=`echo "($3)" | tr ',' '|'`
6prefix="$4"
7offset="$5"
8
9fileguard=_ASM_ARM_`basename "$out" | sed \
10 -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
11 -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
12if echo $out | grep -q uapi; then
13 fileguard="_UAPI$fileguard"
14fi
15grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
16 echo "#ifndef ${fileguard}"
17 echo "#define ${fileguard} 1"
18 echo ""
19
20 while read nr abi name entry ; do
21 if [ -z "$offset" ]; then
22 echo "#define __NR_${prefix}${name} $nr"
23 else
24 echo "#define __NR_${prefix}${name} ($offset + $nr)"
25 fi
26 done
27
28 echo ""
29 echo "#endif /* ${fileguard} */"
30) > "$out"
diff --git a/arch/arm/tools/syscallnr.sh b/arch/arm/tools/syscallnr.sh
new file mode 100644
index 000000000000..d2971296469a
--- /dev/null
+++ b/arch/arm/tools/syscallnr.sh
@@ -0,0 +1,33 @@
1#!/bin/sh
2in="$1"
3out="$2"
4my_abis=`echo "($3)" | tr ',' '|'`
5align=1
6
7fileguard=_ASM_ARM_`basename "$out" | sed \
8 -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \
9 -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'`
10
11grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | tail -n1 | (
12 echo "#ifndef ${fileguard}
13#define ${fileguard} 1
14
15/*
16 * This needs to be greater than __NR_last_syscall+1 in order to account
17 * for the padding in the syscall table.
18 */
19"
20
21 while read nr abi name entry; do
22 nr=$(($nr + 1))
23 while [ "$(($nr / (256 * $align) ))" -gt 0 ]; do
24 align=$(( $align * 4 ))
25 done
26 nr=$(( ($nr + $align - 1) & ~($align - 1) ))
27 echo "/* aligned to $align */"
28 echo "#define __NR_syscalls $nr"
29 done
30
31 echo ""
32 echo "#endif /* ${fileguard} */"
33) > "$out"
diff --git a/arch/arm/tools/syscalltbl.sh b/arch/arm/tools/syscalltbl.sh
new file mode 100644
index 000000000000..5ca834545ed3
--- /dev/null
+++ b/arch/arm/tools/syscalltbl.sh
@@ -0,0 +1,21 @@
1#!/bin/sh
2in="$1"
3out="$2"
4my_abis=`echo "($3)" | tr ',' '|'`
5
6grep -E "^[0-9A-Fa-fXx]+[[:space:]]+${my_abis}" "$in" | sort -n | (
7 while read nr abi name entry compat; do
8 if [ "$abi" = "eabi" -a -n "$compat" ]; then
9 echo "$in: error: a compat entry for an EABI syscall ($name) makes no sense" >&2
10 exit 1
11 fi
12
13 if [ -n "$entry" ]; then
14 if [ -z "$compat" ]; then
15 echo "NATIVE($nr, $entry)"
16 else
17 echo "COMPAT($nr, $entry, $compat)"
18 fi
19 fi
20 done
21) > "$out"
diff --git a/arch/arm/vfp/vfp.h b/arch/arm/vfp/vfp.h
index c8c98dd44ad4..89773e5ddf35 100644
--- a/arch/arm/vfp/vfp.h
+++ b/arch/arm/vfp/vfp.h
@@ -155,8 +155,8 @@ struct vfp_single {
155 u32 significand; 155 u32 significand;
156}; 156};
157 157
158extern s32 vfp_get_float(unsigned int reg); 158asmlinkage s32 vfp_get_float(unsigned int reg);
159extern void vfp_put_float(s32 val, unsigned int reg); 159asmlinkage void vfp_put_float(s32 val, unsigned int reg);
160 160
161/* 161/*
162 * VFP_SINGLE_MANTISSA_BITS - number of bits in the mantissa 162 * VFP_SINGLE_MANTISSA_BITS - number of bits in the mantissa
@@ -270,8 +270,8 @@ struct vfp_double {
270#else 270#else
271#define VFP_REG_ZERO 16 271#define VFP_REG_ZERO 16
272#endif 272#endif
273extern u64 vfp_get_double(unsigned int reg); 273asmlinkage u64 vfp_get_double(unsigned int reg);
274extern void vfp_put_double(u64 val, unsigned int reg); 274asmlinkage void vfp_put_double(u64 val, unsigned int reg);
275 275
276#define VFP_DOUBLE_MANTISSA_BITS (52) 276#define VFP_DOUBLE_MANTISSA_BITS (52)
277#define VFP_DOUBLE_EXPONENT_BITS (11) 277#define VFP_DOUBLE_EXPONENT_BITS (11)
@@ -377,4 +377,4 @@ struct op {
377 u32 flags; 377 u32 flags;
378}; 378};
379 379
380extern void vfp_save_state(void *location, u32 fpexc); 380asmlinkage void vfp_save_state(void *location, u32 fpexc);
diff --git a/arch/arm/vfp/vfpmodule.c b/arch/arm/vfp/vfpmodule.c
index da0b33deba6d..0351f5645fb1 100644
--- a/arch/arm/vfp/vfpmodule.c
+++ b/arch/arm/vfp/vfpmodule.c
@@ -34,11 +34,11 @@
34/* 34/*
35 * Our undef handlers (in entry.S) 35 * Our undef handlers (in entry.S)
36 */ 36 */
37void vfp_testing_entry(void); 37asmlinkage void vfp_testing_entry(void);
38void vfp_support_entry(void); 38asmlinkage void vfp_support_entry(void);
39void vfp_null_entry(void); 39asmlinkage void vfp_null_entry(void);
40 40
41void (*vfp_vector)(void) = vfp_null_entry; 41asmlinkage void (*vfp_vector)(void) = vfp_null_entry;
42 42
43/* 43/*
44 * Dual-use variable. 44 * Dual-use variable.
diff --git a/drivers/clk/clkdev.c b/drivers/clk/clkdev.c
index 97ae60fa1584..bb8a77a5985f 100644
--- a/drivers/clk/clkdev.c
+++ b/drivers/clk/clkdev.c
@@ -448,12 +448,20 @@ EXPORT_SYMBOL(clk_register_clkdev);
448 * 448 *
449 * con_id or dev_id may be NULL as a wildcard, just as in the rest of 449 * con_id or dev_id may be NULL as a wildcard, just as in the rest of
450 * clkdev. 450 * clkdev.
451 *
452 * To make things easier for mass registration, we detect error clk_hws
453 * from a previous clk_hw_register_*() call, and return the error code for
454 * those. This is to permit this function to be called immediately
455 * after clk_hw_register_*().
451 */ 456 */
452int clk_hw_register_clkdev(struct clk_hw *hw, const char *con_id, 457int clk_hw_register_clkdev(struct clk_hw *hw, const char *con_id,
453 const char *dev_id) 458 const char *dev_id)
454{ 459{
455 struct clk_lookup *cl; 460 struct clk_lookup *cl;
456 461
462 if (IS_ERR(hw))
463 return PTR_ERR(hw);
464
457 /* 465 /*
458 * Since dev_id can be NULL, and NULL is handled specially, we must 466 * Since dev_id can be NULL, and NULL is handled specially, we must
459 * pass it as either a NULL format string, or with "%s". 467 * pass it as either a NULL format string, or with "%s".