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

UAPI: (Scripted) Disintegrate arch/tile/include/asm

Signed-off-by: David Howells <dhowells@redhat.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Michael Kerrisk <mtk.manpages@gmail.com>
Acked-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Acked-by: Dave Jones <davej@redhat.com>

+242 -146
-3
arch/tile/include/asm/Kbuild
··· 1 - include include/asm-generic/Kbuild.asm 2 1 3 2 header-y += ../arch/ 4 3 5 - header-y += cachectl.h 6 4 header-y += ucontext.h 7 - header-y += hardwall.h 8 5 9 6 generic-y += bug.h 10 7 generic-y += bugs.h
arch/tile/include/asm/auxvec.h arch/tile/include/uapi/asm/auxvec.h
arch/tile/include/asm/bitsperlong.h arch/tile/include/uapi/asm/bitsperlong.h
arch/tile/include/asm/byteorder.h arch/tile/include/uapi/asm/byteorder.h
arch/tile/include/asm/cachectl.h arch/tile/include/uapi/asm/cachectl.h
+1 -32
arch/tile/include/asm/hardwall.h
··· 14 14 * Provide methods for access control of per-cpu resources like 15 15 * UDN, IDN, or IPI. 16 16 */ 17 - 18 17 #ifndef _ASM_TILE_HARDWALL_H 19 18 #define _ASM_TILE_HARDWALL_H 20 19 21 - #include <arch/chip.h> 22 - #include <linux/ioctl.h> 20 + #include <uapi/asm/hardwall.h> 23 21 24 - #define HARDWALL_IOCTL_BASE 0xa2 25 - 26 - /* 27 - * The HARDWALL_CREATE() ioctl is a macro with a "size" argument. 28 - * The resulting ioctl value is passed to the kernel in conjunction 29 - * with a pointer to a standard kernel bitmask of cpus. 30 - * For network resources (UDN or IDN) the bitmask must physically 31 - * represent a rectangular configuration on the chip. 32 - * The "size" is the number of bytes of cpu mask data. 33 - */ 34 - #define _HARDWALL_CREATE 1 35 - #define HARDWALL_CREATE(size) \ 36 - _IOC(_IOC_READ, HARDWALL_IOCTL_BASE, _HARDWALL_CREATE, (size)) 37 - 38 - #define _HARDWALL_ACTIVATE 2 39 - #define HARDWALL_ACTIVATE \ 40 - _IO(HARDWALL_IOCTL_BASE, _HARDWALL_ACTIVATE) 41 - 42 - #define _HARDWALL_DEACTIVATE 3 43 - #define HARDWALL_DEACTIVATE \ 44 - _IO(HARDWALL_IOCTL_BASE, _HARDWALL_DEACTIVATE) 45 - 46 - #define _HARDWALL_GET_ID 4 47 - #define HARDWALL_GET_ID \ 48 - _IO(HARDWALL_IOCTL_BASE, _HARDWALL_GET_ID) 49 - 50 - #ifdef __KERNEL__ 51 22 /* /proc hooks for hardwall. */ 52 23 struct proc_dir_entry; 53 24 #ifdef CONFIG_HARDWALL ··· 27 56 #else 28 57 static inline void proc_tile_hardwall_init(struct proc_dir_entry *root) {} 29 58 #endif 30 - #endif 31 - 32 59 #endif /* _ASM_TILE_HARDWALL_H */
arch/tile/include/asm/kvm_para.h arch/tile/include/uapi/asm/kvm_para.h
arch/tile/include/asm/mman.h arch/tile/include/uapi/asm/mman.h
+2 -70
arch/tile/include/asm/ptrace.h
··· 11 11 * NON INFRINGEMENT. See the GNU General Public License for 12 12 * more details. 13 13 */ 14 - 15 14 #ifndef _ASM_TILE_PTRACE_H 16 15 #define _ASM_TILE_PTRACE_H 17 16 18 - #include <arch/chip.h> 19 - #include <arch/abi.h> 20 - 21 - /* These must match struct pt_regs, below. */ 22 - #if CHIP_WORD_SIZE() == 32 23 - #define PTREGS_OFFSET_REG(n) ((n)*4) 24 - #else 25 - #define PTREGS_OFFSET_REG(n) ((n)*8) 26 - #endif 27 - #define PTREGS_OFFSET_BASE 0 28 - #define PTREGS_OFFSET_TP PTREGS_OFFSET_REG(53) 29 - #define PTREGS_OFFSET_SP PTREGS_OFFSET_REG(54) 30 - #define PTREGS_OFFSET_LR PTREGS_OFFSET_REG(55) 31 - #define PTREGS_NR_GPRS 56 32 - #define PTREGS_OFFSET_PC PTREGS_OFFSET_REG(56) 33 - #define PTREGS_OFFSET_EX1 PTREGS_OFFSET_REG(57) 34 - #define PTREGS_OFFSET_FAULTNUM PTREGS_OFFSET_REG(58) 35 - #define PTREGS_OFFSET_ORIG_R0 PTREGS_OFFSET_REG(59) 36 - #define PTREGS_OFFSET_FLAGS PTREGS_OFFSET_REG(60) 37 - #if CHIP_HAS_CMPEXCH() 38 - #define PTREGS_OFFSET_CMPEXCH PTREGS_OFFSET_REG(61) 39 - #endif 40 - #define PTREGS_SIZE PTREGS_OFFSET_REG(64) 17 + #include <linux/compiler.h> 41 18 42 19 #ifndef __ASSEMBLY__ 43 - 44 - #ifdef __KERNEL__ 45 20 /* Benefit from consistent use of "long" on all chips. */ 46 21 typedef unsigned long pt_reg_t; 47 - #else 48 - /* Provide appropriate length type to userspace regardless of -m32/-m64. */ 49 - typedef uint_reg_t pt_reg_t; 50 22 #endif 51 23 52 - /* 53 - * This struct defines the way the registers are stored on the stack during a 54 - * system call or exception. "struct sigcontext" has the same shape. 55 - */ 56 - struct pt_regs { 57 - /* Saved main processor registers; 56..63 are special. */ 58 - /* tp, sp, and lr must immediately follow regs[] for aliasing. */ 59 - pt_reg_t regs[53]; 60 - pt_reg_t tp; /* aliases regs[TREG_TP] */ 61 - pt_reg_t sp; /* aliases regs[TREG_SP] */ 62 - pt_reg_t lr; /* aliases regs[TREG_LR] */ 24 + #include <uapi/asm/ptrace.h> 63 25 64 - /* Saved special registers. */ 65 - pt_reg_t pc; /* stored in EX_CONTEXT_K_0 */ 66 - pt_reg_t ex1; /* stored in EX_CONTEXT_K_1 (PL and ICS bit) */ 67 - pt_reg_t faultnum; /* fault number (INT_SWINT_1 for syscall) */ 68 - pt_reg_t orig_r0; /* r0 at syscall entry, else zero */ 69 - pt_reg_t flags; /* flags (see below) */ 70 - #if !CHIP_HAS_CMPEXCH() 71 - pt_reg_t pad[3]; 72 - #else 73 - pt_reg_t cmpexch; /* value of CMPEXCH_VALUE SPR at interrupt */ 74 - pt_reg_t pad[2]; 75 - #endif 76 - }; 77 - 78 - #endif /* __ASSEMBLY__ */ 79 - 80 - #define PTRACE_GETREGS 12 81 - #define PTRACE_SETREGS 13 82 - #define PTRACE_GETFPREGS 14 83 - #define PTRACE_SETFPREGS 15 84 - 85 - /* Support TILE-specific ptrace options, with events starting at 16. */ 86 - #define PTRACE_O_TRACEMIGRATE 0x00010000 87 - #define PTRACE_EVENT_MIGRATE 16 88 - #ifdef __KERNEL__ 89 26 #define PTRACE_O_MASK_TILE (PTRACE_O_TRACEMIGRATE) 90 27 #define PT_TRACE_MIGRATE 0x00080000 91 28 #define PT_TRACE_MASK_TILE (PT_TRACE_MIGRATE) 92 - #endif 93 - 94 - #ifdef __KERNEL__ 95 29 96 30 /* Flag bits in pt_regs.flags */ 97 31 #define PT_FLAGS_DISABLE_IRQ 1 /* on return to kernel, disable irqs */ ··· 92 158 #define SINGLESTEP_STATE_MASK_UPDATE 0x2 93 159 #define SINGLESTEP_STATE_TARGET_LB 2 94 160 #define SINGLESTEP_STATE_TARGET_UB 7 95 - 96 - #endif /* !__KERNEL__ */ 97 161 98 162 #endif /* _ASM_TILE_PTRACE_H */
+1 -6
arch/tile/include/asm/setup.h
··· 11 11 * NON INFRINGEMENT. See the GNU General Public License for 12 12 * more details. 13 13 */ 14 - 15 14 #ifndef _ASM_TILE_SETUP_H 16 15 #define _ASM_TILE_SETUP_H 17 16 18 - #define COMMAND_LINE_SIZE 2048 19 - 20 - #ifdef __KERNEL__ 21 17 22 18 #include <linux/pfn.h> 23 19 #include <linux/init.h> 20 + #include <uapi/asm/setup.h> 24 21 25 22 /* 26 23 * Reserved space for vmalloc and iomap - defined in asm/page.h ··· 49 52 hardwall_deactivate_all(p); \ 50 53 } while (0) 51 54 #endif 52 - 53 - #endif /* __KERNEL__ */ 54 55 55 56 #endif /* _ASM_TILE_SETUP_H */
arch/tile/include/asm/sigcontext.h arch/tile/include/uapi/asm/sigcontext.h
arch/tile/include/asm/siginfo.h arch/tile/include/uapi/asm/siginfo.h
+1 -11
arch/tile/include/asm/signal.h
··· 11 11 * NON INFRINGEMENT. See the GNU General Public License for 12 12 * more details. 13 13 */ 14 - 15 14 #ifndef _ASM_TILE_SIGNAL_H 16 15 #define _ASM_TILE_SIGNAL_H 17 16 18 - /* Do not notify a ptracer when this signal is handled. */ 19 - #define SA_NOPTRACE 0x02000000u 17 + #include <uapi/asm/signal.h> 20 18 21 - /* Used in earlier Tilera releases, so keeping for binary compatibility. */ 22 - #define SA_RESTORER 0x04000000u 23 - 24 - #include <asm-generic/signal.h> 25 - 26 - #if defined(__KERNEL__) 27 19 #if !defined(__ASSEMBLY__) 28 20 struct pt_regs; 29 21 int restore_sigcontext(struct pt_regs *, struct sigcontext __user *); ··· 26 34 void trace_unhandled_signal(const char *type, struct pt_regs *regs, 27 35 unsigned long address, int signo); 28 36 #endif 29 - #endif 30 - 31 37 #endif /* _ASM_TILE_SIGNAL_H */
arch/tile/include/asm/stat.h arch/tile/include/uapi/asm/stat.h
arch/tile/include/asm/swab.h arch/tile/include/uapi/asm/swab.h
+1 -24
arch/tile/include/asm/unistd.h
··· 11 11 * NON INFRINGEMENT. See the GNU General Public License for 12 12 * more details. 13 13 */ 14 - 15 - #if !defined(__LP64__) || defined(__SYSCALL_COMPAT) 16 - /* Use the flavor of this syscall that matches the 32-bit API better. */ 17 - #define __ARCH_WANT_SYNC_FILE_RANGE2 18 - #endif 19 - 20 - /* Use the standard ABI for syscalls. */ 21 - #include <asm-generic/unistd.h> 22 - 23 - /* Additional Tilera-specific syscalls. */ 24 - #define __NR_cacheflush (__NR_arch_specific_syscall + 1) 25 - __SYSCALL(__NR_cacheflush, sys_cacheflush) 26 - 27 - #ifndef __tilegx__ 28 - /* "Fast" syscalls provide atomic support for 32-bit chips. */ 29 - #define __NR_FAST_cmpxchg -1 30 - #define __NR_FAST_atomic_update -2 31 - #define __NR_FAST_cmpxchg64 -3 32 - #define __NR_cmpxchg_badaddr (__NR_arch_specific_syscall + 0) 33 - __SYSCALL(__NR_cmpxchg_badaddr, sys_cmpxchg_badaddr) 34 - #endif 35 - 36 - #ifdef __KERNEL__ 37 14 /* In compat mode, we use sys_llseek() for compat_sys_llseek(). */ 38 15 #ifdef CONFIG_COMPAT 39 16 #define __ARCH_WANT_SYS_LLSEEK 40 17 #endif 41 18 #define __ARCH_WANT_SYS_NEWFSTATAT 42 - #endif 19 + #include <uapi/asm/unistd.h>
+15
arch/tile/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 += bitsperlong.h 6 + header-y += byteorder.h 7 + header-y += cachectl.h 8 + header-y += hardwall.h 9 + header-y += kvm_para.h 10 + header-y += mman.h 11 + header-y += ptrace.h 12 + header-y += setup.h 13 + header-y += sigcontext.h 14 + header-y += siginfo.h 15 + header-y += signal.h 16 + header-y += stat.h 17 + header-y += swab.h 18 + header-y += unistd.h
+51
arch/tile/include/uapi/asm/hardwall.h
··· 1 + /* 2 + * Copyright 2010 Tilera Corporation. All Rights Reserved. 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License 6 + * as published by the Free Software Foundation, version 2. 7 + * 8 + * This program is distributed in the hope that it will be useful, but 9 + * WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 11 + * NON INFRINGEMENT. See the GNU General Public License for 12 + * more details. 13 + * 14 + * Provide methods for access control of per-cpu resources like 15 + * UDN, IDN, or IPI. 16 + */ 17 + 18 + #ifndef _UAPI_ASM_TILE_HARDWALL_H 19 + #define _UAPI_ASM_TILE_HARDWALL_H 20 + 21 + #include <arch/chip.h> 22 + #include <linux/ioctl.h> 23 + 24 + #define HARDWALL_IOCTL_BASE 0xa2 25 + 26 + /* 27 + * The HARDWALL_CREATE() ioctl is a macro with a "size" argument. 28 + * The resulting ioctl value is passed to the kernel in conjunction 29 + * with a pointer to a standard kernel bitmask of cpus. 30 + * For network resources (UDN or IDN) the bitmask must physically 31 + * represent a rectangular configuration on the chip. 32 + * The "size" is the number of bytes of cpu mask data. 33 + */ 34 + #define _HARDWALL_CREATE 1 35 + #define HARDWALL_CREATE(size) \ 36 + _IOC(_IOC_READ, HARDWALL_IOCTL_BASE, _HARDWALL_CREATE, (size)) 37 + 38 + #define _HARDWALL_ACTIVATE 2 39 + #define HARDWALL_ACTIVATE \ 40 + _IO(HARDWALL_IOCTL_BASE, _HARDWALL_ACTIVATE) 41 + 42 + #define _HARDWALL_DEACTIVATE 3 43 + #define HARDWALL_DEACTIVATE \ 44 + _IO(HARDWALL_IOCTL_BASE, _HARDWALL_DEACTIVATE) 45 + 46 + #define _HARDWALL_GET_ID 4 47 + #define HARDWALL_GET_ID \ 48 + _IO(HARDWALL_IOCTL_BASE, _HARDWALL_GET_ID) 49 + 50 + 51 + #endif /* _UAPI_ASM_TILE_HARDWALL_H */
+88
arch/tile/include/uapi/asm/ptrace.h
··· 1 + /* 2 + * Copyright 2010 Tilera Corporation. All Rights Reserved. 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License 6 + * as published by the Free Software Foundation, version 2. 7 + * 8 + * This program is distributed in the hope that it will be useful, but 9 + * WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 11 + * NON INFRINGEMENT. See the GNU General Public License for 12 + * more details. 13 + */ 14 + 15 + #ifndef _UAPI_ASM_TILE_PTRACE_H 16 + #define _UAPI_ASM_TILE_PTRACE_H 17 + 18 + #include <arch/chip.h> 19 + #include <arch/abi.h> 20 + 21 + /* These must match struct pt_regs, below. */ 22 + #if CHIP_WORD_SIZE() == 32 23 + #define PTREGS_OFFSET_REG(n) ((n)*4) 24 + #else 25 + #define PTREGS_OFFSET_REG(n) ((n)*8) 26 + #endif 27 + #define PTREGS_OFFSET_BASE 0 28 + #define PTREGS_OFFSET_TP PTREGS_OFFSET_REG(53) 29 + #define PTREGS_OFFSET_SP PTREGS_OFFSET_REG(54) 30 + #define PTREGS_OFFSET_LR PTREGS_OFFSET_REG(55) 31 + #define PTREGS_NR_GPRS 56 32 + #define PTREGS_OFFSET_PC PTREGS_OFFSET_REG(56) 33 + #define PTREGS_OFFSET_EX1 PTREGS_OFFSET_REG(57) 34 + #define PTREGS_OFFSET_FAULTNUM PTREGS_OFFSET_REG(58) 35 + #define PTREGS_OFFSET_ORIG_R0 PTREGS_OFFSET_REG(59) 36 + #define PTREGS_OFFSET_FLAGS PTREGS_OFFSET_REG(60) 37 + #if CHIP_HAS_CMPEXCH() 38 + #define PTREGS_OFFSET_CMPEXCH PTREGS_OFFSET_REG(61) 39 + #endif 40 + #define PTREGS_SIZE PTREGS_OFFSET_REG(64) 41 + 42 + 43 + #ifndef __ASSEMBLY__ 44 + 45 + #ifndef __KERNEL__ 46 + /* Provide appropriate length type to userspace regardless of -m32/-m64. */ 47 + typedef uint_reg_t pt_reg_t; 48 + #endif 49 + 50 + /* 51 + * This struct defines the way the registers are stored on the stack during a 52 + * system call or exception. "struct sigcontext" has the same shape. 53 + */ 54 + struct pt_regs { 55 + /* Saved main processor registers; 56..63 are special. */ 56 + /* tp, sp, and lr must immediately follow regs[] for aliasing. */ 57 + pt_reg_t regs[53]; 58 + pt_reg_t tp; /* aliases regs[TREG_TP] */ 59 + pt_reg_t sp; /* aliases regs[TREG_SP] */ 60 + pt_reg_t lr; /* aliases regs[TREG_LR] */ 61 + 62 + /* Saved special registers. */ 63 + pt_reg_t pc; /* stored in EX_CONTEXT_K_0 */ 64 + pt_reg_t ex1; /* stored in EX_CONTEXT_K_1 (PL and ICS bit) */ 65 + pt_reg_t faultnum; /* fault number (INT_SWINT_1 for syscall) */ 66 + pt_reg_t orig_r0; /* r0 at syscall entry, else zero */ 67 + pt_reg_t flags; /* flags (see below) */ 68 + #if !CHIP_HAS_CMPEXCH() 69 + pt_reg_t pad[3]; 70 + #else 71 + pt_reg_t cmpexch; /* value of CMPEXCH_VALUE SPR at interrupt */ 72 + pt_reg_t pad[2]; 73 + #endif 74 + }; 75 + 76 + #endif /* __ASSEMBLY__ */ 77 + 78 + #define PTRACE_GETREGS 12 79 + #define PTRACE_SETREGS 13 80 + #define PTRACE_GETFPREGS 14 81 + #define PTRACE_SETFPREGS 15 82 + 83 + /* Support TILE-specific ptrace options, with events starting at 16. */ 84 + #define PTRACE_O_TRACEMIGRATE 0x00010000 85 + #define PTRACE_EVENT_MIGRATE 16 86 + 87 + 88 + #endif /* _UAPI_ASM_TILE_PTRACE_H */
+21
arch/tile/include/uapi/asm/setup.h
··· 1 + /* 2 + * Copyright 2010 Tilera Corporation. All Rights Reserved. 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License 6 + * as published by the Free Software Foundation, version 2. 7 + * 8 + * This program is distributed in the hope that it will be useful, but 9 + * WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 11 + * NON INFRINGEMENT. See the GNU General Public License for 12 + * more details. 13 + */ 14 + 15 + #ifndef _UAPI_ASM_TILE_SETUP_H 16 + #define _UAPI_ASM_TILE_SETUP_H 17 + 18 + #define COMMAND_LINE_SIZE 2048 19 + 20 + 21 + #endif /* _UAPI_ASM_TILE_SETUP_H */
+27
arch/tile/include/uapi/asm/signal.h
··· 1 + /* 2 + * Copyright 2010 Tilera Corporation. All Rights Reserved. 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License 6 + * as published by the Free Software Foundation, version 2. 7 + * 8 + * This program is distributed in the hope that it will be useful, but 9 + * WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 11 + * NON INFRINGEMENT. See the GNU General Public License for 12 + * more details. 13 + */ 14 + 15 + #ifndef _UAPI_ASM_TILE_SIGNAL_H 16 + #define _UAPI_ASM_TILE_SIGNAL_H 17 + 18 + /* Do not notify a ptracer when this signal is handled. */ 19 + #define SA_NOPTRACE 0x02000000u 20 + 21 + /* Used in earlier Tilera releases, so keeping for binary compatibility. */ 22 + #define SA_RESTORER 0x04000000u 23 + 24 + #include <asm-generic/signal.h> 25 + 26 + 27 + #endif /* _UAPI_ASM_TILE_SIGNAL_H */
+34
arch/tile/include/uapi/asm/unistd.h
··· 1 + /* 2 + * Copyright 2010 Tilera Corporation. All Rights Reserved. 3 + * 4 + * This program is free software; you can redistribute it and/or 5 + * modify it under the terms of the GNU General Public License 6 + * as published by the Free Software Foundation, version 2. 7 + * 8 + * This program is distributed in the hope that it will be useful, but 9 + * WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE, GOOD TITLE or 11 + * NON INFRINGEMENT. See the GNU General Public License for 12 + * more details. 13 + */ 14 + 15 + #if !defined(__LP64__) || defined(__SYSCALL_COMPAT) 16 + /* Use the flavor of this syscall that matches the 32-bit API better. */ 17 + #define __ARCH_WANT_SYNC_FILE_RANGE2 18 + #endif 19 + 20 + /* Use the standard ABI for syscalls. */ 21 + #include <asm-generic/unistd.h> 22 + 23 + /* Additional Tilera-specific syscalls. */ 24 + #define __NR_cacheflush (__NR_arch_specific_syscall + 1) 25 + __SYSCALL(__NR_cacheflush, sys_cacheflush) 26 + 27 + #ifndef __tilegx__ 28 + /* "Fast" syscalls provide atomic support for 32-bit chips. */ 29 + #define __NR_FAST_cmpxchg -1 30 + #define __NR_FAST_atomic_update -2 31 + #define __NR_FAST_cmpxchg64 -3 32 + #define __NR_cmpxchg_badaddr (__NR_arch_specific_syscall + 0) 33 + __SYSCALL(__NR_cmpxchg_badaddr, sys_cmpxchg_badaddr) 34 + #endif