Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

+986 -2300
+4 -1
arch/arm/Makefile
··· 312 312 313 313 boot := arch/arm/boot 314 314 315 + archheaders: 316 + $(Q)$(MAKE) $(build)=arch/arm/tools uapi 317 + 315 318 archprepare: 316 - $(Q)$(MAKE) $(build)=arch/arm/tools include/generated/mach-types.h 319 + $(Q)$(MAKE) $(build)=arch/arm/tools kapi 317 320 318 321 # Convert bzImage to zImage 319 322 bzImage: zImage
+3
arch/arm/include/asm/Kbuild
··· 38 38 generic-y += timex.h 39 39 generic-y += trace_clock.h 40 40 generic-y += unaligned.h 41 + 42 + generated-y += mach-types.h 43 + generated-y += unistd-nr.h
+27
arch/arm/include/asm/delay.h
··· 9 9 #include <asm/memory.h> 10 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 39 #define MAX_UDELAY_MS 2 13 40 #define UDELAY_MULT UL(2147 * HZ + 483648 * HZ / 1000000) 14 41 #define UDELAY_SHIFT 31
-1
arch/arm/include/asm/mach-types.h
··· 1 - #include <generated/mach-types.h>
+20 -6
arch/arm/include/asm/unistd.h
··· 14 14 #define __ASM_ARM_UNISTD_H 15 15 16 16 #include <uapi/asm/unistd.h> 17 - 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) 17 + #include <asm/unistd-nr.h> 23 18 24 19 #define __ARCH_WANT_STAT64 25 20 #define __ARCH_WANT_SYS_GETHOSTNAME ··· 46 51 */ 47 52 #define __IGNORE_fadvise64_64 48 53 #define __IGNORE_migrate_pages 54 + 55 + #ifdef __ARM_EABI__ 56 + /* 57 + * The following syscalls are obsolete and no longer available for EABI: 58 + * __NR_time 59 + * __NR_umount 60 + * __NR_stime 61 + * __NR_alarm 62 + * __NR_utime 63 + * __NR_getrlimit 64 + * __NR_select 65 + * __NR_readdir 66 + * __NR_mmap 67 + * __NR_socketcall 68 + * __NR_syscall 69 + * __NR_ipc 70 + */ 71 + #define __IGNORE_getrlimit 72 + #endif 49 73 50 74 #endif /* __ASM_ARM_UNISTD_H */
+3
arch/arm/include/uapi/asm/Kbuild
··· 18 18 header-y += statfs.h 19 19 header-y += swab.h 20 20 header-y += unistd.h 21 + genhdr-y += unistd-common.h 22 + genhdr-y += unistd-oabi.h 23 + genhdr-y += unistd-eabi.h
+3 -421
arch/arm/include/uapi/asm/unistd.h
··· 17 17 18 18 #if defined(__thumb__) || defined(__ARM_EABI__) 19 19 #define __NR_SYSCALL_BASE 0 20 + #include <asm/unistd-eabi.h> 20 21 #else 21 22 #define __NR_SYSCALL_BASE __NR_OABI_SYSCALL_BASE 23 + #include <asm/unistd-oabi.h> 22 24 #endif 23 25 24 - /* 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) 26 + #include <asm/unistd-common.h> 370 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 30 * The following SWIs are ARM private. ··· 35 433 #define __ARM_NR_usr26 (__ARM_NR_BASE+3) 36 434 #define __ARM_NR_usr32 (__ARM_NR_BASE+4) 37 435 #define __ARM_NR_set_tls (__ARM_NR_BASE+5) 38 - 39 - /* 40 - * The following syscalls are obsolete and no longer available for EABI. 41 - */ 42 - #if !defined(__KERNEL__) 43 - #if defined(__ARM_EABI__) 44 - #undef __NR_time 45 - #undef __NR_umount 46 - #undef __NR_stime 47 - #undef __NR_alarm 48 - #undef __NR_utime 49 - #undef __NR_getrlimit 50 - #undef __NR_select 51 - #undef __NR_readdir 52 - #undef __NR_mmap 53 - #undef __NR_socketcall 54 - #undef __NR_syscall 55 - #undef __NR_ipc 56 - #endif 57 - #endif 58 436 59 437 #endif /* _UAPI__ASM_ARM_UNISTD_H */
-415
arch/arm/kernel/calls.S
··· 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
+44 -32
arch/arm/kernel/entry-common.S
··· 12 12 #include <asm/unistd.h> 13 13 #include <asm/ftrace.h> 14 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 21 #ifdef CONFIG_NEED_RET_TO_USER 17 22 #include <mach/entry-macro.S> ··· 124 119 1: get_thread_info tsk 125 120 b ret_slow_syscall 126 121 ENDPROC(ret_from_fork) 127 - 128 - .equ NR_syscalls,0 129 - #define CALL(x) .equ NR_syscalls,NR_syscalls+1 130 - #include "calls.S" 131 - 132 - /* 133 - * Ensure that the system call table is equal to __NR_syscalls, 134 - * which is the value the rest of the system sees 135 - */ 136 - .ifne NR_syscalls - __NR_syscalls 137 - .error "__NR_syscalls is not equal to the size of the syscall table" 138 - .endif 139 - 140 - #undef CALL 141 - #define CALL(x) .long x 142 122 143 123 /*============================================================================= 144 124 * SWI handler ··· 281 291 #endif 282 292 .ltorg 283 293 294 + .macro syscall_table_start, sym 295 + .equ __sys_nr, 0 296 + .type \sym, #object 297 + ENTRY(\sym) 298 + .endm 299 + 300 + .macro syscall, nr, func 301 + .ifgt __sys_nr - \nr 302 + .error "Duplicated/unorded system call entry" 303 + .endif 304 + .rept \nr - __sys_nr 305 + .long sys_ni_syscall 306 + .endr 307 + .long \func 308 + .equ __sys_nr, \nr + 1 309 + .endm 310 + 311 + .macro syscall_table_end, sym 312 + .ifgt __sys_nr - __NR_syscalls 313 + .error "System call table too big" 314 + .endif 315 + .rept __NR_syscalls - __sys_nr 316 + .long sys_ni_syscall 317 + .endr 318 + .size \sym, . - \sym 319 + .endm 320 + 321 + #define NATIVE(nr, func) syscall nr, func 322 + 284 323 /* 285 324 * This is the syscall table declaration for native ABI syscalls. 286 325 * With EABI a couple syscalls are obsolete and defined as sys_ni_syscall. 287 326 */ 288 - #define ABI(native, compat) native 327 + syscall_table_start sys_call_table 328 + #define COMPAT(nr, native, compat) syscall nr, native 289 329 #ifdef CONFIG_AEABI 290 - #define OBSOLETE(syscall) sys_ni_syscall 330 + #include <calls-eabi.S> 291 331 #else 292 - #define OBSOLETE(syscall) syscall 332 + #include <calls-oabi.S> 293 333 #endif 294 - 295 - .type sys_call_table, #object 296 - ENTRY(sys_call_table) 297 - #include "calls.S" 298 - #undef ABI 299 - #undef OBSOLETE 334 + #undef COMPAT 335 + syscall_table_end sys_call_table 300 336 301 337 /*============================================================================ 302 338 * Special system call wrappers ··· 423 407 * Let's declare a second syscall table for old ABI binaries 424 408 * using the compatibility syscall entries. 425 409 */ 426 - #define ABI(native, compat) compat 427 - #define OBSOLETE(syscall) syscall 428 - 429 - .type sys_oabi_call_table, #object 430 - ENTRY(sys_oabi_call_table) 431 - #include "calls.S" 432 - #undef ABI 433 - #undef OBSOLETE 410 + syscall_table_start sys_oabi_call_table 411 + #define COMPAT(nr, native, compat) syscall nr, compat 412 + #include <calls-oabi.S> 413 + syscall_table_end sys_oabi_call_table 434 414 435 415 #endif 436 416
+219 -1
arch/arm/kernel/topology.c
··· 12 12 */ 13 13 14 14 #include <linux/cpu.h> 15 + #include <linux/cpufreq.h> 15 16 #include <linux/cpumask.h> 16 17 #include <linux/export.h> 17 18 #include <linux/init.h> ··· 22 21 #include <linux/of.h> 23 22 #include <linux/sched.h> 24 23 #include <linux/slab.h> 24 + #include <linux/string.h> 25 25 26 + #include <asm/cpu.h> 26 27 #include <asm/cputype.h> 27 28 #include <asm/topology.h> 28 29 ··· 44 41 * updated during this sequence. 45 42 */ 46 43 static DEFINE_PER_CPU(unsigned long, cpu_scale) = SCHED_CAPACITY_SCALE; 44 + static DEFINE_MUTEX(cpu_scale_mutex); 47 45 48 46 unsigned long arch_scale_cpu_capacity(struct sched_domain *sd, int cpu) 49 47 { ··· 55 51 { 56 52 per_cpu(cpu_scale, cpu) = capacity; 57 53 } 54 + 55 + #ifdef CONFIG_PROC_SYSCTL 56 + static ssize_t cpu_capacity_show(struct device *dev, 57 + struct device_attribute *attr, 58 + char *buf) 59 + { 60 + struct cpu *cpu = container_of(dev, struct cpu, dev); 61 + 62 + return sprintf(buf, "%lu\n", 63 + arch_scale_cpu_capacity(NULL, cpu->dev.id)); 64 + } 65 + 66 + static ssize_t cpu_capacity_store(struct device *dev, 67 + struct device_attribute *attr, 68 + const char *buf, 69 + size_t count) 70 + { 71 + struct cpu *cpu = container_of(dev, struct cpu, dev); 72 + int this_cpu = cpu->dev.id, i; 73 + unsigned long new_capacity; 74 + ssize_t ret; 75 + 76 + if (count) { 77 + ret = kstrtoul(buf, 0, &new_capacity); 78 + if (ret) 79 + return ret; 80 + if (new_capacity > SCHED_CAPACITY_SCALE) 81 + return -EINVAL; 82 + 83 + mutex_lock(&cpu_scale_mutex); 84 + for_each_cpu(i, &cpu_topology[this_cpu].core_sibling) 85 + set_capacity_scale(i, new_capacity); 86 + mutex_unlock(&cpu_scale_mutex); 87 + } 88 + 89 + return count; 90 + } 91 + 92 + static DEVICE_ATTR_RW(cpu_capacity); 93 + 94 + static int register_cpu_capacity_sysctl(void) 95 + { 96 + int i; 97 + struct device *cpu; 98 + 99 + for_each_possible_cpu(i) { 100 + cpu = get_cpu_device(i); 101 + if (!cpu) { 102 + pr_err("%s: too early to get CPU%d device!\n", 103 + __func__, i); 104 + continue; 105 + } 106 + device_create_file(cpu, &dev_attr_cpu_capacity); 107 + } 108 + 109 + return 0; 110 + } 111 + subsys_initcall(register_cpu_capacity_sysctl); 112 + #endif 58 113 59 114 #ifdef CONFIG_OF 60 115 struct cpu_efficiency { ··· 141 78 #define cpu_capacity(cpu) __cpu_capacity[cpu] 142 79 143 80 static unsigned long middle_capacity = 1; 81 + static bool cap_from_dt = true; 82 + static u32 *raw_capacity; 83 + static bool cap_parsing_failed; 84 + static u32 capacity_scale; 85 + 86 + static int __init parse_cpu_capacity(struct device_node *cpu_node, int cpu) 87 + { 88 + int ret = 1; 89 + u32 cpu_capacity; 90 + 91 + if (cap_parsing_failed) 92 + return !ret; 93 + 94 + ret = of_property_read_u32(cpu_node, 95 + "capacity-dmips-mhz", 96 + &cpu_capacity); 97 + if (!ret) { 98 + if (!raw_capacity) { 99 + raw_capacity = kcalloc(num_possible_cpus(), 100 + sizeof(*raw_capacity), 101 + GFP_KERNEL); 102 + if (!raw_capacity) { 103 + pr_err("cpu_capacity: failed to allocate memory for raw capacities\n"); 104 + cap_parsing_failed = true; 105 + return !ret; 106 + } 107 + } 108 + capacity_scale = max(cpu_capacity, capacity_scale); 109 + raw_capacity[cpu] = cpu_capacity; 110 + pr_debug("cpu_capacity: %s cpu_capacity=%u (raw)\n", 111 + cpu_node->full_name, raw_capacity[cpu]); 112 + } else { 113 + if (raw_capacity) { 114 + pr_err("cpu_capacity: missing %s raw capacity\n", 115 + cpu_node->full_name); 116 + pr_err("cpu_capacity: partial information: fallback to 1024 for all CPUs\n"); 117 + } 118 + cap_parsing_failed = true; 119 + kfree(raw_capacity); 120 + } 121 + 122 + return !ret; 123 + } 124 + 125 + static void normalize_cpu_capacity(void) 126 + { 127 + u64 capacity; 128 + int cpu; 129 + 130 + if (!raw_capacity || cap_parsing_failed) 131 + return; 132 + 133 + pr_debug("cpu_capacity: capacity_scale=%u\n", capacity_scale); 134 + mutex_lock(&cpu_scale_mutex); 135 + for_each_possible_cpu(cpu) { 136 + capacity = (raw_capacity[cpu] << SCHED_CAPACITY_SHIFT) 137 + / capacity_scale; 138 + set_capacity_scale(cpu, capacity); 139 + pr_debug("cpu_capacity: CPU%d cpu_capacity=%lu\n", 140 + cpu, arch_scale_cpu_capacity(NULL, cpu)); 141 + } 142 + mutex_unlock(&cpu_scale_mutex); 143 + } 144 + 145 + #ifdef CONFIG_CPU_FREQ 146 + static cpumask_var_t cpus_to_visit; 147 + static bool cap_parsing_done; 148 + static void parsing_done_workfn(struct work_struct *work); 149 + static DECLARE_WORK(parsing_done_work, parsing_done_workfn); 150 + 151 + static int 152 + init_cpu_capacity_callback(struct notifier_block *nb, 153 + unsigned long val, 154 + void *data) 155 + { 156 + struct cpufreq_policy *policy = data; 157 + int cpu; 158 + 159 + if (cap_parsing_failed || cap_parsing_done) 160 + return 0; 161 + 162 + switch (val) { 163 + case CPUFREQ_NOTIFY: 164 + pr_debug("cpu_capacity: init cpu capacity for CPUs [%*pbl] (to_visit=%*pbl)\n", 165 + cpumask_pr_args(policy->related_cpus), 166 + cpumask_pr_args(cpus_to_visit)); 167 + cpumask_andnot(cpus_to_visit, 168 + cpus_to_visit, 169 + policy->related_cpus); 170 + for_each_cpu(cpu, policy->related_cpus) { 171 + raw_capacity[cpu] = arch_scale_cpu_capacity(NULL, cpu) * 172 + policy->cpuinfo.max_freq / 1000UL; 173 + capacity_scale = max(raw_capacity[cpu], capacity_scale); 174 + } 175 + if (cpumask_empty(cpus_to_visit)) { 176 + normalize_cpu_capacity(); 177 + kfree(raw_capacity); 178 + pr_debug("cpu_capacity: parsing done\n"); 179 + cap_parsing_done = true; 180 + schedule_work(&parsing_done_work); 181 + } 182 + } 183 + return 0; 184 + } 185 + 186 + static struct notifier_block init_cpu_capacity_notifier = { 187 + .notifier_call = init_cpu_capacity_callback, 188 + }; 189 + 190 + static int __init register_cpufreq_notifier(void) 191 + { 192 + if (cap_parsing_failed) 193 + return -EINVAL; 194 + 195 + if (!alloc_cpumask_var(&cpus_to_visit, GFP_KERNEL)) { 196 + pr_err("cpu_capacity: failed to allocate memory for cpus_to_visit\n"); 197 + return -ENOMEM; 198 + } 199 + cpumask_copy(cpus_to_visit, cpu_possible_mask); 200 + 201 + return cpufreq_register_notifier(&init_cpu_capacity_notifier, 202 + CPUFREQ_POLICY_NOTIFIER); 203 + } 204 + core_initcall(register_cpufreq_notifier); 205 + 206 + static void parsing_done_workfn(struct work_struct *work) 207 + { 208 + cpufreq_unregister_notifier(&init_cpu_capacity_notifier, 209 + CPUFREQ_POLICY_NOTIFIER); 210 + } 211 + 212 + #else 213 + static int __init free_raw_capacity(void) 214 + { 215 + kfree(raw_capacity); 216 + 217 + return 0; 218 + } 219 + core_initcall(free_raw_capacity); 220 + #endif 144 221 145 222 /* 146 223 * Iterate all CPUs' descriptor in DT and compute the efficiency ··· 302 99 __cpu_capacity = kcalloc(nr_cpu_ids, sizeof(*__cpu_capacity), 303 100 GFP_NOWAIT); 304 101 102 + cn = of_find_node_by_path("/cpus"); 103 + if (!cn) { 104 + pr_err("No CPU information found in DT\n"); 105 + return; 106 + } 107 + 305 108 for_each_possible_cpu(cpu) { 306 109 const u32 *rate; 307 110 int len; ··· 318 109 pr_err("missing device node for CPU %d\n", cpu); 319 110 continue; 320 111 } 112 + 113 + if (parse_cpu_capacity(cn, cpu)) { 114 + of_node_put(cn); 115 + continue; 116 + } 117 + 118 + cap_from_dt = false; 321 119 322 120 for (cpu_eff = table_efficiency; cpu_eff->compatible; cpu_eff++) 323 121 if (of_device_is_compatible(cn, cpu_eff->compatible)) ··· 367 151 middle_capacity = ((max_capacity / 3) 368 152 >> (SCHED_CAPACITY_SHIFT-1)) + 1; 369 153 154 + if (cap_from_dt && !cap_parsing_failed) 155 + normalize_cpu_capacity(); 370 156 } 371 157 372 158 /* ··· 378 160 */ 379 161 static void update_cpu_capacity(unsigned int cpu) 380 162 { 381 - if (!cpu_capacity(cpu)) 163 + if (!cpu_capacity(cpu) || cap_from_dt) 382 164 return; 383 165 384 166 set_capacity_scale(cpu, cpu_capacity(cpu) / middle_capacity);
+7 -8
arch/arm/lib/delay-loop.S
··· 17 17 .LC1: .word UDELAY_MULT 18 18 19 19 /* 20 + * loops = r0 * HZ * loops_per_jiffy / 1000000 21 + * 20 22 * r0 <= 2000 21 23 * HZ <= 1000 22 24 */ 23 25 24 26 ENTRY(__loop_udelay) 25 27 ldr r2, .LC1 26 - mul r0, r2, r0 27 - ENTRY(__loop_const_udelay) @ 0 <= r0 <= 0x7fffff06 28 + mul r0, r2, r0 @ r0 = delay_us * UDELAY_MULT 29 + ENTRY(__loop_const_udelay) @ 0 <= r0 <= 0xfffffaf0 28 30 ldr r2, .LC0 29 31 ldr r2, [r2] 30 - umull r1, r0, r2, r0 31 - adds r1, r1, #0xffffffff 32 - adcs r0, r0, r0 32 + umull r1, r0, r2, r0 @ r0-r1 = r0 * loops_per_jiffy 33 + adds r1, r1, #0xffffffff @ rounding up ... 34 + adcs r0, r0, r0 @ and right shift by 31 33 35 reteq lr 34 36 35 - /* 36 - * loops = r0 * HZ * loops_per_jiffy / 1000000 37 - */ 38 37 .align 3 39 38 40 39 @ Delay routine
-925
arch/arm/mach-sa1100/include/mach/SA-1101.h
··· 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
-4
arch/arm/mach-sa1100/include/mach/hardware.h
··· 52 52 53 53 #include "SA-1100.h" 54 54 55 - #ifdef CONFIG_SA1101 56 - #include "SA-1101.h" 57 - #endif 58 - 59 55 #endif /* _ASM_ARCH_HARDWARE_H */
+7 -1
arch/arm/mm/Kconfig
··· 991 991 config CACHE_UNIPHIER 992 992 bool "Enable the UniPhier outer cache controller" 993 993 depends on ARCH_UNIPHIER 994 - default y 994 + select ARM_L1_CACHE_SHIFT_7 995 995 select OUTER_CACHE 996 996 select OUTER_CACHE_SYNC 997 997 help ··· 1012 1012 help 1013 1013 Setting ARM L1 cache line size to 64 Bytes. 1014 1014 1015 + config ARM_L1_CACHE_SHIFT_7 1016 + bool 1017 + help 1018 + Setting ARM L1 cache line size to 128 Bytes. 1019 + 1015 1020 config ARM_L1_CACHE_SHIFT 1016 1021 int 1022 + default 7 if ARM_L1_CACHE_SHIFT_7 1017 1023 default 6 if ARM_L1_CACHE_SHIFT_6 1018 1024 default 5 1019 1025
+14 -13
arch/arm/mm/pageattr.c
··· 34 34 return 0; 35 35 } 36 36 37 + static 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 + 37 44 static int change_memory_common(unsigned long addr, int numpages, 38 45 pgprot_t set_mask, pgprot_t clear_mask) 39 46 { 40 - unsigned long start = addr; 41 - unsigned long size = PAGE_SIZE*numpages; 42 - unsigned long end = start + size; 47 + unsigned long start = addr & PAGE_MASK; 48 + unsigned long end = PAGE_ALIGN(addr) + numpages * PAGE_SIZE; 49 + unsigned long size = end - start; 43 50 int ret; 44 51 struct page_change_data data; 45 52 46 - if (!IS_ALIGNED(addr, PAGE_SIZE)) { 47 - start &= PAGE_MASK; 48 - end = start + size; 49 - WARN_ON_ONCE(1); 50 - } 53 + WARN_ON_ONCE(start != addr); 51 54 52 - if (!numpages) 55 + if (!size) 53 56 return 0; 54 57 55 - if (start < MODULES_VADDR || start >= MODULES_END) 56 - return -EINVAL; 57 - 58 - if (end < MODULES_VADDR || start >= MODULES_END) 58 + if (!in_range(start, size, MODULES_VADDR, MODULES_END) && 59 + !in_range(start, size, VMALLOC_START, VMALLOC_END)) 59 60 return -EINVAL; 60 61 61 62 data.set_mask = set_mask;
+67 -1
arch/arm/tools/Makefile
··· 4 4 # Copyright (C) 2001 Russell King 5 5 # 6 6 7 + gen := arch/$(ARCH)/include/generated 8 + kapi := $(gen)/asm 9 + uapi := $(gen)/uapi/asm 10 + syshdr := $(srctree)/$(src)/syscallhdr.sh 11 + sysnr := $(srctree)/$(src)/syscallnr.sh 12 + systbl := $(srctree)/$(src)/syscalltbl.sh 13 + syscall := $(srctree)/$(src)/syscall.tbl 14 + 15 + gen-y := $(gen)/calls-oabi.S 16 + gen-y += $(gen)/calls-eabi.S 17 + kapi-hdrs-y := $(kapi)/unistd-nr.h 18 + kapi-hdrs-y += $(kapi)/mach-types.h 19 + uapi-hdrs-y := $(uapi)/unistd-common.h 20 + uapi-hdrs-y += $(uapi)/unistd-oabi.h 21 + uapi-hdrs-y += $(uapi)/unistd-eabi.h 22 + 23 + targets += $(addprefix ../../../,$(gen-y) $(kapi-hdrs-y) $(uapi-hdrs-y)) 24 + 25 + PHONY += kapi uapi 26 + 27 + kapi: $(kapi-hdrs-y) $(gen-y) 28 + 29 + uapi: $(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 + 7 35 quiet_cmd_gen_mach = GEN $@ 8 36 cmd_gen_mach = mkdir -p $(dir $@) && \ 9 37 $(AWK) -f $(filter-out $(PHONY),$^) > $@ || \ 10 38 { rm -f $@; /bin/false; } 11 39 12 - include/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 41 $(call if_changed,gen_mach) 42 + 43 + quiet_cmd_syshdr = SYSHDR $@ 44 + cmd_syshdr = $(CONFIG_SHELL) '$(syshdr)' '$<' '$@' \ 45 + '$(syshdr_abi_$(basetarget))' \ 46 + '$(syshdr_pfx_$(basetarget))' \ 47 + '__NR_SYSCALL_BASE' 48 + 49 + quiet_cmd_systbl = SYSTBL $@ 50 + cmd_systbl = $(CONFIG_SHELL) '$(systbl)' '$<' '$@' \ 51 + '$(systbl_abi_$(basetarget))' 52 + 53 + quiet_cmd_sysnr = SYSNR $@ 54 + cmd_sysnr = $(CONFIG_SHELL) '$(sysnr)' '$<' '$@' \ 55 + '$(syshdr_abi_$(basetarget))' 56 + 57 + syshdr_abi_unistd-common := common 58 + $(uapi)/unistd-common.h: $(syscall) $(syshdr) FORCE 59 + $(call if_changed,syshdr) 60 + 61 + syshdr_abi_unistd-oabi := oabi 62 + $(uapi)/unistd-oabi.h: $(syscall) $(syshdr) FORCE 63 + $(call if_changed,syshdr) 64 + 65 + syshdr_abi_unistd-eabi := eabi 66 + $(uapi)/unistd-eabi.h: $(syscall) $(syshdr) FORCE 67 + $(call if_changed,syshdr) 68 + 69 + sysnr_abi_unistd-nr := common,oabi,eabi,compat 70 + $(kapi)/unistd-nr.h: $(syscall) $(sysnr) FORCE 71 + $(call if_changed,sysnr) 72 + 73 + systbl_abi_calls-oabi := common,oabi 74 + $(gen)/calls-oabi.S: $(syscall) $(systbl) FORCE 75 + $(call if_changed,systbl) 76 + 77 + systbl_abi_calls-eabi := common,eabi 78 + $(gen)/calls-eabi.S: $(syscall) $(systbl) FORCE 79 + $(call if_changed,systbl)
+54 -462
arch/arm/tools/mach-types
··· 16 16 # are merged into mainline or have been edited in the machine database 17 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 21 # machine_is_xxx CONFIG_xxxx MACH_TYPE_xxx number 22 22 # ··· 152 152 gateway7001 MACH_GATEWAY7001 GATEWAY7001 731 153 153 pcm027 MACH_PCM027 PCM027 732 154 154 anubis MACH_ANUBIS ANUBIS 734 155 - xboardgp8 MACH_XBOARDGP8 XBOARDGP8 742 156 155 akita MACH_AKITA AKITA 744 157 156 e330 MACH_E330 E330 753 158 157 nokia770 MACH_NOKIA770 NOKIA770 755 ··· 392 393 imx27_visstrim_m10 MACH_IMX27_VISSTRIM_M10 IMX27_VISSTRIM_M10 2187 393 394 portuxg20 MACH_PORTUXG20 PORTUXG20 2191 394 395 smdkc110 MACH_SMDKC110 SMDKC110 2193 395 - cabespresso MACH_CABESPRESSO CABESPRESSO 2194 396 396 omap3517evm MACH_OMAP3517EVM OMAP3517EVM 2200 397 397 netspace_v2 MACH_NETSPACE_V2 NETSPACE_V2 2201 398 398 netspace_max_v2 MACH_NETSPACE_MAX_V2 NETSPACE_MAX_V2 2202 ··· 410 412 at91sam9g20ek_2mmc MACH_AT91SAM9G20EK_2MMC AT91SAM9G20EK_2MMC 2288 411 413 bcmring MACH_BCMRING BCMRING 2289 412 414 mahimahi MACH_MAHIMAHI MAHIMAHI 2304 413 - cerebric MACH_CEREBRIC CEREBRIC 2311 414 415 smdk6442 MACH_SMDK6442 SMDK6442 2324 415 416 openrd_base MACH_OPENRD_BASE OPENRD_BASE 2325 416 417 devkit8000 MACH_DEVKIT8000 DEVKIT8000 2330 ··· 432 435 smdkv210 MACH_SMDKV210 SMDKV210 2456 433 436 omap_zoom3 MACH_OMAP_ZOOM3 OMAP_ZOOM3 2464 434 437 omap_3630sdp MACH_OMAP_3630SDP OMAP_3630SDP 2465 435 - cybook2440 MACH_CYBOOK2440 CYBOOK2440 2466 436 438 smartq7 MACH_SMARTQ7 SMARTQ7 2479 437 - watson_efm_plugin MACH_WATSON_EFM_PLUGIN WATSON_EFM_PLUGIN 2491 438 439 g4evm MACH_G4EVM G4EVM 2493 439 440 omapl138_hawkboard MACH_OMAPL138_HAWKBOARD OMAPL138_HAWKBOARD 2495 440 441 ts41x MACH_TS41X TS41X 2502 ··· 467 472 sbc3530 MACH_SBC3530 SBC3530 2722 468 473 saarb MACH_SAARB SAARB 2727 469 474 harmony MACH_HARMONY HARMONY 2731 470 - cybook_orizon MACH_CYBOOK_ORIZON CYBOOK_ORIZON 2733 471 475 msm7x30_fluid MACH_MSM7X30_FLUID MSM7X30_FLUID 2741 472 476 cm_t3517 MACH_CM_T3517 CM_T3517 2750 473 477 wbd222 MACH_WBD222 WBD222 2753 ··· 484 490 smdkc210 MACH_SMDKC210 SMDKC210 2838 485 491 t5325 MACH_T5325 T5325 2846 486 492 income MACH_INCOME INCOME 2849 493 + meson MACH_MESON MESON 2853 487 494 goni MACH_GONI GONI 2862 488 495 bv07 MACH_BV07 BV07 2882 489 496 openrd_ultimate MACH_OPENRD_ULTIMATE OPENRD_ULTIMATE 2884 ··· 518 523 paz00 MACH_PAZ00 PAZ00 3128 519 524 acmenetusfoxg20 MACH_ACMENETUSFOXG20 ACMENETUSFOXG20 3129 520 525 ag5evm MACH_AG5EVM AG5EVM 3189 521 - ics_if_voip MACH_ICS_IF_VOIP ICS_IF_VOIP 3206 522 526 wlf_cragg_6410 MACH_WLF_CRAGG_6410 WLF_CRAGG_6410 3207 523 527 trimslice MACH_TRIMSLICE TRIMSLICE 3209 528 + mackerel MACH_MACKEREL MACKEREL 3211 524 529 kaen MACH_KAEN KAEN 3217 525 530 nokia_rm680 MACH_NOKIA_RM680 NOKIA_RM680 3220 526 531 msm8960_sim MACH_MSM8960_SIM MSM8960_SIM 3230 ··· 535 540 xilinx_ep107 MACH_XILINX_EP107 XILINX_EP107 3378 536 541 nuri MACH_NURI NURI 3379 537 542 origen MACH_ORIGEN ORIGEN 3455 543 + xarina MACH_XARINA XARINA 3476 538 544 nspire MACH_NSPIRE NSPIRE 3503 539 545 nokia_rm696 MACH_NOKIA_RM696 NOKIA_RM696 3522 540 - mikrap_x168 MACH_MIKRAP_X168 MIKRAP_X168 3543 541 - deto_macarm9 MACH_DETO_MACARM9 DETO_MACARM9 3568 542 546 m28evk MACH_M28EVK M28EVK 3613 543 547 kota2 MACH_KOTA2 KOTA2 3616 544 548 bonito MACH_BONITO BONITO 3623 545 - omap3_egf MACH_OMAP3_EGF OMAP3_EGF 3637 546 549 smdk4212 MACH_SMDK4212 SMDK4212 3638 547 550 apx4devkit MACH_APX4DEVKIT APX4DEVKIT 3712 548 551 smdk4412 MACH_SMDK4412 SMDK4412 3765 549 552 marzen MACH_MARZEN MARZEN 3790 550 - krome MACH_KROME KROME 3797 551 - armadillo800eva MACH_ARMADILLO800EVA ARMADILLO800EVA 3863 552 - mx53_umobo MACH_MX53_UMOBO MX53_UMOBO 3927 553 - mt4 MACH_MT4 MT4 3981 553 + empc_a500 MACH_EMPC_A500 EMPC_A500 3848 554 554 u8520 MACH_U8520 U8520 3990 555 - chupacabra MACH_CHUPACABRA CHUPACABRA 4098 556 - scorpion MACH_SCORPION SCORPION 4099 557 - davinci_he_hmi10 MACH_DAVINCI_HE_HMI10 DAVINCI_HE_HMI10 4100 558 - topkick MACH_TOPKICK TOPKICK 4101 559 - m3_auguestrush MACH_M3_AUGUESTRUSH M3_AUGUESTRUSH 4102 560 - ipc335x MACH_IPC335X IPC335X 4103 561 - sun4i MACH_SUN4I SUN4I 4104 562 - imx233_olinuxino MACH_IMX233_OLINUXINO IMX233_OLINUXINO 4105 563 - k2_wl MACH_K2_WL K2_WL 4106 564 - k2_ul MACH_K2_UL K2_UL 4107 565 - k2_cl MACH_K2_CL K2_CL 4108 566 - minbari_w MACH_MINBARI_W MINBARI_W 4109 567 - minbari_m MACH_MINBARI_M MINBARI_M 4110 568 - k035 MACH_K035 K035 4111 569 - ariel MACH_ARIEL ARIEL 4112 570 - arielsaarc MACH_ARIELSAARC ARIELSAARC 4113 571 - arieldkb MACH_ARIELDKB ARIELDKB 4114 572 - armadillo810 MACH_ARMADILLO810 ARMADILLO810 4115 573 - tam335x MACH_TAM335X TAM335X 4116 574 - grouper MACH_GROUPER GROUPER 4117 575 - mpcsa21_9g20 MACH_MPCSA21_9G20 MPCSA21_9G20 4118 576 - m6u_cpu MACH_M6U_CPU M6U_CPU 4119 577 - ginkgo MACH_GINKGO GINKGO 4121 578 - cgt_qmx6 MACH_CGT_QMX6 CGT_QMX6 4122 579 - profpga MACH_PROFPGA PROFPGA 4123 580 - acfx100oc MACH_ACFX100OC ACFX100OC 4124 581 - acfx100nb MACH_ACFX100NB ACFX100NB 4125 582 - capricorn MACH_CAPRICORN CAPRICORN 4126 583 - pisces MACH_PISCES PISCES 4127 584 - aries MACH_ARIES ARIES 4128 585 - cancer MACH_CANCER CANCER 4129 586 - leo MACH_LEO LEO 4130 587 - virgo MACH_VIRGO VIRGO 4131 588 - sagittarius MACH_SAGITTARIUS SAGITTARIUS 4132 589 - devil MACH_DEVIL DEVIL 4133 590 - ballantines MACH_BALLANTINES BALLANTINES 4134 591 - omap3_procerusvpu MACH_OMAP3_PROCERUSVPU OMAP3_PROCERUSVPU 4135 592 - my27 MACH_MY27 MY27 4136 593 - sun6i MACH_SUN6I SUN6I 4137 594 - sun5i MACH_SUN5I SUN5I 4138 595 - mx512_mx MACH_MX512_MX MX512_MX 4139 596 - kzm9g MACH_KZM9G KZM9G 4140 597 - vdstbn MACH_VDSTBN VDSTBN 4141 598 - cfa10036 MACH_CFA10036 CFA10036 4142 599 - cfa10049 MACH_CFA10049 CFA10049 4143 600 - pcm051 MACH_PCM051 PCM051 4144 601 - vybrid_vf7xx MACH_VYBRID_VF7XX VYBRID_VF7XX 4145 602 - vybrid_vf6xx MACH_VYBRID_VF6XX VYBRID_VF6XX 4146 603 - vybrid_vf5xx MACH_VYBRID_VF5XX VYBRID_VF5XX 4147 604 - vybrid_vf4xx MACH_VYBRID_VF4XX VYBRID_VF4XX 4148 605 - aria_g25 MACH_ARIA_G25 ARIA_G25 4149 606 - bcm21553 MACH_BCM21553 BCM21553 4150 607 - smdk5410 MACH_SMDK5410 SMDK5410 4151 608 - lpc18xx MACH_LPC18XX LPC18XX 4152 609 - oratisparty MACH_ORATISPARTY ORATISPARTY 4153 610 - qseven MACH_QSEVEN QSEVEN 4154 611 - gmv_generic MACH_GMV_GENERIC GMV_GENERIC 4155 612 - th_link_eth MACH_TH_LINK_ETH TH_LINK_ETH 4156 613 - tn_muninn MACH_TN_MUNINN TN_MUNINN 4157 614 - rampage MACH_RAMPAGE RAMPAGE 4158 615 - visstrim_mv10 MACH_VISSTRIM_MV10 VISSTRIM_MV10 4159 616 - mx28_wilma MACH_MX28_WILMA MX28_WILMA 4164 617 - msm8625_ffa MACH_MSM8625_FFA MSM8625_FFA 4166 618 - vpu101 MACH_VPU101 VPU101 4167 619 - baileys MACH_BAILEYS BAILEYS 4169 620 - familybox MACH_FAMILYBOX FAMILYBOX 4170 621 - ensemble_mx35 MACH_ENSEMBLE_MX35 ENSEMBLE_MX35 4171 622 - sc_sps_1 MACH_SC_SPS_1 SC_SPS_1 4172 623 - ucsimply_sam9260 MACH_UCSIMPLY_SAM9260 UCSIMPLY_SAM9260 4173 624 - unicorn MACH_UNICORN UNICORN 4174 625 - m9g45a MACH_M9G45A M9G45A 4175 626 - mtwebif MACH_MTWEBIF MTWEBIF 4176 627 - playstone MACH_PLAYSTONE PLAYSTONE 4177 628 - chelsea MACH_CHELSEA CHELSEA 4178 629 - bayern MACH_BAYERN BAYERN 4179 630 - mitwo MACH_MITWO MITWO 4180 631 - mx25_noah MACH_MX25_NOAH MX25_NOAH 4181 632 - stm_b2020 MACH_STM_B2020 STM_B2020 4182 633 - annax_src MACH_ANNAX_SRC ANNAX_SRC 4183 634 - ionics_stratus MACH_IONICS_STRATUS IONICS_STRATUS 4184 635 - hugo MACH_HUGO HUGO 4185 636 - em300 MACH_EM300 EM300 4186 637 - mmp3_qseven MACH_MMP3_QSEVEN MMP3_QSEVEN 4187 638 - bosphorus2 MACH_BOSPHORUS2 BOSPHORUS2 4188 639 - tt2200 MACH_TT2200 TT2200 4189 640 - ocelot3 MACH_OCELOT3 OCELOT3 4190 641 - tek_cobra MACH_TEK_COBRA TEK_COBRA 4191 642 - protou MACH_PROTOU PROTOU 4192 643 - msm8625_evt MACH_MSM8625_EVT MSM8625_EVT 4193 644 - mx53_sellwood MACH_MX53_SELLWOOD MX53_SELLWOOD 4194 645 - somiq_am35 MACH_SOMIQ_AM35 SOMIQ_AM35 4195 646 - somiq_am37 MACH_SOMIQ_AM37 SOMIQ_AM37 4196 647 - k2_plc_cl MACH_K2_PLC_CL K2_PLC_CL 4197 648 - tc2 MACH_TC2 TC2 4198 649 - dulex_j MACH_DULEX_J DULEX_J 4199 650 - stm_b2044 MACH_STM_B2044 STM_B2044 4200 651 - deluxe_j MACH_DELUXE_J DELUXE_J 4201 652 - mango2443 MACH_MANGO2443 MANGO2443 4202 653 - cp2dcg MACH_CP2DCG CP2DCG 4203 654 - cp2dtg MACH_CP2DTG CP2DTG 4204 655 - cp2dug MACH_CP2DUG CP2DUG 4205 656 - var_som_am33 MACH_VAR_SOM_AM33 VAR_SOM_AM33 4206 657 - pepper MACH_PEPPER PEPPER 4207 658 - mango2450 MACH_MANGO2450 MANGO2450 4208 659 - valente_wx_c9 MACH_VALENTE_WX_C9 VALENTE_WX_C9 4209 660 - minitv MACH_MINITV MINITV 4210 661 - u8540 MACH_U8540 U8540 4211 662 - iv_atlas_i_z7e MACH_IV_ATLAS_I_Z7E IV_ATLAS_I_Z7E 4212 663 - mach_type_sky MACH_MACH_TYPE_SKY MACH_TYPE_SKY 4214 664 - bluesky MACH_BLUESKY BLUESKY 4215 665 - ngrouter MACH_NGROUTER NGROUTER 4216 666 - mx53_denetim MACH_MX53_DENETIM MX53_DENETIM 4217 667 - opal MACH_OPAL OPAL 4218 668 - gnet_us3gref MACH_GNET_US3GREF GNET_US3GREF 4219 669 - gnet_nc3g MACH_GNET_NC3G GNET_NC3G 4220 670 - gnet_ge3g MACH_GNET_GE3G GNET_GE3G 4221 671 - adp2 MACH_ADP2 ADP2 4222 672 - tqma28 MACH_TQMA28 TQMA28 4223 673 - kacom3 MACH_KACOM3 KACOM3 4224 674 - rrhdemo MACH_RRHDEMO RRHDEMO 4225 675 - protodug MACH_PROTODUG PROTODUG 4226 676 - lago MACH_LAGO LAGO 4227 677 - ktt30 MACH_KTT30 KTT30 4228 678 - ts43xx MACH_TS43XX TS43XX 4229 679 - mx6q_denso MACH_MX6Q_DENSO MX6Q_DENSO 4230 680 - comsat_gsmumts8 MACH_COMSAT_GSMUMTS8 COMSAT_GSMUMTS8 4231 681 - dreamx MACH_DREAMX DREAMX 4232 682 - thunderstonem MACH_THUNDERSTONEM THUNDERSTONEM 4233 683 - yoyopad MACH_YOYOPAD YOYOPAD 4234 684 - yoyopatient MACH_YOYOPATIENT YOYOPATIENT 4235 685 - a10l MACH_A10L A10L 4236 686 - mq60 MACH_MQ60 MQ60 4237 687 - linkstation_lsql MACH_LINKSTATION_LSQL LINKSTATION_LSQL 4238 688 - am3703gateway MACH_AM3703GATEWAY AM3703GATEWAY 4239 689 - accipiter MACH_ACCIPITER ACCIPITER 4240 690 - magnidug MACH_MAGNIDUG MAGNIDUG 4242 691 - hydra MACH_HYDRA HYDRA 4243 692 - sun3i MACH_SUN3I SUN3I 4244 693 - stm_b2078 MACH_STM_B2078 STM_B2078 4245 694 - at91sam9263deskv2 MACH_AT91SAM9263DESKV2 AT91SAM9263DESKV2 4246 695 - deluxe_r MACH_DELUXE_R DELUXE_R 4247 696 - p_98_v MACH_P_98_V P_98_V 4248 697 - p_98_c MACH_P_98_C P_98_C 4249 698 - davinci_am18xx_omn MACH_DAVINCI_AM18XX_OMN DAVINCI_AM18XX_OMN 4250 699 - socfpga_cyclone5 MACH_SOCFPGA_CYCLONE5 SOCFPGA_CYCLONE5 4251 700 - cabatuin MACH_CABATUIN CABATUIN 4252 701 - yoyopad_ft MACH_YOYOPAD_FT YOYOPAD_FT 4253 702 - dan2400evb MACH_DAN2400EVB DAN2400EVB 4254 703 - dan3400evb MACH_DAN3400EVB DAN3400EVB 4255 704 - edm_sf_imx6 MACH_EDM_SF_IMX6 EDM_SF_IMX6 4256 705 - edm_cf_imx6 MACH_EDM_CF_IMX6 EDM_CF_IMX6 4257 706 - vpos3xx MACH_VPOS3XX VPOS3XX 4258 707 - vulcano_9x5 MACH_VULCANO_9X5 VULCANO_9X5 4259 708 - spmp8000 MACH_SPMP8000 SPMP8000 4260 709 - catalina MACH_CATALINA CATALINA 4261 710 - rd88f5181l_fe MACH_RD88F5181L_FE RD88F5181L_FE 4262 711 - mx535_mx MACH_MX535_MX MX535_MX 4263 712 - armadillo840 MACH_ARMADILLO840 ARMADILLO840 4264 713 - spc9000baseboard MACH_SPC9000BASEBOARD SPC9000BASEBOARD 4265 714 - iris MACH_IRIS IRIS 4266 715 - protodcg MACH_PROTODCG PROTODCG 4267 716 - palmtree MACH_PALMTREE PALMTREE 4268 717 - novena MACH_NOVENA NOVENA 4269 718 - ma_um MACH_MA_UM MA_UM 4270 719 - ma_am MACH_MA_AM MA_AM 4271 720 - ems348 MACH_EMS348 EMS348 4272 721 - cm_fx6 MACH_CM_FX6 CM_FX6 4273 722 - arndale MACH_ARNDALE ARNDALE 4274 723 - q5xr5 MACH_Q5XR5 Q5XR5 4275 724 - willow MACH_WILLOW WILLOW 4276 725 - omap3621_odyv3 MACH_OMAP3621_ODYV3 OMAP3621_ODYV3 4277 726 - omapl138_presonus MACH_OMAPL138_PRESONUS OMAPL138_PRESONUS 4278 727 - dvf99 MACH_DVF99 DVF99 4279 728 - impression_j MACH_IMPRESSION_J IMPRESSION_J 4280 729 - qblissa9 MACH_QBLISSA9 QBLISSA9 4281 730 - robin_heliview10 MACH_ROBIN_HELIVIEW10 ROBIN_HELIVIEW10 4282 731 - sun7i MACH_SUN7I SUN7I 4283 732 - mx6q_hdmidongle MACH_MX6Q_HDMIDONGLE MX6Q_HDMIDONGLE 4284 733 - mx6_sid2 MACH_MX6_SID2 MX6_SID2 4285 734 - helios_v3 MACH_HELIOS_V3 HELIOS_V3 4286 735 - helios_v4 MACH_HELIOS_V4 HELIOS_V4 4287 736 - q7_imx6 MACH_Q7_IMX6 Q7_IMX6 4288 737 - odroidx MACH_ODROIDX ODROIDX 4289 738 - robpro MACH_ROBPRO ROBPRO 4290 739 - research59if_mk1 MACH_RESEARCH59IF_MK1 RESEARCH59IF_MK1 4291 740 - bobsleigh MACH_BOBSLEIGH BOBSLEIGH 4292 741 - dcshgwt3 MACH_DCSHGWT3 DCSHGWT3 4293 742 - gld1018 MACH_GLD1018 GLD1018 4294 743 - ev10 MACH_EV10 EV10 4295 744 - nitrogen6x MACH_NITROGEN6X NITROGEN6X 4296 745 - p_107_bb MACH_P_107_BB P_107_BB 4297 746 - evita_utl MACH_EVITA_UTL EVITA_UTL 4298 747 - falconwing MACH_FALCONWING FALCONWING 4299 748 - dct3 MACH_DCT3 DCT3 4300 749 - cpx2e_cell MACH_CPX2E_CELL CPX2E_CELL 4301 750 - amiro MACH_AMIRO AMIRO 4302 751 - mx6q_brassboard MACH_MX6Q_BRASSBOARD MX6Q_BRASSBOARD 4303 752 - dalmore MACH_DALMORE DALMORE 4304 753 - omap3_portal7cp MACH_OMAP3_PORTAL7CP OMAP3_PORTAL7CP 4305 754 - tegra_pluto MACH_TEGRA_PLUTO TEGRA_PLUTO 4306 755 - mx6sl_evk MACH_MX6SL_EVK MX6SL_EVK 4307 756 - m7 MACH_M7 M7 4308 757 - pxm2 MACH_PXM2 PXM2 4309 758 - haba_knx_lite MACH_HABA_KNX_LITE HABA_KNX_LITE 4310 759 - tai MACH_TAI TAI 4311 760 - prototd MACH_PROTOTD PROTOTD 4312 761 - dst_tonto MACH_DST_TONTO DST_TONTO 4313 762 - draco MACH_DRACO DRACO 4314 763 - dxr2 MACH_DXR2 DXR2 4315 764 - rut MACH_RUT RUT 4316 765 - am180x_wsc MACH_AM180X_WSC AM180X_WSC 4317 766 - deluxe_u MACH_DELUXE_U DELUXE_U 4318 767 - deluxe_ul MACH_DELUXE_UL DELUXE_UL 4319 768 - at91sam9260medths MACH_AT91SAM9260MEDTHS AT91SAM9260MEDTHS 4320 769 - matrix516 MACH_MATRIX516 MATRIX516 4321 770 - vid401x MACH_VID401X VID401X 4322 771 - helios_v5 MACH_HELIOS_V5 HELIOS_V5 4323 772 - playpaq2 MACH_PLAYPAQ2 PLAYPAQ2 4324 773 - igam MACH_IGAM IGAM 4325 774 - amico_i MACH_AMICO_I AMICO_I 4326 775 - amico_e MACH_AMICO_E AMICO_E 4327 776 - sentient_mm3_ck MACH_SENTIENT_MM3_CK SENTIENT_MM3_CK 4328 777 - smx6 MACH_SMX6 SMX6 4329 778 - pango MACH_PANGO PANGO 4330 779 - ns115_stick MACH_NS115_STICK NS115_STICK 4331 780 - bctrm3 MACH_BCTRM3 BCTRM3 4332 781 - doctorws MACH_DOCTORWS DOCTORWS 4333 782 - m2601 MACH_M2601 M2601 4334 783 - vgg1111 MACH_VGG1111 VGG1111 4337 784 - countach MACH_COUNTACH COUNTACH 4338 785 - visstrim_sm20 MACH_VISSTRIM_SM20 VISSTRIM_SM20 4339 786 - a639 MACH_A639 A639 4340 787 - spacemonkey MACH_SPACEMONKEY SPACEMONKEY 4341 788 - zpdu_stamp MACH_ZPDU_STAMP ZPDU_STAMP 4342 789 - htc_g7_clone MACH_HTC_G7_CLONE HTC_G7_CLONE 4343 790 - ft2080_corvus MACH_FT2080_CORVUS FT2080_CORVUS 4344 791 - fisland MACH_FISLAND FISLAND 4345 792 - zpdu MACH_ZPDU ZPDU 4346 793 555 urt MACH_URT URT 4347 794 - conti_ovip MACH_CONTI_OVIP CONTI_OVIP 4348 795 - omapl138_nagra MACH_OMAPL138_NAGRA OMAPL138_NAGRA 4349 796 - da850_at3kp1 MACH_DA850_AT3KP1 DA850_AT3KP1 4350 797 - da850_at3kp2 MACH_DA850_AT3KP2 DA850_AT3KP2 4351 798 - surma MACH_SURMA SURMA 4352 799 - stm_b2092 MACH_STM_B2092 STM_B2092 4353 800 - mx535_ycr MACH_MX535_YCR MX535_YCR 4354 801 - m7_wl MACH_M7_WL M7_WL 4355 802 - m7_u MACH_M7_U M7_U 4356 803 - omap3_stndt_evm MACH_OMAP3_STNDT_EVM OMAP3_STNDT_EVM 4357 804 - m7_wlv MACH_M7_WLV M7_WLV 4358 805 - xam3517 MACH_XAM3517 XAM3517 4359 806 - a220 MACH_A220 A220 4360 807 - aclima_odie MACH_ACLIMA_ODIE ACLIMA_ODIE 4361 808 - vibble MACH_VIBBLE VIBBLE 4362 809 - k2_u MACH_K2_U K2_U 4363 810 - mx53_egf MACH_MX53_EGF MX53_EGF 4364 811 - novpek_imx53 MACH_NOVPEK_IMX53 NOVPEK_IMX53 4365 812 - novpek_imx6x MACH_NOVPEK_IMX6X NOVPEK_IMX6X 4366 813 - mx25_smartbox MACH_MX25_SMARTBOX MX25_SMARTBOX 4367 814 - eicg6410 MACH_EICG6410 EICG6410 4368 815 - picasso_e3 MACH_PICASSO_E3 PICASSO_E3 4369 816 - motonavigator MACH_MOTONAVIGATOR MOTONAVIGATOR 4370 817 - varioconnect2 MACH_VARIOCONNECT2 VARIOCONNECT2 4371 818 - deluxe_tw MACH_DELUXE_TW DELUXE_TW 4372 819 - kore3 MACH_KORE3 KORE3 4374 820 - mx6s_drs MACH_MX6S_DRS MX6S_DRS 4375 821 - cmimx6 MACH_CMIMX6 CMIMX6 4376 822 - roth MACH_ROTH ROTH 4377 823 - eq4ux MACH_EQ4UX EQ4UX 4378 824 - x1plus MACH_X1PLUS X1PLUS 4379 825 - modimx27 MACH_MODIMX27 MODIMX27 4380 826 - videon_hduac MACH_VIDEON_HDUAC VIDEON_HDUAC 4381 827 - blackbird MACH_BLACKBIRD BLACKBIRD 4382 828 - runmaster MACH_RUNMASTER RUNMASTER 4383 829 - ceres MACH_CERES CERES 4384 830 - nad435 MACH_NAD435 NAD435 4385 831 - ns115_proto_type MACH_NS115_PROTO_TYPE NS115_PROTO_TYPE 4386 832 - fs20_vcc MACH_FS20_VCC FS20_VCC 4387 833 - meson6tv_skt MACH_MESON6TV_SKT MESON6TV_SKT 4389 834 556 keystone MACH_KEYSTONE KEYSTONE 4390 835 - pcm052 MACH_PCM052 PCM052 4391 836 - qrd_skud_prime MACH_QRD_SKUD_PRIME QRD_SKUD_PRIME 4393 837 - guf_santaro MACH_GUF_SANTARO GUF_SANTARO 4395 838 - sheepshead MACH_SHEEPSHEAD SHEEPSHEAD 4396 839 - mx6_iwg15m_mxm MACH_MX6_IWG15M_MXM MX6_IWG15M_MXM 4397 840 - mx6_iwg15m_q7 MACH_MX6_IWG15M_Q7 MX6_IWG15M_Q7 4398 841 - at91sam9263if8mic MACH_AT91SAM9263IF8MIC AT91SAM9263IF8MIC 4399 842 - marcopolo MACH_MARCOPOLO MARCOPOLO 4401 843 - mx535_sdcr MACH_MX535_SDCR MX535_SDCR 4402 844 - mx53_csb2733 MACH_MX53_CSB2733 MX53_CSB2733 4403 845 - diva MACH_DIVA DIVA 4404 846 - ncr_7744 MACH_NCR_7744 NCR_7744 4405 847 - macallan MACH_MACALLAN MACALLAN 4406 848 - wnr3500 MACH_WNR3500 WNR3500 4407 849 - pgavrf MACH_PGAVRF PGAVRF 4408 850 - helios_v6 MACH_HELIOS_V6 HELIOS_V6 4409 851 - lcct MACH_LCCT LCCT 4410 852 - csndug MACH_CSNDUG CSNDUG 4411 853 - wandboard_imx6 MACH_WANDBOARD_IMX6 WANDBOARD_IMX6 4412 854 - omap4_jet MACH_OMAP4_JET OMAP4_JET 4413 855 - tegra_roth MACH_TEGRA_ROTH TEGRA_ROTH 4414 856 - m7dcg MACH_M7DCG M7DCG 4415 857 - m7dug MACH_M7DUG M7DUG 4416 858 - m7dtg MACH_M7DTG M7DTG 4417 859 - ap42x MACH_AP42X AP42X 4418 860 - var_som_mx6 MACH_VAR_SOM_MX6 VAR_SOM_MX6 4419 861 - pdlu MACH_PDLU PDLU 4420 862 - hydrogen MACH_HYDROGEN HYDROGEN 4421 863 - npa211e MACH_NPA211E NPA211E 4422 864 - arcadia MACH_ARCADIA ARCADIA 4423 865 - arcadia_l MACH_ARCADIA_L ARCADIA_L 4424 866 - msm8930dt MACH_MSM8930DT MSM8930DT 4425 867 - ktam3874 MACH_KTAM3874 KTAM3874 4426 868 - cec4 MACH_CEC4 CEC4 4427 869 - ape6evm MACH_APE6EVM APE6EVM 4428 870 - tx6 MACH_TX6 TX6 4429 871 - cfa10037 MACH_CFA10037 CFA10037 4431 872 - ezp1000 MACH_EZP1000 EZP1000 4433 873 - wgr826v MACH_WGR826V WGR826V 4434 874 - exuma MACH_EXUMA EXUMA 4435 875 - fregate MACH_FREGATE FREGATE 4436 876 - osirisimx508 MACH_OSIRISIMX508 OSIRISIMX508 4437 877 - st_exigo MACH_ST_EXIGO ST_EXIGO 4438 878 - pismo MACH_PISMO PISMO 4439 879 - atc7 MACH_ATC7 ATC7 4440 880 - nspireclp MACH_NSPIRECLP NSPIRECLP 4441 881 - nspiretp MACH_NSPIRETP NSPIRETP 4442 882 - nspirecx MACH_NSPIRECX NSPIRECX 4443 883 - maya MACH_MAYA MAYA 4444 884 - wecct MACH_WECCT WECCT 4445 885 - m2s MACH_M2S M2S 4446 886 - msm8625q_evbd MACH_MSM8625Q_EVBD MSM8625Q_EVBD 4447 887 - tiny210 MACH_TINY210 TINY210 4448 888 - g3 MACH_G3 G3 4449 889 - hurricane MACH_HURRICANE HURRICANE 4450 890 - mx6_pod MACH_MX6_POD MX6_POD 4451 891 - elondcn MACH_ELONDCN ELONDCN 4452 892 - cwmx535 MACH_CWMX535 CWMX535 4453 893 - m7_wlj MACH_M7_WLJ M7_WLJ 4454 894 - qsp_arm MACH_QSP_ARM QSP_ARM 4455 895 - msm8625q_skud MACH_MSM8625Q_SKUD MSM8625Q_SKUD 4456 896 - htcmondrian MACH_HTCMONDRIAN HTCMONDRIAN 4457 897 - watson_ead MACH_WATSON_EAD WATSON_EAD 4458 898 - mitwoa MACH_MITWOA MITWOA 4459 899 - omap3_wolverine MACH_OMAP3_WOLVERINE OMAP3_WOLVERINE 4460 900 - mapletree MACH_MAPLETREE MAPLETREE 4461 901 - msm8625_fih_sae MACH_MSM8625_FIH_SAE MSM8625_FIH_SAE 4462 902 - epc35 MACH_EPC35 EPC35 4463 903 - smartrtu MACH_SMARTRTU SMARTRTU 4464 904 - rcm101 MACH_RCM101 RCM101 4465 905 - amx_imx53_mxx MACH_AMX_IMX53_MXX AMX_IMX53_MXX 4466 906 - acer_a12 MACH_ACER_A12 ACER_A12 4470 907 - sbc6x MACH_SBC6X SBC6X 4471 908 - u2 MACH_U2 U2 4472 909 - smdk4270 MACH_SMDK4270 SMDK4270 4473 910 - priscillag MACH_PRISCILLAG PRISCILLAG 4474 911 - priscillac MACH_PRISCILLAC PRISCILLAC 4475 912 - priscilla MACH_PRISCILLA PRISCILLA 4476 913 - innova_shpu_v2 MACH_INNOVA_SHPU_V2 INNOVA_SHPU_V2 4477 914 - mach_type_dep2410 MACH_MACH_TYPE_DEP2410 MACH_TYPE_DEP2410 4479 915 - bctre3 MACH_BCTRE3 BCTRE3 4480 916 - omap_m100 MACH_OMAP_M100 OMAP_M100 4481 917 - flo MACH_FLO FLO 4482 918 - nanobone MACH_NANOBONE NANOBONE 4483 919 - stm_b2105 MACH_STM_B2105 STM_B2105 4484 920 - omap4_bsc_bap_v3 MACH_OMAP4_BSC_BAP_V3 OMAP4_BSC_BAP_V3 4485 921 - ss1pam MACH_SS1PAM SS1PAM 4486 922 - primominiu MACH_PRIMOMINIU PRIMOMINIU 4488 923 - mrt_35hd_dualnas_e MACH_MRT_35HD_DUALNAS_E MRT_35HD_DUALNAS_E 4489 924 - kiwi MACH_KIWI KIWI 4490 925 - hw90496 MACH_HW90496 HW90496 4491 926 - mep2440 MACH_MEP2440 MEP2440 4492 927 - colibri_t30 MACH_COLIBRI_T30 COLIBRI_T30 4493 928 - cwv1 MACH_CWV1 CWV1 4494 929 - nsa325 MACH_NSA325 NSA325 4495 930 - dpxmtc MACH_DPXMTC DPXMTC 4497 931 - tt_stuttgart MACH_TT_STUTTGART TT_STUTTGART 4498 932 - miranda_apcii MACH_MIRANDA_APCII MIRANDA_APCII 4499 933 - mx6q_moderox MACH_MX6Q_MODEROX MX6Q_MODEROX 4500 934 - mudskipper MACH_MUDSKIPPER MUDSKIPPER 4501 935 - urania MACH_URANIA URANIA 4502 936 - stm_b2112 MACH_STM_B2112 STM_B2112 4503 937 - mx6q_ats_phoenix MACH_MX6Q_ATS_PHOENIX MX6Q_ATS_PHOENIX 4505 938 - stm_b2116 MACH_STM_B2116 STM_B2116 4506 939 - mythology MACH_MYTHOLOGY MYTHOLOGY 4507 940 - fc360v1 MACH_FC360V1 FC360V1 4508 941 - gps_sensor MACH_GPS_SENSOR GPS_SENSOR 4509 942 - gazelle MACH_GAZELLE GAZELLE 4510 943 - mpq8064_dma MACH_MPQ8064_DMA MPQ8064_DMA 4511 944 - wems_asd01 MACH_WEMS_ASD01 WEMS_ASD01 4512 945 - apalis_t30 MACH_APALIS_T30 APALIS_T30 4513 946 - armstonea9 MACH_ARMSTONEA9 ARMSTONEA9 4515 947 - omap_blazetablet MACH_OMAP_BLAZETABLET OMAP_BLAZETABLET 4516 948 - ar6mxq MACH_AR6MXQ AR6MXQ 4517 949 - ar6mxs MACH_AR6MXS AR6MXS 4518 950 - gwventana MACH_GWVENTANA GWVENTANA 4520 951 - igep0033 MACH_IGEP0033 IGEP0033 4521 952 - h52c1_concerto MACH_H52C1_CONCERTO H52C1_CONCERTO 4524 953 - fcmbrd MACH_FCMBRD FCMBRD 4525 954 - pcaaxs1 MACH_PCAAXS1 PCAAXS1 4526 955 - ls_orca MACH_LS_ORCA LS_ORCA 4527 956 - pcm051lb MACH_PCM051LB PCM051LB 4528 957 - mx6s_lp507_gvci MACH_MX6S_LP507_GVCI MX6S_LP507_GVCI 4529 958 - dido MACH_DIDO DIDO 4530 959 - swarco_itc3_9g20 MACH_SWARCO_ITC3_9G20 SWARCO_ITC3_9G20 4531 960 - robo_roady MACH_ROBO_ROADY ROBO_ROADY 4532 961 - rskrza1 MACH_RSKRZA1 RSKRZA1 4533 962 - swarco_sid MACH_SWARCO_SID SWARCO_SID 4534 963 - mx6_iwg15s_sbc MACH_MX6_IWG15S_SBC MX6_IWG15S_SBC 4535 964 - mx6q_camaro MACH_MX6Q_CAMARO MX6Q_CAMARO 4536 965 - hb6mxs MACH_HB6MXS HB6MXS 4537 966 - lager MACH_LAGER LAGER 4538 967 - lp8x4x MACH_LP8X4X LP8X4X 4539 968 - tegratab7 MACH_TEGRATAB7 TEGRATAB7 4540 969 - andromeda MACH_ANDROMEDA ANDROMEDA 4541 970 - bootes MACH_BOOTES BOOTES 4542 971 - nethmi MACH_NETHMI NETHMI 4543 972 - tegratab MACH_TEGRATAB TEGRATAB 4544 973 - som5_evb MACH_SOM5_EVB SOM5_EVB 4545 974 - venaticorum MACH_VENATICORUM VENATICORUM 4546 975 - stm_b2110 MACH_STM_B2110 STM_B2110 4547 976 - elux_hathor MACH_ELUX_HATHOR ELUX_HATHOR 4548 977 - helios_v7 MACH_HELIOS_V7 HELIOS_V7 4549 978 - xc10v1 MACH_XC10V1 XC10V1 4550 979 - cp2u MACH_CP2U CP2U 4551 980 - iap_f MACH_IAP_F IAP_F 4552 981 - iap_g MACH_IAP_G IAP_G 4553 982 - aae MACH_AAE AAE 4554 983 - pegasus MACH_PEGASUS PEGASUS 4555 984 - cygnus MACH_CYGNUS CYGNUS 4556 985 - centaurus MACH_CENTAURUS CENTAURUS 4557 986 - msm8930_qrd8930 MACH_MSM8930_QRD8930 MSM8930_QRD8930 4558 987 - quby_tim MACH_QUBY_TIM QUBY_TIM 4559 988 - zedi3250a MACH_ZEDI3250A ZEDI3250A 4560 989 - grus MACH_GRUS GRUS 4561 990 - apollo3 MACH_APOLLO3 APOLLO3 4562 991 - cowon_r7 MACH_COWON_R7 COWON_R7 4563 992 - tonga3 MACH_TONGA3 TONGA3 4564 993 - p535 MACH_P535 P535 4565 994 - sa3874i MACH_SA3874I SA3874I 4566 995 - mx6_navico_com MACH_MX6_NAVICO_COM MX6_NAVICO_COM 4567 996 - proxmobil2 MACH_PROXMOBIL2 PROXMOBIL2 4568 997 - ubinux1 MACH_UBINUX1 UBINUX1 4569 998 - istos MACH_ISTOS ISTOS 4570 999 - benvolio4 MACH_BENVOLIO4 BENVOLIO4 4571 1000 - eco5_bx2 MACH_ECO5_BX2 ECO5_BX2 4572 1001 - eukrea_cpuimx28sd MACH_EUKREA_CPUIMX28SD EUKREA_CPUIMX28SD 4573 1002 - domotab MACH_DOMOTAB DOMOTAB 4574 1003 - pfla03 MACH_PFLA03 PFLA03 4575 557 + ckb_rza1h MACH_CKB_RZA1H CKB_RZA1H 4780 558 + bcm2835 MACH_BCM2835 BCM2835 4828 559 + cm_3g MACH_CM_3G CM_3G 4943 560 + empc_aimx6 MACH_EMPC_AIMX6 EMPC_AIMX6 4958 561 + diyefis6410 MACH_DIYEFIS6410 DIYEFIS6410 5063 562 + mx53_turing MACH_MX53_TURING MX53_TURING 5064 563 + mx6dl_turing MACH_MX6DL_TURING MX6DL_TURING 5066 564 + mx53_indash MACH_MX53_INDASH MX53_INDASH 5067 565 + mx6q_indash MACH_MX6Q_INDASH MX6Q_INDASH 5068 566 + mx6dl_indash MACH_MX6DL_INDASH MX6DL_INDASH 5069 567 + rts_g6 MACH_RTS_G6 RTS_G6 5070 568 + ka_titan MACH_KA_TITAN KA_TITAN 5071 569 + cl_som_imx7 MACH_CL_SOM_IMX7 CL_SOM_IMX7 5072 570 + vvdn_mgsi_vsis MACH_VVDN_MGSI_VSIS VVDN_MGSI_VSIS 5073 571 + mx6q_nano MACH_MX6Q_NANO MX6Q_NANO 5074 572 + pdu001 MACH_PDU001 PDU001 5075 573 + cab_proyk MACH_CAB_PROYK CAB_PROYK 5076 574 + klin MACH_KLIN KLIN 5077 575 + enman_steuerbox MACH_ENMAN_STEUERBOX ENMAN_STEUERBOX 5078 576 + ls_stingray MACH_LS_STINGRAY LS_STINGRAY 5079 577 + ipdu MACH_IPDU IPDU 5080 578 + linda MACH_LINDA LINDA 5081 579 + mx6q_openrex MACH_MX6Q_OPENREX MX6Q_OPENREX 5082 580 + on100 MACH_ON100 ON100 5083 581 + eminds_rtu12 MACH_EMINDS_RTU12 EMINDS_RTU12 5084 582 + eminds_avl10 MACH_EMINDS_AVL10 EMINDS_AVL10 5085 583 + main_plc_lme MACH_MAIN_PLC_LME MAIN_PLC_LME 5086 584 + mspx MACH_MSPX MSPX 5087 585 + cgw_300 MACH_CGW_300 CGW_300 5088 586 + mx7d_cicada MACH_MX7D_CICADA MX7D_CICADA 5089 587 + virt2real_dm365 MACH_VIRT2REAL_DM365 VIRT2REAL_DM365 5090 588 + dm365_virt2real MACH_DM365_VIRT2REAL DM365_VIRT2REAL 5091 589 + h6073 MACH_H6073 H6073 5092 590 + gtgateway MACH_GTGATEWAY GTGATEWAY 5093 591 + xarina_standard MACH_XARINA_STANDARD XARINA_STANDARD 5094 592 + novasoms MACH_NOVASOMS NOVASOMS 5095 593 + novasomp MACH_NOVASOMP NOVASOMP 5096 594 + novasomu MACH_NOVASOMU NOVASOMU 5097 595 + mx6q_mpbd MACH_MX6Q_MPBD MX6Q_MPBD 5098 596 + ncr_1930 MACH_NCR_1930 NCR_1930 5099 597 + uap301 MACH_UAP301 UAP301 5100 598 + urt02 MACH_URT02 URT02 5101 599 + atc8 MACH_ATC8 ATC8 5102 600 + iot_gateway MACH_IOT_GATEWAY IOT_GATEWAY 5103 601 + hsm_phoenix MACH_HSM_PHOENIX HSM_PHOENIX 5104 602 + missouri MACH_MISSOURI MISSOURI 5105 603 + remarkable MACH_REMARKABLE REMARKABLE 5106 604 + fa0113 MACH_FA0113 FA0113 5107 605 + innova_statnettawm MACH_INNOVA_STATNETTAWM INNOVA_STATNETTAWM 5108
+413
arch/arm/tools/syscall.tbl
··· 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 + # 14 + 0 common restart_syscall sys_restart_syscall 15 + 1 common exit sys_exit 16 + 2 common fork sys_fork 17 + 3 common read sys_read 18 + 4 common write sys_write 19 + 5 common open sys_open 20 + 6 common close sys_close 21 + # 7 was sys_waitpid 22 + 8 common creat sys_creat 23 + 9 common link sys_link 24 + 10 common unlink sys_unlink 25 + 11 common execve sys_execve 26 + 12 common chdir sys_chdir 27 + 13 oabi time sys_time 28 + 14 common mknod sys_mknod 29 + 15 common chmod sys_chmod 30 + 16 common lchown sys_lchown16 31 + # 17 was sys_break 32 + # 18 was sys_stat 33 + 19 common lseek sys_lseek 34 + 20 common getpid sys_getpid 35 + 21 common mount sys_mount 36 + 22 oabi umount sys_oldumount 37 + 23 common setuid sys_setuid16 38 + 24 common getuid sys_getuid16 39 + 25 oabi stime sys_stime 40 + 26 common ptrace sys_ptrace 41 + 27 oabi alarm sys_alarm 42 + # 28 was sys_fstat 43 + 29 common pause sys_pause 44 + 30 oabi utime sys_utime 45 + # 31 was sys_stty 46 + # 32 was sys_gtty 47 + 33 common access sys_access 48 + 34 common nice sys_nice 49 + # 35 was sys_ftime 50 + 36 common sync sys_sync 51 + 37 common kill sys_kill 52 + 38 common rename sys_rename 53 + 39 common mkdir sys_mkdir 54 + 40 common rmdir sys_rmdir 55 + 41 common dup sys_dup 56 + 42 common pipe sys_pipe 57 + 43 common times sys_times 58 + # 44 was sys_prof 59 + 45 common brk sys_brk 60 + 46 common setgid sys_setgid16 61 + 47 common getgid sys_getgid16 62 + # 48 was sys_signal 63 + 49 common geteuid sys_geteuid16 64 + 50 common getegid sys_getegid16 65 + 51 common acct sys_acct 66 + 52 common umount2 sys_umount 67 + # 53 was sys_lock 68 + 54 common ioctl sys_ioctl 69 + 55 common fcntl sys_fcntl 70 + # 56 was sys_mpx 71 + 57 common setpgid sys_setpgid 72 + # 58 was sys_ulimit 73 + # 59 was sys_olduname 74 + 60 common umask sys_umask 75 + 61 common chroot sys_chroot 76 + 62 common ustat sys_ustat 77 + 63 common dup2 sys_dup2 78 + 64 common getppid sys_getppid 79 + 65 common getpgrp sys_getpgrp 80 + 66 common setsid sys_setsid 81 + 67 common sigaction sys_sigaction 82 + # 68 was sys_sgetmask 83 + # 69 was sys_ssetmask 84 + 70 common setreuid sys_setreuid16 85 + 71 common setregid sys_setregid16 86 + 72 common sigsuspend sys_sigsuspend 87 + 73 common sigpending sys_sigpending 88 + 74 common sethostname sys_sethostname 89 + 75 common setrlimit sys_setrlimit 90 + # Back compat 2GB limited rlimit 91 + 76 oabi getrlimit sys_old_getrlimit 92 + 77 common getrusage sys_getrusage 93 + 78 common gettimeofday sys_gettimeofday 94 + 79 common settimeofday sys_settimeofday 95 + 80 common getgroups sys_getgroups16 96 + 81 common setgroups sys_setgroups16 97 + 82 oabi select sys_old_select 98 + 83 common symlink sys_symlink 99 + # 84 was sys_lstat 100 + 85 common readlink sys_readlink 101 + 86 common uselib sys_uselib 102 + 87 common swapon sys_swapon 103 + 88 common reboot sys_reboot 104 + 89 oabi readdir sys_old_readdir 105 + 90 oabi mmap sys_old_mmap 106 + 91 common munmap sys_munmap 107 + 92 common truncate sys_truncate 108 + 93 common ftruncate sys_ftruncate 109 + 94 common fchmod sys_fchmod 110 + 95 common fchown sys_fchown16 111 + 96 common getpriority sys_getpriority 112 + 97 common setpriority sys_setpriority 113 + # 98 was sys_profil 114 + 99 common statfs sys_statfs 115 + 100 common fstatfs sys_fstatfs 116 + # 101 was sys_ioperm 117 + 102 oabi socketcall sys_socketcall sys_oabi_socketcall 118 + 103 common syslog sys_syslog 119 + 104 common setitimer sys_setitimer 120 + 105 common getitimer sys_getitimer 121 + 106 common stat sys_newstat 122 + 107 common lstat sys_newlstat 123 + 108 common fstat sys_newfstat 124 + # 109 was sys_uname 125 + # 110 was sys_iopl 126 + 111 common vhangup sys_vhangup 127 + # 112 was sys_idle 128 + # syscall to call a syscall! 129 + 113 oabi syscall sys_syscall 130 + 114 common wait4 sys_wait4 131 + 115 common swapoff sys_swapoff 132 + 116 common sysinfo sys_sysinfo 133 + 117 oabi ipc sys_ipc sys_oabi_ipc 134 + 118 common fsync sys_fsync 135 + 119 common sigreturn sys_sigreturn_wrapper 136 + 120 common clone sys_clone 137 + 121 common setdomainname sys_setdomainname 138 + 122 common uname sys_newuname 139 + # 123 was sys_modify_ldt 140 + 124 common adjtimex sys_adjtimex 141 + 125 common mprotect sys_mprotect 142 + 126 common sigprocmask sys_sigprocmask 143 + # 127 was sys_create_module 144 + 128 common init_module sys_init_module 145 + 129 common delete_module sys_delete_module 146 + # 130 was sys_get_kernel_syms 147 + 131 common quotactl sys_quotactl 148 + 132 common getpgid sys_getpgid 149 + 133 common fchdir sys_fchdir 150 + 134 common bdflush sys_bdflush 151 + 135 common sysfs sys_sysfs 152 + 136 common personality sys_personality 153 + # 137 was sys_afs_syscall 154 + 138 common setfsuid sys_setfsuid16 155 + 139 common setfsgid sys_setfsgid16 156 + 140 common _llseek sys_llseek 157 + 141 common getdents sys_getdents 158 + 142 common _newselect sys_select 159 + 143 common flock sys_flock 160 + 144 common msync sys_msync 161 + 145 common readv sys_readv 162 + 146 common writev sys_writev 163 + 147 common getsid sys_getsid 164 + 148 common fdatasync sys_fdatasync 165 + 149 common _sysctl sys_sysctl 166 + 150 common mlock sys_mlock 167 + 151 common munlock sys_munlock 168 + 152 common mlockall sys_mlockall 169 + 153 common munlockall sys_munlockall 170 + 154 common sched_setparam sys_sched_setparam 171 + 155 common sched_getparam sys_sched_getparam 172 + 156 common sched_setscheduler sys_sched_setscheduler 173 + 157 common sched_getscheduler sys_sched_getscheduler 174 + 158 common sched_yield sys_sched_yield 175 + 159 common sched_get_priority_max sys_sched_get_priority_max 176 + 160 common sched_get_priority_min sys_sched_get_priority_min 177 + 161 common sched_rr_get_interval sys_sched_rr_get_interval 178 + 162 common nanosleep sys_nanosleep 179 + 163 common mremap sys_mremap 180 + 164 common setresuid sys_setresuid16 181 + 165 common getresuid sys_getresuid16 182 + # 166 was sys_vm86 183 + # 167 was sys_query_module 184 + 168 common poll sys_poll 185 + 169 common nfsservctl 186 + 170 common setresgid sys_setresgid16 187 + 171 common getresgid sys_getresgid16 188 + 172 common prctl sys_prctl 189 + 173 common rt_sigreturn sys_rt_sigreturn_wrapper 190 + 174 common rt_sigaction sys_rt_sigaction 191 + 175 common rt_sigprocmask sys_rt_sigprocmask 192 + 176 common rt_sigpending sys_rt_sigpending 193 + 177 common rt_sigtimedwait sys_rt_sigtimedwait 194 + 178 common rt_sigqueueinfo sys_rt_sigqueueinfo 195 + 179 common rt_sigsuspend sys_rt_sigsuspend 196 + 180 common pread64 sys_pread64 sys_oabi_pread64 197 + 181 common pwrite64 sys_pwrite64 sys_oabi_pwrite64 198 + 182 common chown sys_chown16 199 + 183 common getcwd sys_getcwd 200 + 184 common capget sys_capget 201 + 185 common capset sys_capset 202 + 186 common sigaltstack sys_sigaltstack 203 + 187 common sendfile sys_sendfile 204 + # 188 reserved 205 + # 189 reserved 206 + 190 common vfork sys_vfork 207 + # SuS compliant getrlimit 208 + 191 common ugetrlimit sys_getrlimit 209 + 192 common mmap2 sys_mmap2 210 + 193 common truncate64 sys_truncate64 sys_oabi_truncate64 211 + 194 common ftruncate64 sys_ftruncate64 sys_oabi_ftruncate64 212 + 195 common stat64 sys_stat64 sys_oabi_stat64 213 + 196 common lstat64 sys_lstat64 sys_oabi_lstat64 214 + 197 common fstat64 sys_fstat64 sys_oabi_fstat64 215 + 198 common lchown32 sys_lchown 216 + 199 common getuid32 sys_getuid 217 + 200 common getgid32 sys_getgid 218 + 201 common geteuid32 sys_geteuid 219 + 202 common getegid32 sys_getegid 220 + 203 common setreuid32 sys_setreuid 221 + 204 common setregid32 sys_setregid 222 + 205 common getgroups32 sys_getgroups 223 + 206 common setgroups32 sys_setgroups 224 + 207 common fchown32 sys_fchown 225 + 208 common setresuid32 sys_setresuid 226 + 209 common getresuid32 sys_getresuid 227 + 210 common setresgid32 sys_setresgid 228 + 211 common getresgid32 sys_getresgid 229 + 212 common chown32 sys_chown 230 + 213 common setuid32 sys_setuid 231 + 214 common setgid32 sys_setgid 232 + 215 common setfsuid32 sys_setfsuid 233 + 216 common setfsgid32 sys_setfsgid 234 + 217 common getdents64 sys_getdents64 235 + 218 common pivot_root sys_pivot_root 236 + 219 common mincore sys_mincore 237 + 220 common madvise sys_madvise 238 + 221 common fcntl64 sys_fcntl64 sys_oabi_fcntl64 239 + # 222 for tux 240 + # 223 is unused 241 + 224 common gettid sys_gettid 242 + 225 common readahead sys_readahead sys_oabi_readahead 243 + 226 common setxattr sys_setxattr 244 + 227 common lsetxattr sys_lsetxattr 245 + 228 common fsetxattr sys_fsetxattr 246 + 229 common getxattr sys_getxattr 247 + 230 common lgetxattr sys_lgetxattr 248 + 231 common fgetxattr sys_fgetxattr 249 + 232 common listxattr sys_listxattr 250 + 233 common llistxattr sys_llistxattr 251 + 234 common flistxattr sys_flistxattr 252 + 235 common removexattr sys_removexattr 253 + 236 common lremovexattr sys_lremovexattr 254 + 237 common fremovexattr sys_fremovexattr 255 + 238 common tkill sys_tkill 256 + 239 common sendfile64 sys_sendfile64 257 + 240 common futex sys_futex 258 + 241 common sched_setaffinity sys_sched_setaffinity 259 + 242 common sched_getaffinity sys_sched_getaffinity 260 + 243 common io_setup sys_io_setup 261 + 244 common io_destroy sys_io_destroy 262 + 245 common io_getevents sys_io_getevents 263 + 246 common io_submit sys_io_submit 264 + 247 common io_cancel sys_io_cancel 265 + 248 common exit_group sys_exit_group 266 + 249 common lookup_dcookie sys_lookup_dcookie 267 + 250 common epoll_create sys_epoll_create 268 + 251 common epoll_ctl sys_epoll_ctl sys_oabi_epoll_ctl 269 + 252 common epoll_wait sys_epoll_wait sys_oabi_epoll_wait 270 + 253 common remap_file_pages sys_remap_file_pages 271 + # 254 for set_thread_area 272 + # 255 for get_thread_area 273 + 256 common set_tid_address sys_set_tid_address 274 + 257 common timer_create sys_timer_create 275 + 258 common timer_settime sys_timer_settime 276 + 259 common timer_gettime sys_timer_gettime 277 + 260 common timer_getoverrun sys_timer_getoverrun 278 + 261 common timer_delete sys_timer_delete 279 + 262 common clock_settime sys_clock_settime 280 + 263 common clock_gettime sys_clock_gettime 281 + 264 common clock_getres sys_clock_getres 282 + 265 common clock_nanosleep sys_clock_nanosleep 283 + 266 common statfs64 sys_statfs64_wrapper 284 + 267 common fstatfs64 sys_fstatfs64_wrapper 285 + 268 common tgkill sys_tgkill 286 + 269 common utimes sys_utimes 287 + 270 common arm_fadvise64_64 sys_arm_fadvise64_64 288 + 271 common pciconfig_iobase sys_pciconfig_iobase 289 + 272 common pciconfig_read sys_pciconfig_read 290 + 273 common pciconfig_write sys_pciconfig_write 291 + 274 common mq_open sys_mq_open 292 + 275 common mq_unlink sys_mq_unlink 293 + 276 common mq_timedsend sys_mq_timedsend 294 + 277 common mq_timedreceive sys_mq_timedreceive 295 + 278 common mq_notify sys_mq_notify 296 + 279 common mq_getsetattr sys_mq_getsetattr 297 + 280 common waitid sys_waitid 298 + 281 common socket sys_socket 299 + 282 common bind sys_bind sys_oabi_bind 300 + 283 common connect sys_connect sys_oabi_connect 301 + 284 common listen sys_listen 302 + 285 common accept sys_accept 303 + 286 common getsockname sys_getsockname 304 + 287 common getpeername sys_getpeername 305 + 288 common socketpair sys_socketpair 306 + 289 common send sys_send 307 + 290 common sendto sys_sendto sys_oabi_sendto 308 + 291 common recv sys_recv 309 + 292 common recvfrom sys_recvfrom 310 + 293 common shutdown sys_shutdown 311 + 294 common setsockopt sys_setsockopt 312 + 295 common getsockopt sys_getsockopt 313 + 296 common sendmsg sys_sendmsg sys_oabi_sendmsg 314 + 297 common recvmsg sys_recvmsg 315 + 298 common semop sys_semop sys_oabi_semop 316 + 299 common semget sys_semget 317 + 300 common semctl sys_semctl 318 + 301 common msgsnd sys_msgsnd 319 + 302 common msgrcv sys_msgrcv 320 + 303 common msgget sys_msgget 321 + 304 common msgctl sys_msgctl 322 + 305 common shmat sys_shmat 323 + 306 common shmdt sys_shmdt 324 + 307 common shmget sys_shmget 325 + 308 common shmctl sys_shmctl 326 + 309 common add_key sys_add_key 327 + 310 common request_key sys_request_key 328 + 311 common keyctl sys_keyctl 329 + 312 common semtimedop sys_semtimedop sys_oabi_semtimedop 330 + 313 common vserver 331 + 314 common ioprio_set sys_ioprio_set 332 + 315 common ioprio_get sys_ioprio_get 333 + 316 common inotify_init sys_inotify_init 334 + 317 common inotify_add_watch sys_inotify_add_watch 335 + 318 common inotify_rm_watch sys_inotify_rm_watch 336 + 319 common mbind sys_mbind 337 + 320 common get_mempolicy sys_get_mempolicy 338 + 321 common set_mempolicy sys_set_mempolicy 339 + 322 common openat sys_openat 340 + 323 common mkdirat sys_mkdirat 341 + 324 common mknodat sys_mknodat 342 + 325 common fchownat sys_fchownat 343 + 326 common futimesat sys_futimesat 344 + 327 common fstatat64 sys_fstatat64 sys_oabi_fstatat64 345 + 328 common unlinkat sys_unlinkat 346 + 329 common renameat sys_renameat 347 + 330 common linkat sys_linkat 348 + 331 common symlinkat sys_symlinkat 349 + 332 common readlinkat sys_readlinkat 350 + 333 common fchmodat sys_fchmodat 351 + 334 common faccessat sys_faccessat 352 + 335 common pselect6 sys_pselect6 353 + 336 common ppoll sys_ppoll 354 + 337 common unshare sys_unshare 355 + 338 common set_robust_list sys_set_robust_list 356 + 339 common get_robust_list sys_get_robust_list 357 + 340 common splice sys_splice 358 + 341 common arm_sync_file_range sys_sync_file_range2 359 + 342 common tee sys_tee 360 + 343 common vmsplice sys_vmsplice 361 + 344 common move_pages sys_move_pages 362 + 345 common getcpu sys_getcpu 363 + 346 common epoll_pwait sys_epoll_pwait 364 + 347 common kexec_load sys_kexec_load 365 + 348 common utimensat sys_utimensat 366 + 349 common signalfd sys_signalfd 367 + 350 common timerfd_create sys_timerfd_create 368 + 351 common eventfd sys_eventfd 369 + 352 common fallocate sys_fallocate 370 + 353 common timerfd_settime sys_timerfd_settime 371 + 354 common timerfd_gettime sys_timerfd_gettime 372 + 355 common signalfd4 sys_signalfd4 373 + 356 common eventfd2 sys_eventfd2 374 + 357 common epoll_create1 sys_epoll_create1 375 + 358 common dup3 sys_dup3 376 + 359 common pipe2 sys_pipe2 377 + 360 common inotify_init1 sys_inotify_init1 378 + 361 common preadv sys_preadv 379 + 362 common pwritev sys_pwritev 380 + 363 common rt_tgsigqueueinfo sys_rt_tgsigqueueinfo 381 + 364 common perf_event_open sys_perf_event_open 382 + 365 common recvmmsg sys_recvmmsg 383 + 366 common accept4 sys_accept4 384 + 367 common fanotify_init sys_fanotify_init 385 + 368 common fanotify_mark sys_fanotify_mark 386 + 369 common prlimit64 sys_prlimit64 387 + 370 common name_to_handle_at sys_name_to_handle_at 388 + 371 common open_by_handle_at sys_open_by_handle_at 389 + 372 common clock_adjtime sys_clock_adjtime 390 + 373 common syncfs sys_syncfs 391 + 374 common sendmmsg sys_sendmmsg 392 + 375 common setns sys_setns 393 + 376 common process_vm_readv sys_process_vm_readv 394 + 377 common process_vm_writev sys_process_vm_writev 395 + 378 common kcmp sys_kcmp 396 + 379 common finit_module sys_finit_module 397 + 380 common sched_setattr sys_sched_setattr 398 + 381 common sched_getattr sys_sched_getattr 399 + 382 common renameat2 sys_renameat2 400 + 383 common seccomp sys_seccomp 401 + 384 common getrandom sys_getrandom 402 + 385 common memfd_create sys_memfd_create 403 + 386 common bpf sys_bpf 404 + 387 common execveat sys_execveat 405 + 388 common userfaultfd sys_userfaultfd 406 + 389 common membarrier sys_membarrier 407 + 390 common mlock2 sys_mlock2 408 + 391 common copy_file_range sys_copy_file_range 409 + 392 common preadv2 sys_preadv2 410 + 393 common pwritev2 sys_pwritev2 411 + 394 common pkey_mprotect sys_pkey_mprotect 412 + 395 common pkey_alloc sys_pkey_alloc 413 + 396 common pkey_free sys_pkey_free
+30
arch/arm/tools/syscallhdr.sh
··· 1 + #!/bin/sh 2 + 3 + in="$1" 4 + out="$2" 5 + my_abis=`echo "($3)" | tr ',' '|'` 6 + prefix="$4" 7 + offset="$5" 8 + 9 + fileguard=_ASM_ARM_`basename "$out" | sed \ 10 + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ 11 + -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` 12 + if echo $out | grep -q uapi; then 13 + fileguard="_UAPI$fileguard" 14 + fi 15 + grep -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"
+33
arch/arm/tools/syscallnr.sh
··· 1 + #!/bin/sh 2 + in="$1" 3 + out="$2" 4 + my_abis=`echo "($3)" | tr ',' '|'` 5 + align=1 6 + 7 + fileguard=_ASM_ARM_`basename "$out" | sed \ 8 + -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/' \ 9 + -e 's/[^A-Z0-9_]/_/g' -e 's/__/_/g'` 10 + 11 + grep -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"
+21
arch/arm/tools/syscalltbl.sh
··· 1 + #!/bin/sh 2 + in="$1" 3 + out="$2" 4 + my_abis=`echo "($3)" | tr ',' '|'` 5 + 6 + grep -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"
+5 -5
arch/arm/vfp/vfp.h
··· 155 155 u32 significand; 156 156 }; 157 157 158 - extern s32 vfp_get_float(unsigned int reg); 159 - extern void vfp_put_float(s32 val, unsigned int reg); 158 + asmlinkage s32 vfp_get_float(unsigned int reg); 159 + asmlinkage void vfp_put_float(s32 val, unsigned int reg); 160 160 161 161 /* 162 162 * VFP_SINGLE_MANTISSA_BITS - number of bits in the mantissa ··· 270 270 #else 271 271 #define VFP_REG_ZERO 16 272 272 #endif 273 - extern u64 vfp_get_double(unsigned int reg); 274 - extern void vfp_put_double(u64 val, unsigned int reg); 273 + asmlinkage u64 vfp_get_double(unsigned int reg); 274 + asmlinkage void vfp_put_double(u64 val, unsigned int reg); 275 275 276 276 #define VFP_DOUBLE_MANTISSA_BITS (52) 277 277 #define VFP_DOUBLE_EXPONENT_BITS (11) ··· 377 377 u32 flags; 378 378 }; 379 379 380 - extern void vfp_save_state(void *location, u32 fpexc); 380 + asmlinkage void vfp_save_state(void *location, u32 fpexc);
+4 -4
arch/arm/vfp/vfpmodule.c
··· 34 34 /* 35 35 * Our undef handlers (in entry.S) 36 36 */ 37 - void vfp_testing_entry(void); 38 - void vfp_support_entry(void); 39 - void vfp_null_entry(void); 37 + asmlinkage void vfp_testing_entry(void); 38 + asmlinkage void vfp_support_entry(void); 39 + asmlinkage void vfp_null_entry(void); 40 40 41 - void (*vfp_vector)(void) = vfp_null_entry; 41 + asmlinkage void (*vfp_vector)(void) = vfp_null_entry; 42 42 43 43 /* 44 44 * Dual-use variable.
+8
drivers/clk/clkdev.c
··· 448 448 * 449 449 * con_id or dev_id may be NULL as a wildcard, just as in the rest of 450 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 */ 452 457 int clk_hw_register_clkdev(struct clk_hw *hw, const char *con_id, 453 458 const char *dev_id) 454 459 { 455 460 struct clk_lookup *cl; 461 + 462 + if (IS_ERR(hw)) 463 + return PTR_ERR(hw); 456 464 457 465 /* 458 466 * Since dev_id can be NULL, and NULL is handled specially, we must