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

Merge tag 'sh-for-linus' of git://github.com/pmundt/linux-sh

Pull SuperH updates from Paul Mundt.

The bulk of this is the UAPI disintegration for SH.

* tag 'sh-for-linus' of git://github.com/pmundt/linux-sh:
sh: Fix up more fallout from pointless ARM __iomem churn.
sh: Wire up kcmp syscall.
UAPI: (Scripted) Disintegrate arch/sh/include/asm

+525 -491
-11
arch/sh/include/asm/Kbuild
··· 1 - include include/asm-generic/Kbuild.asm 2 1 3 2 generic-y += bitsperlong.h 4 3 generic-y += cputime.h ··· 33 34 generic-y += termios.h 34 35 generic-y += ucontext.h 35 36 generic-y += xor.h 36 - 37 - header-y += cachectl.h 38 - header-y += cpu-features.h 39 - header-y += hw_breakpoint.h 40 - header-y += posix_types_32.h 41 - header-y += posix_types_64.h 42 - header-y += ptrace_32.h 43 - header-y += ptrace_64.h 44 - header-y += unistd_32.h 45 - header-y += unistd_64.h
arch/sh/include/asm/auxvec.h arch/sh/include/uapi/asm/auxvec.h
arch/sh/include/asm/byteorder.h arch/sh/include/uapi/asm/byteorder.h
arch/sh/include/asm/cachectl.h arch/sh/include/uapi/asm/cachectl.h
arch/sh/include/asm/cpu-features.h arch/sh/include/uapi/asm/cpu-features.h
+2 -2
arch/sh/include/asm/hw_breakpoint.h
··· 1 1 #ifndef __ASM_SH_HW_BREAKPOINT_H 2 2 #define __ASM_SH_HW_BREAKPOINT_H 3 3 4 - #ifdef __KERNEL__ 4 + #include <uapi/asm/hw_breakpoint.h> 5 + 5 6 #define __ARCH_HW_BREAKPOINT_H 6 7 7 8 #include <linux/kdebug.h> ··· 67 66 68 67 extern struct pmu perf_ops_bp; 69 68 70 - #endif /* __KERNEL__ */ 71 69 #endif /* __ASM_SH_HW_BREAKPOINT_H */
arch/sh/include/asm/ioctls.h arch/sh/include/uapi/asm/ioctls.h
-8
arch/sh/include/asm/posix_types.h
··· 1 - #ifdef __KERNEL__ 2 1 # ifdef CONFIG_SUPERH32 3 2 # include <asm/posix_types_32.h> 4 3 # else 5 4 # include <asm/posix_types_64.h> 6 5 # endif 7 - #else 8 - # ifdef __SH5__ 9 - # include <asm/posix_types_64.h> 10 - # else 11 - # include <asm/posix_types_32.h> 12 - # endif 13 - #endif /* __KERNEL__ */
arch/sh/include/asm/posix_types_32.h arch/sh/include/uapi/asm/posix_types_32.h
arch/sh/include/asm/posix_types_64.h arch/sh/include/uapi/asm/posix_types_64.h
+3 -31
arch/sh/include/asm/ptrace.h
··· 1 - #ifndef __ASM_SH_PTRACE_H 2 - #define __ASM_SH_PTRACE_H 3 - 4 1 /* 5 2 * Copyright (C) 1999, 2000 Niibe Yutaka 6 3 */ 4 + #ifndef __ASM_SH_PTRACE_H 5 + #define __ASM_SH_PTRACE_H 7 6 8 - #define PTRACE_GETREGS 12 /* General registers */ 9 - #define PTRACE_SETREGS 13 10 - 11 - #define PTRACE_GETFPREGS 14 /* FPU registers */ 12 - #define PTRACE_SETFPREGS 15 13 - 14 - #define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */ 15 - 16 - #define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */ 17 - #define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */ 18 - 19 - #define PTRACE_GETDSPREGS 55 /* DSP registers */ 20 - #define PTRACE_SETDSPREGS 56 21 - 22 - #define PT_TEXT_END_ADDR 240 23 - #define PT_TEXT_ADDR 244 /* &(struct user)->start_code */ 24 - #define PT_DATA_ADDR 248 /* &(struct user)->start_data */ 25 - #define PT_TEXT_LEN 252 26 - 27 - #if defined(__SH5__) || defined(CONFIG_CPU_SH5) 28 - #include <asm/ptrace_64.h> 29 - #else 30 - #include <asm/ptrace_32.h> 31 - #endif 32 - 33 - #ifdef __KERNEL__ 34 7 35 8 #include <linux/stringify.h> 36 9 #include <linux/stddef.h> 37 10 #include <linux/thread_info.h> 38 11 #include <asm/addrspace.h> 39 12 #include <asm/page.h> 13 + #include <uapi/asm/ptrace.h> 40 14 41 15 #define user_mode(regs) (((regs)->sr & 0x40000000)==0) 42 16 #define kernel_stack_pointer(_regs) ((unsigned long)(_regs)->regs[15]) ··· 114 140 #define profile_pc profile_pc 115 141 116 142 #include <asm-generic/ptrace.h> 117 - #endif /* __KERNEL__ */ 118 - 119 143 #endif /* __ASM_SH_PTRACE_H */
+1 -74
arch/sh/include/asm/ptrace_32.h
··· 1 1 #ifndef __ASM_SH_PTRACE_32_H 2 2 #define __ASM_SH_PTRACE_32_H 3 3 4 - /* 5 - * GCC defines register number like this: 6 - * ----------------------------- 7 - * 0 - 15 are integer registers 8 - * 17 - 22 are control/special registers 9 - * 24 - 39 fp registers 10 - * 40 - 47 xd registers 11 - * 48 - fpscr register 12 - * ----------------------------- 13 - * 14 - * We follows above, except: 15 - * 16 --- program counter (PC) 16 - * 22 --- syscall # 17 - * 23 --- floating point communication register 18 - */ 19 - #define REG_REG0 0 20 - #define REG_REG15 15 4 + #include <uapi/asm/ptrace_32.h> 21 5 22 - #define REG_PC 16 23 - 24 - #define REG_PR 17 25 - #define REG_SR 18 26 - #define REG_GBR 19 27 - #define REG_MACH 20 28 - #define REG_MACL 21 29 - 30 - #define REG_SYSCALL 22 31 - 32 - #define REG_FPREG0 23 33 - #define REG_FPREG15 38 34 - #define REG_XFREG0 39 35 - #define REG_XFREG15 54 36 - 37 - #define REG_FPSCR 55 38 - #define REG_FPUL 56 39 - 40 - /* 41 - * This struct defines the way the registers are stored on the 42 - * kernel stack during a system call or other kernel entry. 43 - */ 44 - struct pt_regs { 45 - unsigned long regs[16]; 46 - unsigned long pc; 47 - unsigned long pr; 48 - unsigned long sr; 49 - unsigned long gbr; 50 - unsigned long mach; 51 - unsigned long macl; 52 - long tra; 53 - }; 54 - 55 - /* 56 - * This struct defines the way the DSP registers are stored on the 57 - * kernel stack during a system call or other kernel entry. 58 - */ 59 - struct pt_dspregs { 60 - unsigned long a1; 61 - unsigned long a0g; 62 - unsigned long a1g; 63 - unsigned long m0; 64 - unsigned long m1; 65 - unsigned long a0; 66 - unsigned long x0; 67 - unsigned long x1; 68 - unsigned long y0; 69 - unsigned long y1; 70 - unsigned long dsr; 71 - unsigned long rs; 72 - unsigned long re; 73 - unsigned long mod; 74 - }; 75 - 76 - #ifdef __KERNEL__ 77 6 78 7 #define MAX_REG_OFFSET offsetof(struct pt_regs, tra) 79 8 static inline long regs_return_value(struct pt_regs *regs) 80 9 { 81 10 return regs->regs[0]; 82 11 } 83 - 84 - #endif /* __KERNEL__ */ 85 12 86 13 #endif /* __ASM_SH_PTRACE_32_H */
+1 -11
arch/sh/include/asm/ptrace_64.h
··· 1 1 #ifndef __ASM_SH_PTRACE_64_H 2 2 #define __ASM_SH_PTRACE_64_H 3 3 4 - struct pt_regs { 5 - unsigned long long pc; 6 - unsigned long long sr; 7 - long long syscall_nr; 8 - unsigned long long regs[63]; 9 - unsigned long long tregs[8]; 10 - unsigned long long pad[2]; 11 - }; 4 + #include <uapi/asm/ptrace_64.h> 12 5 13 - #ifdef __KERNEL__ 14 6 15 7 #define MAX_REG_OFFSET offsetof(struct pt_regs, tregs[7]) 16 8 static inline long regs_return_value(struct pt_regs *regs) 17 9 { 18 10 return regs->regs[3]; 19 11 } 20 - 21 - #endif /* __KERNEL__ */ 22 12 23 13 #endif /* __ASM_SH_PTRACE_64_H */
+1 -4
arch/sh/include/asm/setup.h
··· 1 1 #ifndef _SH_SETUP_H 2 2 #define _SH_SETUP_H 3 3 4 - #include <asm-generic/setup.h> 4 + #include <uapi/asm/setup.h> 5 5 6 - #ifdef __KERNEL__ 7 6 /* 8 7 * This is set up by the setup-routine at boot-time 9 8 */ ··· 20 21 void sh_mv_setup(void); 21 22 void check_for_initrd(void); 22 23 void per_cpu_trap_init(void); 23 - 24 - #endif /* __KERNEL__ */ 25 24 26 25 #endif /* _SH_SETUP_H */
arch/sh/include/asm/sigcontext.h arch/sh/include/uapi/asm/sigcontext.h
arch/sh/include/asm/signal.h arch/sh/include/uapi/asm/signal.h
arch/sh/include/asm/sockios.h arch/sh/include/uapi/asm/sockios.h
arch/sh/include/asm/stat.h arch/sh/include/uapi/asm/stat.h
arch/sh/include/asm/swab.h arch/sh/include/uapi/asm/swab.h
+1 -4
arch/sh/include/asm/types.h
··· 1 1 #ifndef __ASM_SH_TYPES_H 2 2 #define __ASM_SH_TYPES_H 3 3 4 - #include <asm-generic/types.h> 4 + #include <uapi/asm/types.h> 5 5 6 6 /* 7 7 * These aren't exported outside the kernel to avoid name space clashes 8 8 */ 9 - #ifdef __KERNEL__ 10 9 #ifndef __ASSEMBLY__ 11 10 12 11 #ifdef CONFIG_SUPERH32 ··· 17 18 #endif 18 19 19 20 #endif /* __ASSEMBLY__ */ 20 - #endif /* __KERNEL__ */ 21 - 22 21 #endif /* __ASM_SH_TYPES_H */
+1 -8
arch/sh/include/asm/unistd.h
··· 1 - #ifdef __KERNEL__ 2 1 # ifdef CONFIG_SUPERH32 3 2 # include <asm/unistd_32.h> 4 3 # else ··· 37 38 */ 38 39 # define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") 39 40 40 - #else 41 - # ifdef __SH5__ 42 - # include <asm/unistd_64.h> 43 - # else 44 - # include <asm/unistd_32.h> 45 - # endif 46 - #endif 41 + #include <uapi/asm/unistd.h>
+169 -148
arch/sh/include/asm/unistd_32.h arch/sh/include/uapi/asm/unistd_64.h
··· 1 - #ifndef __ASM_SH_UNISTD_32_H 2 - #define __ASM_SH_UNISTD_32_H 1 + #ifndef __ASM_SH_UNISTD_64_H 2 + #define __ASM_SH_UNISTD_64_H 3 3 4 4 /* 5 - * Copyright (C) 1999 Niibe Yutaka 6 - */ 7 - 8 - /* 5 + * include/asm-sh/unistd_64.h 6 + * 9 7 * This file contains the system call numbers. 8 + * 9 + * Copyright (C) 2000, 2001 Paolo Alberelli 10 + * Copyright (C) 2003 - 2007 Paul Mundt 11 + * Copyright (C) 2004 Sean McGoogan 12 + * 13 + * This file is subject to the terms and conditions of the GNU General Public 14 + * License. See the file "COPYING" in the main directory of this archive 15 + * for more details. 10 16 */ 11 - 12 17 #define __NR_restart_syscall 0 13 18 #define __NR_exit 1 14 19 #define __NR_fork 2 ··· 96 91 #define __NR_settimeofday 79 97 92 #define __NR_getgroups 80 98 93 #define __NR_setgroups 81 99 - /* 82 was sys_oldselect */ 94 + /* 82 was sys_select */ 100 95 #define __NR_symlink 83 101 96 #define __NR_oldlstat 84 102 97 #define __NR_readlink 85 ··· 116 111 #define __NR_statfs 99 117 112 #define __NR_fstatfs 100 118 113 /* 101 was sys_ioperm */ 119 - #define __NR_socketcall 102 114 + #define __NR_socketcall 102 /* old implementation of socket systemcall */ 120 115 #define __NR_syslog 103 121 116 #define __NR_setitimer 104 122 117 #define __NR_getitimer 105 ··· 202 197 #define __NR_capset 185 203 198 #define __NR_sigaltstack 186 204 199 #define __NR_sendfile 187 205 - /* 188 reserved for sys_getpmsg */ 206 - /* 189 reserved for sys_putpmsg */ 200 + /* 188 reserved for getpmsg */ 201 + /* 189 reserved for putpmsg */ 207 202 #define __NR_vfork 190 208 203 #define __NR_ugetrlimit 191 /* SuS compliant getrlimit */ 209 204 #define __NR_mmap2 192 ··· 234 229 #define __NR_pivot_root 217 235 230 #define __NR_mincore 218 236 231 #define __NR_madvise 219 237 - #define __NR_getdents64 220 238 - #define __NR_fcntl64 221 239 - /* 222 is reserved for tux */ 240 - /* 223 is unused */ 241 - #define __NR_gettid 224 242 - #define __NR_readahead 225 243 - #define __NR_setxattr 226 244 - #define __NR_lsetxattr 227 245 - #define __NR_fsetxattr 228 246 - #define __NR_getxattr 229 247 - #define __NR_lgetxattr 230 248 - #define __NR_fgetxattr 231 249 - #define __NR_listxattr 232 250 - #define __NR_llistxattr 233 251 - #define __NR_flistxattr 234 252 - #define __NR_removexattr 235 253 - #define __NR_lremovexattr 236 254 - #define __NR_fremovexattr 237 255 - #define __NR_tkill 238 256 - #define __NR_sendfile64 239 257 - #define __NR_futex 240 258 - #define __NR_sched_setaffinity 241 259 - #define __NR_sched_getaffinity 242 260 - /* 243 is reserved for set_thread_area */ 261 - /* 244 is reserved for get_thread_area */ 262 - #define __NR_io_setup 245 263 - #define __NR_io_destroy 246 264 - #define __NR_io_getevents 247 265 - #define __NR_io_submit 248 266 - #define __NR_io_cancel 249 267 - #define __NR_fadvise64 250 232 + 233 + /* Non-multiplexed socket family */ 234 + #define __NR_socket 220 235 + #define __NR_bind 221 236 + #define __NR_connect 222 237 + #define __NR_listen 223 238 + #define __NR_accept 224 239 + #define __NR_getsockname 225 240 + #define __NR_getpeername 226 241 + #define __NR_socketpair 227 242 + #define __NR_send 228 243 + #define __NR_sendto 229 244 + #define __NR_recv 230 245 + #define __NR_recvfrom 231 246 + #define __NR_shutdown 232 247 + #define __NR_setsockopt 233 248 + #define __NR_getsockopt 234 249 + #define __NR_sendmsg 235 250 + #define __NR_recvmsg 236 251 + 252 + /* Non-multiplexed IPC family */ 253 + #define __NR_semop 237 254 + #define __NR_semget 238 255 + #define __NR_semctl 239 256 + #define __NR_msgsnd 240 257 + #define __NR_msgrcv 241 258 + #define __NR_msgget 242 259 + #define __NR_msgctl 243 260 + #define __NR_shmat 244 261 + #define __NR_shmdt 245 262 + #define __NR_shmget 246 263 + #define __NR_shmctl 247 264 + 265 + #define __NR_getdents64 248 266 + #define __NR_fcntl64 249 267 + /* 250 is reserved for tux */ 268 268 /* 251 is unused */ 269 - #define __NR_exit_group 252 270 - #define __NR_lookup_dcookie 253 271 - #define __NR_epoll_create 254 272 - #define __NR_epoll_ctl 255 273 - #define __NR_epoll_wait 256 274 - #define __NR_remap_file_pages 257 275 - #define __NR_set_tid_address 258 276 - #define __NR_timer_create 259 269 + #define __NR_gettid 252 270 + #define __NR_readahead 253 271 + #define __NR_setxattr 254 272 + #define __NR_lsetxattr 255 273 + #define __NR_fsetxattr 256 274 + #define __NR_getxattr 257 275 + #define __NR_lgetxattr 258 276 + #define __NR_fgetxattr 269 277 + #define __NR_listxattr 260 278 + #define __NR_llistxattr 261 279 + #define __NR_flistxattr 262 280 + #define __NR_removexattr 263 281 + #define __NR_lremovexattr 264 282 + #define __NR_fremovexattr 265 283 + #define __NR_tkill 266 284 + #define __NR_sendfile64 267 285 + #define __NR_futex 268 286 + #define __NR_sched_setaffinity 269 287 + #define __NR_sched_getaffinity 270 288 + /* 271 is reserved for set_thread_area */ 289 + /* 272 is reserved for get_thread_area */ 290 + #define __NR_io_setup 273 291 + #define __NR_io_destroy 274 292 + #define __NR_io_getevents 275 293 + #define __NR_io_submit 276 294 + #define __NR_io_cancel 277 295 + #define __NR_fadvise64 278 296 + /* 279 is unused */ 297 + #define __NR_exit_group 280 298 + 299 + #define __NR_lookup_dcookie 281 300 + #define __NR_epoll_create 282 301 + #define __NR_epoll_ctl 283 302 + #define __NR_epoll_wait 284 303 + #define __NR_remap_file_pages 285 304 + #define __NR_set_tid_address 286 305 + #define __NR_timer_create 287 277 306 #define __NR_timer_settime (__NR_timer_create+1) 278 307 #define __NR_timer_gettime (__NR_timer_create+2) 279 308 #define __NR_timer_getoverrun (__NR_timer_create+3) ··· 316 277 #define __NR_clock_gettime (__NR_timer_create+6) 317 278 #define __NR_clock_getres (__NR_timer_create+7) 318 279 #define __NR_clock_nanosleep (__NR_timer_create+8) 319 - #define __NR_statfs64 268 320 - #define __NR_fstatfs64 269 321 - #define __NR_tgkill 270 322 - #define __NR_utimes 271 323 - #define __NR_fadvise64_64 272 324 - /* 273 is reserved for vserver */ 325 - #define __NR_mbind 274 326 - #define __NR_get_mempolicy 275 327 - #define __NR_set_mempolicy 276 328 - #define __NR_mq_open 277 280 + #define __NR_statfs64 296 281 + #define __NR_fstatfs64 297 282 + #define __NR_tgkill 298 283 + #define __NR_utimes 299 284 + #define __NR_fadvise64_64 300 285 + /* 301 is reserved for vserver */ 286 + /* 302 is reserved for mbind */ 287 + /* 303 is reserved for get_mempolicy */ 288 + /* 304 is reserved for set_mempolicy */ 289 + #define __NR_mq_open 305 329 290 #define __NR_mq_unlink (__NR_mq_open+1) 330 291 #define __NR_mq_timedsend (__NR_mq_open+2) 331 292 #define __NR_mq_timedreceive (__NR_mq_open+3) 332 293 #define __NR_mq_notify (__NR_mq_open+4) 333 294 #define __NR_mq_getsetattr (__NR_mq_open+5) 334 - #define __NR_kexec_load 283 335 - #define __NR_waitid 284 336 - #define __NR_add_key 285 337 - #define __NR_request_key 286 338 - #define __NR_keyctl 287 339 - #define __NR_ioprio_set 288 340 - #define __NR_ioprio_get 289 341 - #define __NR_inotify_init 290 342 - #define __NR_inotify_add_watch 291 343 - #define __NR_inotify_rm_watch 292 344 - /* 293 is unused */ 345 - #define __NR_migrate_pages 294 346 - #define __NR_openat 295 347 - #define __NR_mkdirat 296 348 - #define __NR_mknodat 297 349 - #define __NR_fchownat 298 350 - #define __NR_futimesat 299 351 - #define __NR_fstatat64 300 352 - #define __NR_unlinkat 301 353 - #define __NR_renameat 302 354 - #define __NR_linkat 303 355 - #define __NR_symlinkat 304 356 - #define __NR_readlinkat 305 357 - #define __NR_fchmodat 306 358 - #define __NR_faccessat 307 359 - #define __NR_pselect6 308 360 - #define __NR_ppoll 309 361 - #define __NR_unshare 310 362 - #define __NR_set_robust_list 311 363 - #define __NR_get_robust_list 312 364 - #define __NR_splice 313 365 - #define __NR_sync_file_range 314 366 - #define __NR_tee 315 367 - #define __NR_vmsplice 316 368 - #define __NR_move_pages 317 369 - #define __NR_getcpu 318 370 - #define __NR_epoll_pwait 319 371 - #define __NR_utimensat 320 372 - #define __NR_signalfd 321 373 - #define __NR_timerfd_create 322 374 - #define __NR_eventfd 323 375 - #define __NR_fallocate 324 376 - #define __NR_timerfd_settime 325 377 - #define __NR_timerfd_gettime 326 378 - #define __NR_signalfd4 327 379 - #define __NR_eventfd2 328 380 - #define __NR_epoll_create1 329 381 - #define __NR_dup3 330 382 - #define __NR_pipe2 331 383 - #define __NR_inotify_init1 332 384 - #define __NR_preadv 333 385 - #define __NR_pwritev 334 386 - #define __NR_rt_tgsigqueueinfo 335 387 - #define __NR_perf_event_open 336 388 - #define __NR_fanotify_init 337 389 - #define __NR_fanotify_mark 338 390 - #define __NR_prlimit64 339 295 + /* 311 is reserved for kexec */ 296 + #define __NR_waitid 312 297 + #define __NR_add_key 313 298 + #define __NR_request_key 314 299 + #define __NR_keyctl 315 300 + #define __NR_ioprio_set 316 301 + #define __NR_ioprio_get 317 302 + #define __NR_inotify_init 318 303 + #define __NR_inotify_add_watch 319 304 + #define __NR_inotify_rm_watch 320 305 + /* 321 is unused */ 306 + #define __NR_migrate_pages 322 307 + #define __NR_openat 323 308 + #define __NR_mkdirat 324 309 + #define __NR_mknodat 325 310 + #define __NR_fchownat 326 311 + #define __NR_futimesat 327 312 + #define __NR_fstatat64 328 313 + #define __NR_unlinkat 329 314 + #define __NR_renameat 330 315 + #define __NR_linkat 331 316 + #define __NR_symlinkat 332 317 + #define __NR_readlinkat 333 318 + #define __NR_fchmodat 334 319 + #define __NR_faccessat 335 320 + #define __NR_pselect6 336 321 + #define __NR_ppoll 337 322 + #define __NR_unshare 338 323 + #define __NR_set_robust_list 339 324 + #define __NR_get_robust_list 340 325 + #define __NR_splice 341 326 + #define __NR_sync_file_range 342 327 + #define __NR_tee 343 328 + #define __NR_vmsplice 344 329 + #define __NR_move_pages 345 330 + #define __NR_getcpu 346 331 + #define __NR_epoll_pwait 347 332 + #define __NR_utimensat 348 333 + #define __NR_signalfd 349 334 + #define __NR_timerfd_create 350 335 + #define __NR_eventfd 351 336 + #define __NR_fallocate 352 337 + #define __NR_timerfd_settime 353 338 + #define __NR_timerfd_gettime 354 339 + #define __NR_signalfd4 355 340 + #define __NR_eventfd2 356 341 + #define __NR_epoll_create1 357 342 + #define __NR_dup3 358 343 + #define __NR_pipe2 359 344 + #define __NR_inotify_init1 360 345 + #define __NR_preadv 361 346 + #define __NR_pwritev 362 347 + #define __NR_rt_tgsigqueueinfo 363 348 + #define __NR_perf_event_open 364 349 + #define __NR_recvmmsg 365 350 + #define __NR_accept4 366 351 + #define __NR_fanotify_init 367 352 + #define __NR_fanotify_mark 368 353 + #define __NR_prlimit64 369 354 + #define __NR_name_to_handle_at 370 355 + #define __NR_open_by_handle_at 371 356 + #define __NR_clock_adjtime 372 357 + #define __NR_syncfs 373 358 + #define __NR_sendmmsg 374 359 + #define __NR_setns 375 360 + #define __NR_process_vm_readv 376 361 + #define __NR_process_vm_writev 377 362 + #define __NR_kcmp 378 391 363 392 - /* Non-multiplexed socket family */ 393 - #define __NR_socket 340 394 - #define __NR_bind 341 395 - #define __NR_connect 342 396 - #define __NR_listen 343 397 - #define __NR_accept 344 398 - #define __NR_getsockname 345 399 - #define __NR_getpeername 346 400 - #define __NR_socketpair 347 401 - #define __NR_send 348 402 - #define __NR_sendto 349 403 - #define __NR_recv 350 404 - #define __NR_recvfrom 351 405 - #define __NR_shutdown 352 406 - #define __NR_setsockopt 353 407 - #define __NR_getsockopt 354 408 - #define __NR_sendmsg 355 409 - #define __NR_recvmsg 356 410 - #define __NR_recvmmsg 357 411 - #define __NR_accept4 358 412 - #define __NR_name_to_handle_at 359 413 - #define __NR_open_by_handle_at 360 414 - #define __NR_clock_adjtime 361 415 - #define __NR_syncfs 362 416 - #define __NR_sendmmsg 363 417 - #define __NR_setns 364 418 - #define __NR_process_vm_readv 365 419 - #define __NR_process_vm_writev 366 364 + #define NR_syscalls 379 420 365 421 - #define NR_syscalls 367 422 - 423 - #endif /* __ASM_SH_UNISTD_32_H */ 366 + #endif /* __ASM_SH_UNISTD_64_H */
+150 -169
arch/sh/include/asm/unistd_64.h arch/sh/include/uapi/asm/unistd_32.h
··· 1 - #ifndef __ASM_SH_UNISTD_64_H 2 - #define __ASM_SH_UNISTD_64_H 1 + #ifndef __ASM_SH_UNISTD_32_H 2 + #define __ASM_SH_UNISTD_32_H 3 3 4 4 /* 5 - * include/asm-sh/unistd_64.h 6 - * 7 - * This file contains the system call numbers. 8 - * 9 - * Copyright (C) 2000, 2001 Paolo Alberelli 10 - * Copyright (C) 2003 - 2007 Paul Mundt 11 - * Copyright (C) 2004 Sean McGoogan 12 - * 13 - * This file is subject to the terms and conditions of the GNU General Public 14 - * License. See the file "COPYING" in the main directory of this archive 15 - * for more details. 5 + * Copyright (C) 1999 Niibe Yutaka 16 6 */ 7 + 8 + /* 9 + * This file contains the system call numbers. 10 + */ 11 + 17 12 #define __NR_restart_syscall 0 18 13 #define __NR_exit 1 19 14 #define __NR_fork 2 ··· 91 96 #define __NR_settimeofday 79 92 97 #define __NR_getgroups 80 93 98 #define __NR_setgroups 81 94 - /* 82 was sys_select */ 99 + /* 82 was sys_oldselect */ 95 100 #define __NR_symlink 83 96 101 #define __NR_oldlstat 84 97 102 #define __NR_readlink 85 ··· 111 116 #define __NR_statfs 99 112 117 #define __NR_fstatfs 100 113 118 /* 101 was sys_ioperm */ 114 - #define __NR_socketcall 102 /* old implementation of socket systemcall */ 119 + #define __NR_socketcall 102 115 120 #define __NR_syslog 103 116 121 #define __NR_setitimer 104 117 122 #define __NR_getitimer 105 ··· 197 202 #define __NR_capset 185 198 203 #define __NR_sigaltstack 186 199 204 #define __NR_sendfile 187 200 - /* 188 reserved for getpmsg */ 201 - /* 189 reserved for putpmsg */ 205 + /* 188 reserved for sys_getpmsg */ 206 + /* 189 reserved for sys_putpmsg */ 202 207 #define __NR_vfork 190 203 208 #define __NR_ugetrlimit 191 /* SuS compliant getrlimit */ 204 209 #define __NR_mmap2 192 ··· 229 234 #define __NR_pivot_root 217 230 235 #define __NR_mincore 218 231 236 #define __NR_madvise 219 232 - 233 - /* Non-multiplexed socket family */ 234 - #define __NR_socket 220 235 - #define __NR_bind 221 236 - #define __NR_connect 222 237 - #define __NR_listen 223 238 - #define __NR_accept 224 239 - #define __NR_getsockname 225 240 - #define __NR_getpeername 226 241 - #define __NR_socketpair 227 242 - #define __NR_send 228 243 - #define __NR_sendto 229 244 - #define __NR_recv 230 245 - #define __NR_recvfrom 231 246 - #define __NR_shutdown 232 247 - #define __NR_setsockopt 233 248 - #define __NR_getsockopt 234 249 - #define __NR_sendmsg 235 250 - #define __NR_recvmsg 236 251 - 252 - /* Non-multiplexed IPC family */ 253 - #define __NR_semop 237 254 - #define __NR_semget 238 255 - #define __NR_semctl 239 256 - #define __NR_msgsnd 240 257 - #define __NR_msgrcv 241 258 - #define __NR_msgget 242 259 - #define __NR_msgctl 243 260 - #define __NR_shmat 244 261 - #define __NR_shmdt 245 262 - #define __NR_shmget 246 263 - #define __NR_shmctl 247 264 - 265 - #define __NR_getdents64 248 266 - #define __NR_fcntl64 249 267 - /* 250 is reserved for tux */ 237 + #define __NR_getdents64 220 238 + #define __NR_fcntl64 221 239 + /* 222 is reserved for tux */ 240 + /* 223 is unused */ 241 + #define __NR_gettid 224 242 + #define __NR_readahead 225 243 + #define __NR_setxattr 226 244 + #define __NR_lsetxattr 227 245 + #define __NR_fsetxattr 228 246 + #define __NR_getxattr 229 247 + #define __NR_lgetxattr 230 248 + #define __NR_fgetxattr 231 249 + #define __NR_listxattr 232 250 + #define __NR_llistxattr 233 251 + #define __NR_flistxattr 234 252 + #define __NR_removexattr 235 253 + #define __NR_lremovexattr 236 254 + #define __NR_fremovexattr 237 255 + #define __NR_tkill 238 256 + #define __NR_sendfile64 239 257 + #define __NR_futex 240 258 + #define __NR_sched_setaffinity 241 259 + #define __NR_sched_getaffinity 242 260 + /* 243 is reserved for set_thread_area */ 261 + /* 244 is reserved for get_thread_area */ 262 + #define __NR_io_setup 245 263 + #define __NR_io_destroy 246 264 + #define __NR_io_getevents 247 265 + #define __NR_io_submit 248 266 + #define __NR_io_cancel 249 267 + #define __NR_fadvise64 250 268 268 /* 251 is unused */ 269 - #define __NR_gettid 252 270 - #define __NR_readahead 253 271 - #define __NR_setxattr 254 272 - #define __NR_lsetxattr 255 273 - #define __NR_fsetxattr 256 274 - #define __NR_getxattr 257 275 - #define __NR_lgetxattr 258 276 - #define __NR_fgetxattr 269 277 - #define __NR_listxattr 260 278 - #define __NR_llistxattr 261 279 - #define __NR_flistxattr 262 280 - #define __NR_removexattr 263 281 - #define __NR_lremovexattr 264 282 - #define __NR_fremovexattr 265 283 - #define __NR_tkill 266 284 - #define __NR_sendfile64 267 285 - #define __NR_futex 268 286 - #define __NR_sched_setaffinity 269 287 - #define __NR_sched_getaffinity 270 288 - /* 271 is reserved for set_thread_area */ 289 - /* 272 is reserved for get_thread_area */ 290 - #define __NR_io_setup 273 291 - #define __NR_io_destroy 274 292 - #define __NR_io_getevents 275 293 - #define __NR_io_submit 276 294 - #define __NR_io_cancel 277 295 - #define __NR_fadvise64 278 296 - /* 279 is unused */ 297 - #define __NR_exit_group 280 298 - 299 - #define __NR_lookup_dcookie 281 300 - #define __NR_epoll_create 282 301 - #define __NR_epoll_ctl 283 302 - #define __NR_epoll_wait 284 303 - #define __NR_remap_file_pages 285 304 - #define __NR_set_tid_address 286 305 - #define __NR_timer_create 287 269 + #define __NR_exit_group 252 270 + #define __NR_lookup_dcookie 253 271 + #define __NR_epoll_create 254 272 + #define __NR_epoll_ctl 255 273 + #define __NR_epoll_wait 256 274 + #define __NR_remap_file_pages 257 275 + #define __NR_set_tid_address 258 276 + #define __NR_timer_create 259 306 277 #define __NR_timer_settime (__NR_timer_create+1) 307 278 #define __NR_timer_gettime (__NR_timer_create+2) 308 279 #define __NR_timer_getoverrun (__NR_timer_create+3) ··· 277 316 #define __NR_clock_gettime (__NR_timer_create+6) 278 317 #define __NR_clock_getres (__NR_timer_create+7) 279 318 #define __NR_clock_nanosleep (__NR_timer_create+8) 280 - #define __NR_statfs64 296 281 - #define __NR_fstatfs64 297 282 - #define __NR_tgkill 298 283 - #define __NR_utimes 299 284 - #define __NR_fadvise64_64 300 285 - /* 301 is reserved for vserver */ 286 - /* 302 is reserved for mbind */ 287 - /* 303 is reserved for get_mempolicy */ 288 - /* 304 is reserved for set_mempolicy */ 289 - #define __NR_mq_open 305 319 + #define __NR_statfs64 268 320 + #define __NR_fstatfs64 269 321 + #define __NR_tgkill 270 322 + #define __NR_utimes 271 323 + #define __NR_fadvise64_64 272 324 + /* 273 is reserved for vserver */ 325 + #define __NR_mbind 274 326 + #define __NR_get_mempolicy 275 327 + #define __NR_set_mempolicy 276 328 + #define __NR_mq_open 277 290 329 #define __NR_mq_unlink (__NR_mq_open+1) 291 330 #define __NR_mq_timedsend (__NR_mq_open+2) 292 331 #define __NR_mq_timedreceive (__NR_mq_open+3) 293 332 #define __NR_mq_notify (__NR_mq_open+4) 294 333 #define __NR_mq_getsetattr (__NR_mq_open+5) 295 - /* 311 is reserved for kexec */ 296 - #define __NR_waitid 312 297 - #define __NR_add_key 313 298 - #define __NR_request_key 314 299 - #define __NR_keyctl 315 300 - #define __NR_ioprio_set 316 301 - #define __NR_ioprio_get 317 302 - #define __NR_inotify_init 318 303 - #define __NR_inotify_add_watch 319 304 - #define __NR_inotify_rm_watch 320 305 - /* 321 is unused */ 306 - #define __NR_migrate_pages 322 307 - #define __NR_openat 323 308 - #define __NR_mkdirat 324 309 - #define __NR_mknodat 325 310 - #define __NR_fchownat 326 311 - #define __NR_futimesat 327 312 - #define __NR_fstatat64 328 313 - #define __NR_unlinkat 329 314 - #define __NR_renameat 330 315 - #define __NR_linkat 331 316 - #define __NR_symlinkat 332 317 - #define __NR_readlinkat 333 318 - #define __NR_fchmodat 334 319 - #define __NR_faccessat 335 320 - #define __NR_pselect6 336 321 - #define __NR_ppoll 337 322 - #define __NR_unshare 338 323 - #define __NR_set_robust_list 339 324 - #define __NR_get_robust_list 340 325 - #define __NR_splice 341 326 - #define __NR_sync_file_range 342 327 - #define __NR_tee 343 328 - #define __NR_vmsplice 344 329 - #define __NR_move_pages 345 330 - #define __NR_getcpu 346 331 - #define __NR_epoll_pwait 347 332 - #define __NR_utimensat 348 333 - #define __NR_signalfd 349 334 - #define __NR_timerfd_create 350 335 - #define __NR_eventfd 351 336 - #define __NR_fallocate 352 337 - #define __NR_timerfd_settime 353 338 - #define __NR_timerfd_gettime 354 339 - #define __NR_signalfd4 355 340 - #define __NR_eventfd2 356 341 - #define __NR_epoll_create1 357 342 - #define __NR_dup3 358 343 - #define __NR_pipe2 359 344 - #define __NR_inotify_init1 360 345 - #define __NR_preadv 361 346 - #define __NR_pwritev 362 347 - #define __NR_rt_tgsigqueueinfo 363 348 - #define __NR_perf_event_open 364 349 - #define __NR_recvmmsg 365 350 - #define __NR_accept4 366 351 - #define __NR_fanotify_init 367 352 - #define __NR_fanotify_mark 368 353 - #define __NR_prlimit64 369 354 - #define __NR_name_to_handle_at 370 355 - #define __NR_open_by_handle_at 371 356 - #define __NR_clock_adjtime 372 357 - #define __NR_syncfs 373 358 - #define __NR_sendmmsg 374 359 - #define __NR_setns 375 360 - #define __NR_process_vm_readv 376 361 - #define __NR_process_vm_writev 377 334 + #define __NR_kexec_load 283 335 + #define __NR_waitid 284 336 + #define __NR_add_key 285 337 + #define __NR_request_key 286 338 + #define __NR_keyctl 287 339 + #define __NR_ioprio_set 288 340 + #define __NR_ioprio_get 289 341 + #define __NR_inotify_init 290 342 + #define __NR_inotify_add_watch 291 343 + #define __NR_inotify_rm_watch 292 344 + /* 293 is unused */ 345 + #define __NR_migrate_pages 294 346 + #define __NR_openat 295 347 + #define __NR_mkdirat 296 348 + #define __NR_mknodat 297 349 + #define __NR_fchownat 298 350 + #define __NR_futimesat 299 351 + #define __NR_fstatat64 300 352 + #define __NR_unlinkat 301 353 + #define __NR_renameat 302 354 + #define __NR_linkat 303 355 + #define __NR_symlinkat 304 356 + #define __NR_readlinkat 305 357 + #define __NR_fchmodat 306 358 + #define __NR_faccessat 307 359 + #define __NR_pselect6 308 360 + #define __NR_ppoll 309 361 + #define __NR_unshare 310 362 + #define __NR_set_robust_list 311 363 + #define __NR_get_robust_list 312 364 + #define __NR_splice 313 365 + #define __NR_sync_file_range 314 366 + #define __NR_tee 315 367 + #define __NR_vmsplice 316 368 + #define __NR_move_pages 317 369 + #define __NR_getcpu 318 370 + #define __NR_epoll_pwait 319 371 + #define __NR_utimensat 320 372 + #define __NR_signalfd 321 373 + #define __NR_timerfd_create 322 374 + #define __NR_eventfd 323 375 + #define __NR_fallocate 324 376 + #define __NR_timerfd_settime 325 377 + #define __NR_timerfd_gettime 326 378 + #define __NR_signalfd4 327 379 + #define __NR_eventfd2 328 380 + #define __NR_epoll_create1 329 381 + #define __NR_dup3 330 382 + #define __NR_pipe2 331 383 + #define __NR_inotify_init1 332 384 + #define __NR_preadv 333 385 + #define __NR_pwritev 334 386 + #define __NR_rt_tgsigqueueinfo 335 387 + #define __NR_perf_event_open 336 388 + #define __NR_fanotify_init 337 389 + #define __NR_fanotify_mark 338 390 + #define __NR_prlimit64 339 362 391 363 - #define NR_syscalls 378 392 + /* Non-multiplexed socket family */ 393 + #define __NR_socket 340 394 + #define __NR_bind 341 395 + #define __NR_connect 342 396 + #define __NR_listen 343 397 + #define __NR_accept 344 398 + #define __NR_getsockname 345 399 + #define __NR_getpeername 346 400 + #define __NR_socketpair 347 401 + #define __NR_send 348 402 + #define __NR_sendto 349 403 + #define __NR_recv 350 404 + #define __NR_recvfrom 351 405 + #define __NR_shutdown 352 406 + #define __NR_setsockopt 353 407 + #define __NR_getsockopt 354 408 + #define __NR_sendmsg 355 409 + #define __NR_recvmsg 356 410 + #define __NR_recvmmsg 357 411 + #define __NR_accept4 358 412 + #define __NR_name_to_handle_at 359 413 + #define __NR_open_by_handle_at 360 414 + #define __NR_clock_adjtime 361 415 + #define __NR_syncfs 362 416 + #define __NR_sendmmsg 363 417 + #define __NR_setns 364 418 + #define __NR_process_vm_readv 365 419 + #define __NR_process_vm_writev 366 420 + #define __NR_kcmp 367 364 421 365 - #endif /* __ASM_SH_UNISTD_64_H */ 422 + #define NR_syscalls 368 423 + 424 + #endif /* __ASM_SH_UNISTD_32_H */
+22
arch/sh/include/uapi/asm/Kbuild
··· 1 1 # UAPI Header export list 2 2 include include/uapi/asm-generic/Kbuild.asm 3 3 4 + header-y += auxvec.h 5 + header-y += byteorder.h 6 + header-y += cachectl.h 7 + header-y += cpu-features.h 8 + header-y += hw_breakpoint.h 9 + header-y += ioctls.h 10 + header-y += posix_types.h 11 + header-y += posix_types_32.h 12 + header-y += posix_types_64.h 13 + header-y += ptrace.h 14 + header-y += ptrace_32.h 15 + header-y += ptrace_64.h 16 + header-y += setup.h 17 + header-y += sigcontext.h 18 + header-y += signal.h 19 + header-y += sockios.h 20 + header-y += stat.h 21 + header-y += swab.h 22 + header-y += types.h 23 + header-y += unistd.h 24 + header-y += unistd_32.h 25 + header-y += unistd_64.h
arch/sh/include/uapi/asm/hw_breakpoint.h
+7
arch/sh/include/uapi/asm/posix_types.h
··· 1 + #ifndef __KERNEL__ 2 + # ifdef __SH5__ 3 + # include <asm/posix_types_64.h> 4 + # else 5 + # include <asm/posix_types_32.h> 6 + # endif 7 + #endif /* __KERNEL__ */
+34
arch/sh/include/uapi/asm/ptrace.h
··· 1 + /* 2 + * Copyright (C) 1999, 2000 Niibe Yutaka 3 + */ 4 + #ifndef _UAPI__ASM_SH_PTRACE_H 5 + #define _UAPI__ASM_SH_PTRACE_H 6 + 7 + 8 + #define PTRACE_GETREGS 12 /* General registers */ 9 + #define PTRACE_SETREGS 13 10 + 11 + #define PTRACE_GETFPREGS 14 /* FPU registers */ 12 + #define PTRACE_SETFPREGS 15 13 + 14 + #define PTRACE_GETFDPIC 31 /* get the ELF fdpic loadmap address */ 15 + 16 + #define PTRACE_GETFDPIC_EXEC 0 /* [addr] request the executable loadmap */ 17 + #define PTRACE_GETFDPIC_INTERP 1 /* [addr] request the interpreter loadmap */ 18 + 19 + #define PTRACE_GETDSPREGS 55 /* DSP registers */ 20 + #define PTRACE_SETDSPREGS 56 21 + 22 + #define PT_TEXT_END_ADDR 240 23 + #define PT_TEXT_ADDR 244 /* &(struct user)->start_code */ 24 + #define PT_DATA_ADDR 248 /* &(struct user)->start_data */ 25 + #define PT_TEXT_LEN 252 26 + 27 + #if defined(__SH5__) || defined(CONFIG_CPU_SH5) 28 + #include <asm/ptrace_64.h> 29 + #else 30 + #include <asm/ptrace_32.h> 31 + #endif 32 + 33 + 34 + #endif /* _UAPI__ASM_SH_PTRACE_H */
+77
arch/sh/include/uapi/asm/ptrace_32.h
··· 1 + #ifndef _UAPI__ASM_SH_PTRACE_32_H 2 + #define _UAPI__ASM_SH_PTRACE_32_H 3 + 4 + /* 5 + * GCC defines register number like this: 6 + * ----------------------------- 7 + * 0 - 15 are integer registers 8 + * 17 - 22 are control/special registers 9 + * 24 - 39 fp registers 10 + * 40 - 47 xd registers 11 + * 48 - fpscr register 12 + * ----------------------------- 13 + * 14 + * We follows above, except: 15 + * 16 --- program counter (PC) 16 + * 22 --- syscall # 17 + * 23 --- floating point communication register 18 + */ 19 + #define REG_REG0 0 20 + #define REG_REG15 15 21 + 22 + #define REG_PC 16 23 + 24 + #define REG_PR 17 25 + #define REG_SR 18 26 + #define REG_GBR 19 27 + #define REG_MACH 20 28 + #define REG_MACL 21 29 + 30 + #define REG_SYSCALL 22 31 + 32 + #define REG_FPREG0 23 33 + #define REG_FPREG15 38 34 + #define REG_XFREG0 39 35 + #define REG_XFREG15 54 36 + 37 + #define REG_FPSCR 55 38 + #define REG_FPUL 56 39 + 40 + /* 41 + * This struct defines the way the registers are stored on the 42 + * kernel stack during a system call or other kernel entry. 43 + */ 44 + struct pt_regs { 45 + unsigned long regs[16]; 46 + unsigned long pc; 47 + unsigned long pr; 48 + unsigned long sr; 49 + unsigned long gbr; 50 + unsigned long mach; 51 + unsigned long macl; 52 + long tra; 53 + }; 54 + 55 + /* 56 + * This struct defines the way the DSP registers are stored on the 57 + * kernel stack during a system call or other kernel entry. 58 + */ 59 + struct pt_dspregs { 60 + unsigned long a1; 61 + unsigned long a0g; 62 + unsigned long a1g; 63 + unsigned long m0; 64 + unsigned long m1; 65 + unsigned long a0; 66 + unsigned long x0; 67 + unsigned long x1; 68 + unsigned long y0; 69 + unsigned long y1; 70 + unsigned long dsr; 71 + unsigned long rs; 72 + unsigned long re; 73 + unsigned long mod; 74 + }; 75 + 76 + 77 + #endif /* _UAPI__ASM_SH_PTRACE_32_H */
+14
arch/sh/include/uapi/asm/ptrace_64.h
··· 1 + #ifndef _UAPI__ASM_SH_PTRACE_64_H 2 + #define _UAPI__ASM_SH_PTRACE_64_H 3 + 4 + struct pt_regs { 5 + unsigned long long pc; 6 + unsigned long long sr; 7 + long long syscall_nr; 8 + unsigned long long regs[63]; 9 + unsigned long long tregs[8]; 10 + unsigned long long pad[2]; 11 + }; 12 + 13 + 14 + #endif /* _UAPI__ASM_SH_PTRACE_64_H */
+1
arch/sh/include/uapi/asm/setup.h
··· 1 + #include <asm-generic/setup.h>
+1
arch/sh/include/uapi/asm/types.h
··· 1 + #include <asm-generic/types.h>
+7
arch/sh/include/uapi/asm/unistd.h
··· 1 + #ifndef __KERNEL__ 2 + # ifdef __SH5__ 3 + # include <asm/unistd_64.h> 4 + # else 5 + # include <asm/unistd_32.h> 6 + # endif 7 + #endif
+1
arch/sh/kernel/syscalls_32.S
··· 384 384 .long sys_setns 385 385 .long sys_process_vm_readv /* 365 */ 386 386 .long sys_process_vm_writev 387 + .long sys_kcmp
+1
arch/sh/kernel/syscalls_64.S
··· 404 404 .long sys_setns /* 375 */ 405 405 .long sys_process_vm_readv 406 406 .long sys_process_vm_writev 407 + .long sys_kcmp
+27 -18
drivers/sh/intc/access.c
··· 75 75 static unsigned long test_8(unsigned long addr, unsigned long h, 76 76 unsigned long ignore) 77 77 { 78 - return intc_get_field_from_handle(__raw_readb(addr), h); 78 + void __iomem *ptr = (void __iomem *)addr; 79 + return intc_get_field_from_handle(__raw_readb(ptr), h); 79 80 } 80 81 81 82 static unsigned long test_16(unsigned long addr, unsigned long h, 82 83 unsigned long ignore) 83 84 { 84 - return intc_get_field_from_handle(__raw_readw(addr), h); 85 + void __iomem *ptr = (void __iomem *)addr; 86 + return intc_get_field_from_handle(__raw_readw(ptr), h); 85 87 } 86 88 87 89 static unsigned long test_32(unsigned long addr, unsigned long h, 88 90 unsigned long ignore) 89 91 { 90 - return intc_get_field_from_handle(__raw_readl(addr), h); 92 + void __iomem *ptr = (void __iomem *)addr; 93 + return intc_get_field_from_handle(__raw_readl(ptr), h); 91 94 } 92 95 93 96 static unsigned long write_8(unsigned long addr, unsigned long h, 94 97 unsigned long data) 95 98 { 96 - __raw_writeb(intc_set_field_from_handle(0, data, h), addr); 97 - (void)__raw_readb(addr); /* Defeat write posting */ 99 + void __iomem *ptr = (void __iomem *)addr; 100 + __raw_writeb(intc_set_field_from_handle(0, data, h), ptr); 101 + (void)__raw_readb(ptr); /* Defeat write posting */ 98 102 return 0; 99 103 } 100 104 101 105 static unsigned long write_16(unsigned long addr, unsigned long h, 102 106 unsigned long data) 103 107 { 104 - __raw_writew(intc_set_field_from_handle(0, data, h), addr); 105 - (void)__raw_readw(addr); /* Defeat write posting */ 108 + void __iomem *ptr = (void __iomem *)addr; 109 + __raw_writew(intc_set_field_from_handle(0, data, h), ptr); 110 + (void)__raw_readw(ptr); /* Defeat write posting */ 106 111 return 0; 107 112 } 108 113 109 114 static unsigned long write_32(unsigned long addr, unsigned long h, 110 115 unsigned long data) 111 116 { 112 - __raw_writel(intc_set_field_from_handle(0, data, h), addr); 113 - (void)__raw_readl(addr); /* Defeat write posting */ 117 + void __iomem *ptr = (void __iomem *)addr; 118 + __raw_writel(intc_set_field_from_handle(0, data, h), ptr); 119 + (void)__raw_readl(ptr); /* Defeat write posting */ 114 120 return 0; 115 121 } 116 122 117 123 static unsigned long modify_8(unsigned long addr, unsigned long h, 118 124 unsigned long data) 119 125 { 126 + void __iomem *ptr = (void __iomem *)addr; 120 127 unsigned long flags; 121 128 unsigned int value; 122 129 local_irq_save(flags); 123 - value = intc_set_field_from_handle(__raw_readb(addr), data, h); 124 - __raw_writeb(value, addr); 125 - (void)__raw_readb(addr); /* Defeat write posting */ 130 + value = intc_set_field_from_handle(__raw_readb(ptr), data, h); 131 + __raw_writeb(value, ptr); 132 + (void)__raw_readb(ptr); /* Defeat write posting */ 126 133 local_irq_restore(flags); 127 134 return 0; 128 135 } ··· 137 130 static unsigned long modify_16(unsigned long addr, unsigned long h, 138 131 unsigned long data) 139 132 { 133 + void __iomem *ptr = (void __iomem *)addr; 140 134 unsigned long flags; 141 135 unsigned int value; 142 136 local_irq_save(flags); 143 - value = intc_set_field_from_handle(__raw_readw(addr), data, h); 144 - __raw_writew(value, addr); 145 - (void)__raw_readw(addr); /* Defeat write posting */ 137 + value = intc_set_field_from_handle(__raw_readw(ptr), data, h); 138 + __raw_writew(value, ptr); 139 + (void)__raw_readw(ptr); /* Defeat write posting */ 146 140 local_irq_restore(flags); 147 141 return 0; 148 142 } ··· 151 143 static unsigned long modify_32(unsigned long addr, unsigned long h, 152 144 unsigned long data) 153 145 { 146 + void __iomem *ptr = (void __iomem *)addr; 154 147 unsigned long flags; 155 148 unsigned int value; 156 149 local_irq_save(flags); 157 - value = intc_set_field_from_handle(__raw_readl(addr), data, h); 158 - __raw_writel(value, addr); 159 - (void)__raw_readl(addr); /* Defeat write posting */ 150 + value = intc_set_field_from_handle(__raw_readl(ptr), data, h); 151 + __raw_writel(value, ptr); 152 + (void)__raw_readl(ptr); /* Defeat write posting */ 160 153 local_irq_restore(flags); 161 154 return 0; 162 155 }
+2 -2
drivers/sh/intc/chip.c
··· 83 83 unsigned int irq = data->irq; 84 84 struct intc_desc_int *d = get_intc_desc(irq); 85 85 unsigned long handle = intc_get_ack_handle(irq); 86 - unsigned long addr; 86 + void __iomem *addr; 87 87 88 88 intc_disable(data); 89 89 ··· 91 91 if (handle) { 92 92 unsigned int value; 93 93 94 - addr = INTC_REG(d, _INTC_ADDR_D(handle), 0); 94 + addr = (void __iomem *)INTC_REG(d, _INTC_ADDR_D(handle), 0); 95 95 value = intc_set_field_from_handle(0, 1, handle); 96 96 97 97 switch (_INTC_FN(handle)) {
+2 -1
drivers/tty/serial/sh-sci.c
··· 530 530 if (s->cfg->port_reg <= 0) 531 531 return 1; 532 532 533 - return !!__raw_readb(s->cfg->port_reg); 533 + /* Cast for ARM damage */ 534 + return !!__raw_readb((void __iomem *)s->cfg->port_reg); 534 535 } 535 536 536 537 /* ********************************************************************** *