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

Merge tag 'disintegrate-s390-20121009' of git://git.infradead.org/users/dhowells/linux-headers

Pull UAPI patchset from David Howells:
"Can you merge the following branch into the s390 tree please.
This is to complete part of the UAPI disintegration for which the
preparatory patches were pulled recently."

Conflicts:
arch/s390/include/asm/chpid.h

+1258 -1149
-14
arch/s390/include/asm/Kbuild
··· 1 - include include/asm-generic/Kbuild.asm 2 1 3 - header-y += chpid.h 4 - header-y += chsc.h 5 - header-y += cmb.h 6 - header-y += dasd.h 7 - header-y += debug.h 8 - header-y += kvm_virtio.h 9 - header-y += monwriter.h 10 - header-y += qeth.h 11 - header-y += schid.h 12 - header-y += tape390.h 13 - header-y += ucontext.h 14 - header-y += vtoc.h 15 - header-y += zcrypt.h 16 2 17 3 generic-y += clkdev.h
arch/s390/include/asm/auxvec.h arch/s390/include/uapi/asm/auxvec.h
arch/s390/include/asm/bitsperlong.h arch/s390/include/uapi/asm/bitsperlong.h
arch/s390/include/asm/byteorder.h arch/s390/include/uapi/asm/byteorder.h
+1 -16
arch/s390/include/asm/chpid.h
··· 2 2 * Copyright IBM Corp. 2007, 2012 3 3 * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com> 4 4 */ 5 - 6 5 #ifndef _ASM_S390_CHPID_H 7 6 #define _ASM_S390_CHPID_H 8 7 9 - #include <linux/string.h> 10 - #include <linux/types.h> 11 - 12 - #define __MAX_CHPID 255 13 - 14 - struct chp_id { 15 - __u8 reserved1; 16 - __u8 cssid; 17 - __u8 reserved2; 18 - __u8 id; 19 - } __attribute__((packed)); 20 - 21 - #ifdef __KERNEL__ 8 + #include <uapi/asm/chpid.h> 22 9 #include <asm/cio.h> 23 10 24 11 static inline void chp_id_init(struct chp_id *chpid) ··· 36 49 37 50 #define chp_id_for_each(c) \ 38 51 for (chp_id_init(c); chp_id_is_valid(c); chp_id_next(c)) 39 - #endif /* __KERNEL */ 40 - 41 52 #endif /* _ASM_S390_CHPID_H */
arch/s390/include/asm/chsc.h arch/s390/include/uapi/asm/chsc.h
+1 -50
arch/s390/include/asm/cmb.h
··· 1 1 #ifndef S390_CMB_H 2 2 #define S390_CMB_H 3 3 4 - #include <linux/types.h> 4 + #include <uapi/asm/cmb.h> 5 5 6 - /** 7 - * struct cmbdata - channel measurement block data for user space 8 - * @size: size of the stored data 9 - * @elapsed_time: time since last sampling 10 - * @ssch_rsch_count: number of ssch and rsch 11 - * @sample_count: number of samples 12 - * @device_connect_time: time of device connect 13 - * @function_pending_time: time of function pending 14 - * @device_disconnect_time: time of device disconnect 15 - * @control_unit_queuing_time: time of control unit queuing 16 - * @device_active_only_time: time of device active only 17 - * @device_busy_time: time of device busy (ext. format) 18 - * @initial_command_response_time: initial command response time (ext. format) 19 - * 20 - * All values are stored as 64 bit for simplicity, especially 21 - * in 32 bit emulation mode. All time values are normalized to 22 - * nanoseconds. 23 - * Currently, two formats are known, which differ by the size of 24 - * this structure, i.e. the last two members are only set when 25 - * the extended channel measurement facility (first shipped in 26 - * z990 machines) is activated. 27 - * Potentially, more fields could be added, which would result in a 28 - * new ioctl number. 29 - */ 30 - struct cmbdata { 31 - __u64 size; 32 - __u64 elapsed_time; 33 - /* basic and exended format: */ 34 - __u64 ssch_rsch_count; 35 - __u64 sample_count; 36 - __u64 device_connect_time; 37 - __u64 function_pending_time; 38 - __u64 device_disconnect_time; 39 - __u64 control_unit_queuing_time; 40 - __u64 device_active_only_time; 41 - /* extended format only: */ 42 - __u64 device_busy_time; 43 - __u64 initial_command_response_time; 44 - }; 45 - 46 - /* enable channel measurement */ 47 - #define BIODASDCMFENABLE _IO(DASD_IOCTL_LETTER, 32) 48 - /* enable channel measurement */ 49 - #define BIODASDCMFDISABLE _IO(DASD_IOCTL_LETTER, 33) 50 - /* read channel measurement data */ 51 - #define BIODASDREADALLCMB _IOWR(DASD_IOCTL_LETTER, 33, struct cmbdata) 52 - 53 - #ifdef __KERNEL__ 54 6 struct ccw_device; 55 7 extern int enable_cmf(struct ccw_device *cdev); 56 8 extern int disable_cmf(struct ccw_device *cdev); 57 9 extern u64 cmf_read(struct ccw_device *cdev, int index); 58 10 extern int cmf_readall(struct ccw_device *cdev, struct cmbdata *data); 59 11 60 - #endif /* __KERNEL__ */ 61 12 #endif /* S390_CMB_H */
arch/s390/include/asm/dasd.h arch/s390/include/uapi/asm/dasd.h
+1 -27
arch/s390/include/asm/debug.h
··· 3 3 * 4 4 * Copyright IBM Corp. 1999, 2000 5 5 */ 6 - 7 6 #ifndef DEBUG_H 8 7 #define DEBUG_H 9 8 10 - #include <linux/fs.h> 11 - 12 - /* Note: 13 - * struct __debug_entry must be defined outside of #ifdef __KERNEL__ 14 - * in order to allow a user program to analyze the 'raw'-view. 15 - */ 16 - 17 - struct __debug_entry{ 18 - union { 19 - struct { 20 - unsigned long long clock:52; 21 - unsigned long long exception:1; 22 - unsigned long long level:3; 23 - unsigned long long cpuid:8; 24 - } fields; 25 - 26 - unsigned long long stck; 27 - } id; 28 - void* caller; 29 - } __attribute__((packed)); 30 - 31 - 32 - #define __DEBUG_FEATURE_VERSION 2 /* version of debug feature */ 33 - 34 - #ifdef __KERNEL__ 35 9 #include <linux/string.h> 36 10 #include <linux/spinlock.h> 37 11 #include <linux/kernel.h> 38 12 #include <linux/time.h> 13 + #include <uapi/asm/debug.h> 39 14 40 15 #define DEBUG_MAX_LEVEL 6 /* debug levels range from 0 to 6 */ 41 16 #define DEBUG_OFF_LEVEL -1 /* level where debug is switched off */ ··· 229 254 #define PRINT_FATAL(x...) printk ( KERN_DEBUG PRINTK_HEADER x ) 230 255 #endif /* DASD_DEBUG */ 231 256 232 - #endif /* __KERNEL__ */ 233 257 #endif /* DEBUG_H */
arch/s390/include/asm/errno.h arch/s390/include/uapi/asm/errno.h
arch/s390/include/asm/fcntl.h arch/s390/include/uapi/asm/fcntl.h
arch/s390/include/asm/ioctl.h arch/s390/include/uapi/asm/ioctl.h
arch/s390/include/asm/ioctls.h arch/s390/include/uapi/asm/ioctls.h
arch/s390/include/asm/ipcbuf.h arch/s390/include/uapi/asm/ipcbuf.h
arch/s390/include/asm/kvm.h arch/s390/include/uapi/asm/kvm.h
+6 -8
arch/s390/include/asm/kvm_para.h
··· 9 9 * 10 10 * Author(s): Christian Borntraeger <borntraeger@de.ibm.com> 11 11 */ 12 - 13 - #ifndef __S390_KVM_PARA_H 14 - #define __S390_KVM_PARA_H 15 - 16 - #ifdef __KERNEL__ 17 - 18 12 /* 19 13 * Hypercalls for KVM on s390. The calling convention is similar to the 20 14 * s390 ABI, so we use R2-R6 for parameters 1-5. In addition we use R1 ··· 23 29 * 24 30 * This work is licensed under the terms of the GNU GPL, version 2. 25 31 */ 32 + #ifndef __S390_KVM_PARA_H 33 + #define __S390_KVM_PARA_H 34 + 35 + #include <uapi/asm/kvm_para.h> 36 + 37 + 26 38 27 39 static inline long kvm_hypercall0(unsigned long nr) 28 40 { ··· 153 153 { 154 154 return false; 155 155 } 156 - 157 - #endif 158 156 159 157 #endif /* __S390_KVM_PARA_H */
arch/s390/include/asm/kvm_virtio.h arch/s390/include/uapi/asm/kvm_virtio.h
+1 -5
arch/s390/include/asm/mman.h
··· 3 3 * 4 4 * Derived from "include/asm-i386/mman.h" 5 5 */ 6 - 7 6 #ifndef __S390_MMAN_H__ 8 7 #define __S390_MMAN_H__ 9 8 10 - #include <asm-generic/mman.h> 9 + #include <uapi/asm/mman.h> 11 10 12 - #if defined(__KERNEL__) 13 11 #if !defined(__ASSEMBLY__) && defined(CONFIG_64BIT) 14 12 int s390_mmap_check(unsigned long addr, unsigned long len); 15 13 #define arch_mmap_check(addr,len,flags) s390_mmap_check(addr,len) 16 14 #endif 17 - #endif 18 - 19 15 #endif /* __S390_MMAN_H__ */
arch/s390/include/asm/monwriter.h arch/s390/include/uapi/asm/monwriter.h
arch/s390/include/asm/msgbuf.h arch/s390/include/uapi/asm/msgbuf.h
arch/s390/include/asm/param.h arch/s390/include/uapi/asm/param.h
arch/s390/include/asm/poll.h arch/s390/include/uapi/asm/poll.h
arch/s390/include/asm/posix_types.h arch/s390/include/uapi/asm/posix_types.h
+1 -461
arch/s390/include/asm/ptrace.h
··· 3 3 * Copyright IBM Corp. 1999, 2000 4 4 * Author(s): Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) 5 5 */ 6 - 7 6 #ifndef _S390_PTRACE_H 8 7 #define _S390_PTRACE_H 9 8 10 - /* 11 - * Offsets in the user_regs_struct. They are used for the ptrace 12 - * system call and in entry.S 13 - */ 14 - #ifndef __s390x__ 15 - 16 - #define PT_PSWMASK 0x00 17 - #define PT_PSWADDR 0x04 18 - #define PT_GPR0 0x08 19 - #define PT_GPR1 0x0C 20 - #define PT_GPR2 0x10 21 - #define PT_GPR3 0x14 22 - #define PT_GPR4 0x18 23 - #define PT_GPR5 0x1C 24 - #define PT_GPR6 0x20 25 - #define PT_GPR7 0x24 26 - #define PT_GPR8 0x28 27 - #define PT_GPR9 0x2C 28 - #define PT_GPR10 0x30 29 - #define PT_GPR11 0x34 30 - #define PT_GPR12 0x38 31 - #define PT_GPR13 0x3C 32 - #define PT_GPR14 0x40 33 - #define PT_GPR15 0x44 34 - #define PT_ACR0 0x48 35 - #define PT_ACR1 0x4C 36 - #define PT_ACR2 0x50 37 - #define PT_ACR3 0x54 38 - #define PT_ACR4 0x58 39 - #define PT_ACR5 0x5C 40 - #define PT_ACR6 0x60 41 - #define PT_ACR7 0x64 42 - #define PT_ACR8 0x68 43 - #define PT_ACR9 0x6C 44 - #define PT_ACR10 0x70 45 - #define PT_ACR11 0x74 46 - #define PT_ACR12 0x78 47 - #define PT_ACR13 0x7C 48 - #define PT_ACR14 0x80 49 - #define PT_ACR15 0x84 50 - #define PT_ORIGGPR2 0x88 51 - #define PT_FPC 0x90 52 - /* 53 - * A nasty fact of life that the ptrace api 54 - * only supports passing of longs. 55 - */ 56 - #define PT_FPR0_HI 0x98 57 - #define PT_FPR0_LO 0x9C 58 - #define PT_FPR1_HI 0xA0 59 - #define PT_FPR1_LO 0xA4 60 - #define PT_FPR2_HI 0xA8 61 - #define PT_FPR2_LO 0xAC 62 - #define PT_FPR3_HI 0xB0 63 - #define PT_FPR3_LO 0xB4 64 - #define PT_FPR4_HI 0xB8 65 - #define PT_FPR4_LO 0xBC 66 - #define PT_FPR5_HI 0xC0 67 - #define PT_FPR5_LO 0xC4 68 - #define PT_FPR6_HI 0xC8 69 - #define PT_FPR6_LO 0xCC 70 - #define PT_FPR7_HI 0xD0 71 - #define PT_FPR7_LO 0xD4 72 - #define PT_FPR8_HI 0xD8 73 - #define PT_FPR8_LO 0XDC 74 - #define PT_FPR9_HI 0xE0 75 - #define PT_FPR9_LO 0xE4 76 - #define PT_FPR10_HI 0xE8 77 - #define PT_FPR10_LO 0xEC 78 - #define PT_FPR11_HI 0xF0 79 - #define PT_FPR11_LO 0xF4 80 - #define PT_FPR12_HI 0xF8 81 - #define PT_FPR12_LO 0xFC 82 - #define PT_FPR13_HI 0x100 83 - #define PT_FPR13_LO 0x104 84 - #define PT_FPR14_HI 0x108 85 - #define PT_FPR14_LO 0x10C 86 - #define PT_FPR15_HI 0x110 87 - #define PT_FPR15_LO 0x114 88 - #define PT_CR_9 0x118 89 - #define PT_CR_10 0x11C 90 - #define PT_CR_11 0x120 91 - #define PT_IEEE_IP 0x13C 92 - #define PT_LASTOFF PT_IEEE_IP 93 - #define PT_ENDREGS 0x140-1 94 - 95 - #define GPR_SIZE 4 96 - #define CR_SIZE 4 97 - 98 - #define STACK_FRAME_OVERHEAD 96 /* size of minimum stack frame */ 99 - 100 - #else /* __s390x__ */ 101 - 102 - #define PT_PSWMASK 0x00 103 - #define PT_PSWADDR 0x08 104 - #define PT_GPR0 0x10 105 - #define PT_GPR1 0x18 106 - #define PT_GPR2 0x20 107 - #define PT_GPR3 0x28 108 - #define PT_GPR4 0x30 109 - #define PT_GPR5 0x38 110 - #define PT_GPR6 0x40 111 - #define PT_GPR7 0x48 112 - #define PT_GPR8 0x50 113 - #define PT_GPR9 0x58 114 - #define PT_GPR10 0x60 115 - #define PT_GPR11 0x68 116 - #define PT_GPR12 0x70 117 - #define PT_GPR13 0x78 118 - #define PT_GPR14 0x80 119 - #define PT_GPR15 0x88 120 - #define PT_ACR0 0x90 121 - #define PT_ACR1 0x94 122 - #define PT_ACR2 0x98 123 - #define PT_ACR3 0x9C 124 - #define PT_ACR4 0xA0 125 - #define PT_ACR5 0xA4 126 - #define PT_ACR6 0xA8 127 - #define PT_ACR7 0xAC 128 - #define PT_ACR8 0xB0 129 - #define PT_ACR9 0xB4 130 - #define PT_ACR10 0xB8 131 - #define PT_ACR11 0xBC 132 - #define PT_ACR12 0xC0 133 - #define PT_ACR13 0xC4 134 - #define PT_ACR14 0xC8 135 - #define PT_ACR15 0xCC 136 - #define PT_ORIGGPR2 0xD0 137 - #define PT_FPC 0xD8 138 - #define PT_FPR0 0xE0 139 - #define PT_FPR1 0xE8 140 - #define PT_FPR2 0xF0 141 - #define PT_FPR3 0xF8 142 - #define PT_FPR4 0x100 143 - #define PT_FPR5 0x108 144 - #define PT_FPR6 0x110 145 - #define PT_FPR7 0x118 146 - #define PT_FPR8 0x120 147 - #define PT_FPR9 0x128 148 - #define PT_FPR10 0x130 149 - #define PT_FPR11 0x138 150 - #define PT_FPR12 0x140 151 - #define PT_FPR13 0x148 152 - #define PT_FPR14 0x150 153 - #define PT_FPR15 0x158 154 - #define PT_CR_9 0x160 155 - #define PT_CR_10 0x168 156 - #define PT_CR_11 0x170 157 - #define PT_IEEE_IP 0x1A8 158 - #define PT_LASTOFF PT_IEEE_IP 159 - #define PT_ENDREGS 0x1B0-1 160 - 161 - #define GPR_SIZE 8 162 - #define CR_SIZE 8 163 - 164 - #define STACK_FRAME_OVERHEAD 160 /* size of minimum stack frame */ 165 - 166 - #endif /* __s390x__ */ 167 - 168 - #define NUM_GPRS 16 169 - #define NUM_FPRS 16 170 - #define NUM_CRS 16 171 - #define NUM_ACRS 16 172 - 173 - #define NUM_CR_WORDS 3 174 - 175 - #define FPR_SIZE 8 176 - #define FPC_SIZE 4 177 - #define FPC_PAD_SIZE 4 /* gcc insists on aligning the fpregs */ 178 - #define ACR_SIZE 4 179 - 180 - 181 - #define PTRACE_OLDSETOPTIONS 21 9 + #include <uapi/asm/ptrace.h> 182 10 183 11 #ifndef __ASSEMBLY__ 184 - #include <linux/stddef.h> 185 - #include <linux/types.h> 186 - 187 - typedef union 188 - { 189 - float f; 190 - double d; 191 - __u64 ui; 192 - struct 193 - { 194 - __u32 hi; 195 - __u32 lo; 196 - } fp; 197 - } freg_t; 198 - 199 - typedef struct 200 - { 201 - __u32 fpc; 202 - freg_t fprs[NUM_FPRS]; 203 - } s390_fp_regs; 204 - 205 - #define FPC_EXCEPTION_MASK 0xF8000000 206 - #define FPC_FLAGS_MASK 0x00F80000 207 - #define FPC_DXC_MASK 0x0000FF00 208 - #define FPC_RM_MASK 0x00000003 209 - #define FPC_VALID_MASK 0xF8F8FF03 210 - 211 - /* this typedef defines how a Program Status Word looks like */ 212 - typedef struct 213 - { 214 - unsigned long mask; 215 - unsigned long addr; 216 - } __attribute__ ((aligned(8))) psw_t; 217 - 218 - typedef struct 219 - { 220 - __u32 mask; 221 - __u32 addr; 222 - } __attribute__ ((aligned(8))) psw_compat_t; 223 - 224 12 #ifndef __s390x__ 225 - 226 - #define PSW_MASK_PER 0x40000000UL 227 - #define PSW_MASK_DAT 0x04000000UL 228 - #define PSW_MASK_IO 0x02000000UL 229 - #define PSW_MASK_EXT 0x01000000UL 230 - #define PSW_MASK_KEY 0x00F00000UL 231 - #define PSW_MASK_BASE 0x00080000UL /* always one */ 232 - #define PSW_MASK_MCHECK 0x00040000UL 233 - #define PSW_MASK_WAIT 0x00020000UL 234 - #define PSW_MASK_PSTATE 0x00010000UL 235 - #define PSW_MASK_ASC 0x0000C000UL 236 - #define PSW_MASK_CC 0x00003000UL 237 - #define PSW_MASK_PM 0x00000F00UL 238 - #define PSW_MASK_RI 0x00000000UL 239 - #define PSW_MASK_EA 0x00000000UL 240 - #define PSW_MASK_BA 0x00000000UL 241 - 242 - #define PSW_MASK_USER 0x00003F00UL 243 - 244 - #define PSW_ADDR_AMODE 0x80000000UL 245 - #define PSW_ADDR_INSN 0x7FFFFFFFUL 246 - 247 - #define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 20) 248 - 249 - #define PSW_ASC_PRIMARY 0x00000000UL 250 - #define PSW_ASC_ACCREG 0x00004000UL 251 - #define PSW_ASC_SECONDARY 0x00008000UL 252 - #define PSW_ASC_HOME 0x0000C000UL 253 - 254 13 #else /* __s390x__ */ 255 - 256 - #define PSW_MASK_PER 0x4000000000000000UL 257 - #define PSW_MASK_DAT 0x0400000000000000UL 258 - #define PSW_MASK_IO 0x0200000000000000UL 259 - #define PSW_MASK_EXT 0x0100000000000000UL 260 - #define PSW_MASK_BASE 0x0000000000000000UL 261 - #define PSW_MASK_KEY 0x00F0000000000000UL 262 - #define PSW_MASK_MCHECK 0x0004000000000000UL 263 - #define PSW_MASK_WAIT 0x0002000000000000UL 264 - #define PSW_MASK_PSTATE 0x0001000000000000UL 265 - #define PSW_MASK_ASC 0x0000C00000000000UL 266 - #define PSW_MASK_CC 0x0000300000000000UL 267 - #define PSW_MASK_PM 0x00000F0000000000UL 268 - #define PSW_MASK_RI 0x0000008000000000UL 269 - #define PSW_MASK_EA 0x0000000100000000UL 270 - #define PSW_MASK_BA 0x0000000080000000UL 271 - 272 - #define PSW_MASK_USER 0x00003F8180000000UL 273 - 274 - #define PSW_ADDR_AMODE 0x0000000000000000UL 275 - #define PSW_ADDR_INSN 0xFFFFFFFFFFFFFFFFUL 276 - 277 - #define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 52) 278 - 279 - #define PSW_ASC_PRIMARY 0x0000000000000000UL 280 - #define PSW_ASC_ACCREG 0x0000400000000000UL 281 - #define PSW_ASC_SECONDARY 0x0000800000000000UL 282 - #define PSW_ASC_HOME 0x0000C00000000000UL 283 - 284 14 #endif /* __s390x__ */ 285 - 286 - #ifdef __KERNEL__ 287 15 extern long psw_kernel_bits; 288 16 extern long psw_user_bits; 289 - #endif 290 - 291 - /* 292 - * The s390_regs structure is used to define the elf_gregset_t. 293 - */ 294 - typedef struct 295 - { 296 - psw_t psw; 297 - unsigned long gprs[NUM_GPRS]; 298 - unsigned int acrs[NUM_ACRS]; 299 - unsigned long orig_gpr2; 300 - } s390_regs; 301 - 302 - typedef struct 303 - { 304 - psw_compat_t psw; 305 - __u32 gprs[NUM_GPRS]; 306 - __u32 acrs[NUM_ACRS]; 307 - __u32 orig_gpr2; 308 - } s390_compat_regs; 309 - 310 - typedef struct 311 - { 312 - __u32 gprs_high[NUM_GPRS]; 313 - } s390_compat_regs_high; 314 - 315 - #ifdef __KERNEL__ 316 17 317 18 /* 318 19 * The pt_regs struct defines the way the registers are stored on ··· 77 376 #define PER_CONTROL_SUSPENSION 0x00400000UL 78 377 #define PER_CONTROL_ALTERATION 0x00200000UL 79 378 80 - #endif 81 - 82 - /* 83 - * Now for the user space program event recording (trace) definitions. 84 - * The following structures are used only for the ptrace interface, don't 85 - * touch or even look at it if you don't want to modify the user-space 86 - * ptrace interface. In particular stay away from it for in-kernel PER. 87 - */ 88 - typedef struct 89 - { 90 - unsigned long cr[NUM_CR_WORDS]; 91 - } per_cr_words; 92 - 93 - #define PER_EM_MASK 0xE8000000UL 94 - 95 - typedef struct 96 - { 97 379 #ifdef __s390x__ 98 - unsigned : 32; 99 380 #endif /* __s390x__ */ 100 - unsigned em_branching : 1; 101 - unsigned em_instruction_fetch : 1; 102 - /* 103 - * Switching on storage alteration automatically fixes 104 - * the storage alteration event bit in the users std. 105 - */ 106 - unsigned em_storage_alteration : 1; 107 - unsigned em_gpr_alt_unused : 1; 108 - unsigned em_store_real_address : 1; 109 - unsigned : 3; 110 - unsigned branch_addr_ctl : 1; 111 - unsigned : 1; 112 - unsigned storage_alt_space_ctl : 1; 113 - unsigned : 21; 114 - unsigned long starting_addr; 115 - unsigned long ending_addr; 116 - } per_cr_bits; 117 - 118 - typedef struct 119 - { 120 - unsigned short perc_atmid; 121 - unsigned long address; 122 - unsigned char access_id; 123 - } per_lowcore_words; 124 - 125 - typedef struct 126 - { 127 - unsigned perc_branching : 1; 128 - unsigned perc_instruction_fetch : 1; 129 - unsigned perc_storage_alteration : 1; 130 - unsigned perc_gpr_alt_unused : 1; 131 - unsigned perc_store_real_address : 1; 132 - unsigned : 3; 133 - unsigned atmid_psw_bit_31 : 1; 134 - unsigned atmid_validity_bit : 1; 135 - unsigned atmid_psw_bit_32 : 1; 136 - unsigned atmid_psw_bit_5 : 1; 137 - unsigned atmid_psw_bit_16 : 1; 138 - unsigned atmid_psw_bit_17 : 1; 139 - unsigned si : 2; 140 - unsigned long address; 141 - unsigned : 4; 142 - unsigned access_id : 4; 143 - } per_lowcore_bits; 144 - 145 - typedef struct 146 - { 147 - union { 148 - per_cr_words words; 149 - per_cr_bits bits; 150 - } control_regs; 151 - /* 152 - * Use these flags instead of setting em_instruction_fetch 153 - * directly they are used so that single stepping can be 154 - * switched on & off while not affecting other tracing 155 - */ 156 - unsigned single_step : 1; 157 - unsigned instruction_fetch : 1; 158 - unsigned : 30; 159 - /* 160 - * These addresses are copied into cr10 & cr11 if single 161 - * stepping is switched off 162 - */ 163 - unsigned long starting_addr; 164 - unsigned long ending_addr; 165 - union { 166 - per_lowcore_words words; 167 - per_lowcore_bits bits; 168 - } lowcore; 169 - } per_struct; 170 - 171 - typedef struct 172 - { 173 - unsigned int len; 174 - unsigned long kernel_addr; 175 - unsigned long process_addr; 176 - } ptrace_area; 177 - 178 - /* 179 - * S/390 specific non posix ptrace requests. I chose unusual values so 180 - * they are unlikely to clash with future ptrace definitions. 181 - */ 182 - #define PTRACE_PEEKUSR_AREA 0x5000 183 - #define PTRACE_POKEUSR_AREA 0x5001 184 - #define PTRACE_PEEKTEXT_AREA 0x5002 185 - #define PTRACE_PEEKDATA_AREA 0x5003 186 - #define PTRACE_POKETEXT_AREA 0x5004 187 - #define PTRACE_POKEDATA_AREA 0x5005 188 - #define PTRACE_GET_LAST_BREAK 0x5006 189 - #define PTRACE_PEEK_SYSTEM_CALL 0x5007 190 - #define PTRACE_POKE_SYSTEM_CALL 0x5008 191 - #define PTRACE_ENABLE_TE 0x5009 192 - #define PTRACE_DISABLE_TE 0x5010 193 - 194 - /* 195 - * PT_PROT definition is loosely based on hppa bsd definition in 196 - * gdb/hppab-nat.c 197 - */ 198 - #define PTRACE_PROT 21 199 - 200 - typedef enum 201 - { 202 - ptprot_set_access_watchpoint, 203 - ptprot_set_write_watchpoint, 204 - ptprot_disable_watchpoint 205 - } ptprot_flags; 206 - 207 - typedef struct 208 - { 209 - unsigned long lowaddr; 210 - unsigned long hiaddr; 211 - ptprot_flags prot; 212 - } ptprot_area; 213 - 214 - /* Sequence of bytes for breakpoint illegal instruction. */ 215 - #define S390_BREAKPOINT {0x0,0x1} 216 - #define S390_BREAKPOINT_U16 ((__u16)0x0001) 217 - #define S390_SYSCALL_OPCODE ((__u16)0x0a00) 218 - #define S390_SYSCALL_SIZE 2 219 - 220 - /* 221 - * The user_regs_struct defines the way the user registers are 222 - * store on the stack for signal handling. 223 - */ 224 - struct user_regs_struct 225 - { 226 - psw_t psw; 227 - unsigned long gprs[NUM_GPRS]; 228 - unsigned int acrs[NUM_ACRS]; 229 - unsigned long orig_gpr2; 230 - s390_fp_regs fp_regs; 231 - /* 232 - * These per registers are in here so that gdb can modify them 233 - * itself as there is no "official" ptrace interface for hardware 234 - * watchpoints. This is the way intel does it. 235 - */ 236 - per_struct per_info; 237 - unsigned long ieee_instruction_pointer; /* obsolete, always 0 */ 238 - }; 239 - 240 - #ifdef __KERNEL__ 241 381 /* 242 382 * These are defined as per linux/ptrace.h, which see. 243 383 */ ··· 104 562 return regs->gprs[15] & PSW_ADDR_INSN; 105 563 } 106 564 107 - #endif /* __KERNEL__ */ 108 565 #endif /* __ASSEMBLY__ */ 109 - 110 566 #endif /* _S390_PTRACE_H */
arch/s390/include/asm/qeth.h arch/s390/include/uapi/asm/qeth.h
arch/s390/include/asm/resource.h arch/s390/include/uapi/asm/resource.h
+1 -14
arch/s390/include/asm/schid.h
··· 1 1 #ifndef ASM_SCHID_H 2 2 #define ASM_SCHID_H 3 3 4 - #include <linux/types.h> 5 - 6 - struct subchannel_id { 7 - __u32 cssid : 8; 8 - __u32 : 4; 9 - __u32 m : 1; 10 - __u32 ssid : 2; 11 - __u32 one : 1; 12 - __u32 sch_no : 16; 13 - } __attribute__ ((packed, aligned(4))); 14 - 15 - #ifdef __KERNEL__ 16 4 #include <linux/string.h> 5 + #include <uapi/asm/schid.h> 17 6 18 7 /* Helper function for sane state of pre-allocated subchannel_id. */ 19 8 static inline void ··· 17 28 { 18 29 return !memcmp(schid1, schid2, sizeof(struct subchannel_id)); 19 30 } 20 - 21 - #endif /* __KERNEL__ */ 22 31 23 32 #endif /* ASM_SCHID_H */
arch/s390/include/asm/sembuf.h arch/s390/include/uapi/asm/sembuf.h
+1 -6
arch/s390/include/asm/setup.h
··· 2 2 * S390 version 3 3 * Copyright IBM Corp. 1999, 2010 4 4 */ 5 - 6 5 #ifndef _ASM_S390_SETUP_H 7 6 #define _ASM_S390_SETUP_H 8 7 9 - #define COMMAND_LINE_SIZE 4096 8 + #include <uapi/asm/setup.h> 10 9 11 - #define ARCH_COMMAND_LINE_SIZE 896 12 - 13 - #ifdef __KERNEL__ 14 10 15 11 #define PARMAREA 0x10400 16 12 #define MEMORY_CHUNKS 256 ··· 171 175 #define COMMAND_LINE 0x10480 172 176 173 177 #endif /* __ASSEMBLY__ */ 174 - #endif /* __KERNEL__ */ 175 178 #endif /* _ASM_S390_SETUP_H */
arch/s390/include/asm/shmbuf.h arch/s390/include/uapi/asm/shmbuf.h
arch/s390/include/asm/sigcontext.h arch/s390/include/uapi/asm/sigcontext.h
arch/s390/include/asm/siginfo.h arch/s390/include/uapi/asm/siginfo.h
+1 -127
arch/s390/include/asm/signal.h
··· 3 3 * 4 4 * Derived from "include/asm-i386/signal.h" 5 5 */ 6 - 7 6 #ifndef _ASMS390_SIGNAL_H 8 7 #define _ASMS390_SIGNAL_H 9 8 10 - #include <linux/types.h> 11 - #include <linux/time.h> 9 + #include <uapi/asm/signal.h> 12 10 13 - /* Avoid too many header ordering problems. */ 14 - struct siginfo; 15 - struct pt_regs; 16 - 17 - #ifdef __KERNEL__ 18 11 /* Most things should be clean enough to redefine this at will, if care 19 12 is taken to make libc match. */ 20 13 #include <asm/sigcontext.h> ··· 21 28 unsigned long sig[_NSIG_WORDS]; 22 29 } sigset_t; 23 30 24 - #else 25 - /* Here we must cater to libcs that poke about in kernel headers. */ 26 - 27 - #define NSIG 32 28 - typedef unsigned long sigset_t; 29 - 30 - #endif /* __KERNEL__ */ 31 - 32 - #define SIGHUP 1 33 - #define SIGINT 2 34 - #define SIGQUIT 3 35 - #define SIGILL 4 36 - #define SIGTRAP 5 37 - #define SIGABRT 6 38 - #define SIGIOT 6 39 - #define SIGBUS 7 40 - #define SIGFPE 8 41 - #define SIGKILL 9 42 - #define SIGUSR1 10 43 - #define SIGSEGV 11 44 - #define SIGUSR2 12 45 - #define SIGPIPE 13 46 - #define SIGALRM 14 47 - #define SIGTERM 15 48 - #define SIGSTKFLT 16 49 - #define SIGCHLD 17 50 - #define SIGCONT 18 51 - #define SIGSTOP 19 52 - #define SIGTSTP 20 53 - #define SIGTTIN 21 54 - #define SIGTTOU 22 55 - #define SIGURG 23 56 - #define SIGXCPU 24 57 - #define SIGXFSZ 25 58 - #define SIGVTALRM 26 59 - #define SIGPROF 27 60 - #define SIGWINCH 28 61 - #define SIGIO 29 62 - #define SIGPOLL SIGIO 63 - /* 64 - #define SIGLOST 29 65 - */ 66 - #define SIGPWR 30 67 - #define SIGSYS 31 68 - #define SIGUNUSED 31 69 - 70 - /* These should not be considered constants from userland. */ 71 - #define SIGRTMIN 32 72 - #define SIGRTMAX _NSIG 73 - 74 - /* 75 - * SA_FLAGS values: 76 - * 77 - * SA_ONSTACK indicates that a registered stack_t will be used. 78 - * SA_RESTART flag to get restarting signals (which were the default long ago) 79 - * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 80 - * SA_RESETHAND clears the handler when the signal is delivered. 81 - * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 82 - * SA_NODEFER prevents the current signal from being masked in the handler. 83 - * 84 - * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 85 - * Unix names RESETHAND and NODEFER respectively. 86 - */ 87 - #define SA_NOCLDSTOP 0x00000001 88 - #define SA_NOCLDWAIT 0x00000002 89 - #define SA_SIGINFO 0x00000004 90 - #define SA_ONSTACK 0x08000000 91 - #define SA_RESTART 0x10000000 92 - #define SA_NODEFER 0x40000000 93 - #define SA_RESETHAND 0x80000000 94 - 95 - #define SA_NOMASK SA_NODEFER 96 - #define SA_ONESHOT SA_RESETHAND 97 - 98 - #define SA_RESTORER 0x04000000 99 - 100 - /* 101 - * sigaltstack controls 102 - */ 103 - #define SS_ONSTACK 1 104 - #define SS_DISABLE 2 105 - 106 - #define MINSIGSTKSZ 2048 107 - #define SIGSTKSZ 8192 108 - 109 - #include <asm-generic/signal-defs.h> 110 - 111 - #ifdef __KERNEL__ 112 31 struct old_sigaction { 113 32 __sighandler_t sa_handler; 114 33 old_sigset_t sa_mask; ··· 40 135 }; 41 136 42 137 #define ptrace_signal_deliver(regs, cookie) do { } while (0) 43 - 44 - #else 45 - /* Here we must cater to libcs that poke about in kernel headers. */ 46 - 47 - struct sigaction { 48 - union { 49 - __sighandler_t _sa_handler; 50 - void (*_sa_sigaction)(int, struct siginfo *, void *); 51 - } _u; 52 - #ifndef __s390x__ /* lovely */ 53 - sigset_t sa_mask; 54 - unsigned long sa_flags; 55 - void (*sa_restorer)(void); 56 - #else /* __s390x__ */ 57 - unsigned long sa_flags; 58 - void (*sa_restorer)(void); 59 - sigset_t sa_mask; 60 - #endif /* __s390x__ */ 61 - }; 62 - 63 - #define sa_handler _u._sa_handler 64 - #define sa_sigaction _u._sa_sigaction 65 - 66 - #endif /* __KERNEL__ */ 67 - 68 - typedef struct sigaltstack { 69 - void __user *ss_sp; 70 - int ss_flags; 71 - size_t ss_size; 72 - } stack_t; 73 - 74 138 75 139 #endif
arch/s390/include/asm/socket.h arch/s390/include/uapi/asm/socket.h
arch/s390/include/asm/sockios.h arch/s390/include/uapi/asm/sockios.h
arch/s390/include/asm/stat.h arch/s390/include/uapi/asm/stat.h
arch/s390/include/asm/statfs.h arch/s390/include/uapi/asm/statfs.h
arch/s390/include/asm/swab.h arch/s390/include/uapi/asm/swab.h
arch/s390/include/asm/tape390.h arch/s390/include/uapi/asm/tape390.h
arch/s390/include/asm/termbits.h arch/s390/include/uapi/asm/termbits.h
+1 -41
arch/s390/include/asm/termios.h
··· 3 3 * 4 4 * Derived from "include/asm-i386/termios.h" 5 5 */ 6 - 7 6 #ifndef _S390_TERMIOS_H 8 7 #define _S390_TERMIOS_H 9 8 10 - #include <asm/termbits.h> 11 - #include <asm/ioctls.h> 9 + #include <uapi/asm/termios.h> 12 10 13 - struct winsize { 14 - unsigned short ws_row; 15 - unsigned short ws_col; 16 - unsigned short ws_xpixel; 17 - unsigned short ws_ypixel; 18 - }; 19 - 20 - #define NCC 8 21 - struct termio { 22 - unsigned short c_iflag; /* input mode flags */ 23 - unsigned short c_oflag; /* output mode flags */ 24 - unsigned short c_cflag; /* control mode flags */ 25 - unsigned short c_lflag; /* local mode flags */ 26 - unsigned char c_line; /* line discipline */ 27 - unsigned char c_cc[NCC]; /* control characters */ 28 - }; 29 - 30 - /* modem lines */ 31 - #define TIOCM_LE 0x001 32 - #define TIOCM_DTR 0x002 33 - #define TIOCM_RTS 0x004 34 - #define TIOCM_ST 0x008 35 - #define TIOCM_SR 0x010 36 - #define TIOCM_CTS 0x020 37 - #define TIOCM_CAR 0x040 38 - #define TIOCM_RNG 0x080 39 - #define TIOCM_DSR 0x100 40 - #define TIOCM_CD TIOCM_CAR 41 - #define TIOCM_RI TIOCM_RNG 42 - #define TIOCM_OUT1 0x2000 43 - #define TIOCM_OUT2 0x4000 44 - #define TIOCM_LOOP 0x8000 45 - 46 - /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ 47 - 48 - #ifdef __KERNEL__ 49 11 50 12 /* intr=^C quit=^\ erase=del kill=^U 51 13 eof=^D vtime=\0 vmin=\1 sxtc=\0 ··· 21 59 #define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2)) 22 60 23 61 #include <asm-generic/termios-base.h> 24 - 25 - #endif /* __KERNEL__ */ 26 62 27 63 #endif /* _S390_TERMIOS_H */
+1 -14
arch/s390/include/asm/types.h
··· 3 3 * 4 4 * Derived from "include/asm-i386/types.h" 5 5 */ 6 - 7 6 #ifndef _S390_TYPES_H 8 7 #define _S390_TYPES_H 9 8 10 - #include <asm-generic/int-ll64.h> 11 - 12 - #ifndef __ASSEMBLY__ 13 - 14 - /* A address type so that arithmetic can be done on it & it can be upgraded to 15 - 64 bit when necessary 16 - */ 17 - typedef unsigned long addr_t; 18 - typedef __signed__ long saddr_t; 19 - 20 - #endif /* __ASSEMBLY__ */ 9 + #include <uapi/asm/types.h> 21 10 22 11 /* 23 12 * These aren't exported outside the kernel to avoid name space clashes 24 13 */ 25 - #ifdef __KERNEL__ 26 14 27 15 #ifndef __ASSEMBLY__ 28 16 ··· 25 37 26 38 #endif /* ! CONFIG_64BIT */ 27 39 #endif /* __ASSEMBLY__ */ 28 - #endif /* __KERNEL__ */ 29 40 #endif /* _S390_TYPES_H */
arch/s390/include/asm/ucontext.h arch/s390/include/uapi/asm/ucontext.h
+1 -366
arch/s390/include/asm/unistd.h
··· 3 3 * 4 4 * Derived from "include/asm-i386/unistd.h" 5 5 */ 6 - 7 6 #ifndef _ASM_S390_UNISTD_H_ 8 7 #define _ASM_S390_UNISTD_H_ 9 8 10 - /* 11 - * This file contains the system call numbers. 12 - */ 9 + #include <uapi/asm/unistd.h> 13 10 14 - #define __NR_exit 1 15 - #define __NR_fork 2 16 - #define __NR_read 3 17 - #define __NR_write 4 18 - #define __NR_open 5 19 - #define __NR_close 6 20 - #define __NR_restart_syscall 7 21 - #define __NR_creat 8 22 - #define __NR_link 9 23 - #define __NR_unlink 10 24 - #define __NR_execve 11 25 - #define __NR_chdir 12 26 - #define __NR_mknod 14 27 - #define __NR_chmod 15 28 - #define __NR_lseek 19 29 - #define __NR_getpid 20 30 - #define __NR_mount 21 31 - #define __NR_umount 22 32 - #define __NR_ptrace 26 33 - #define __NR_alarm 27 34 - #define __NR_pause 29 35 - #define __NR_utime 30 36 - #define __NR_access 33 37 - #define __NR_nice 34 38 - #define __NR_sync 36 39 - #define __NR_kill 37 40 - #define __NR_rename 38 41 - #define __NR_mkdir 39 42 - #define __NR_rmdir 40 43 - #define __NR_dup 41 44 - #define __NR_pipe 42 45 - #define __NR_times 43 46 - #define __NR_brk 45 47 - #define __NR_signal 48 48 - #define __NR_acct 51 49 - #define __NR_umount2 52 50 - #define __NR_ioctl 54 51 - #define __NR_fcntl 55 52 - #define __NR_setpgid 57 53 - #define __NR_umask 60 54 - #define __NR_chroot 61 55 - #define __NR_ustat 62 56 - #define __NR_dup2 63 57 - #define __NR_getppid 64 58 - #define __NR_getpgrp 65 59 - #define __NR_setsid 66 60 - #define __NR_sigaction 67 61 - #define __NR_sigsuspend 72 62 - #define __NR_sigpending 73 63 - #define __NR_sethostname 74 64 - #define __NR_setrlimit 75 65 - #define __NR_getrusage 77 66 - #define __NR_gettimeofday 78 67 - #define __NR_settimeofday 79 68 - #define __NR_symlink 83 69 - #define __NR_readlink 85 70 - #define __NR_uselib 86 71 - #define __NR_swapon 87 72 - #define __NR_reboot 88 73 - #define __NR_readdir 89 74 - #define __NR_mmap 90 75 - #define __NR_munmap 91 76 - #define __NR_truncate 92 77 - #define __NR_ftruncate 93 78 - #define __NR_fchmod 94 79 - #define __NR_getpriority 96 80 - #define __NR_setpriority 97 81 - #define __NR_statfs 99 82 - #define __NR_fstatfs 100 83 - #define __NR_socketcall 102 84 - #define __NR_syslog 103 85 - #define __NR_setitimer 104 86 - #define __NR_getitimer 105 87 - #define __NR_stat 106 88 - #define __NR_lstat 107 89 - #define __NR_fstat 108 90 - #define __NR_lookup_dcookie 110 91 - #define __NR_vhangup 111 92 - #define __NR_idle 112 93 - #define __NR_wait4 114 94 - #define __NR_swapoff 115 95 - #define __NR_sysinfo 116 96 - #define __NR_ipc 117 97 - #define __NR_fsync 118 98 - #define __NR_sigreturn 119 99 - #define __NR_clone 120 100 - #define __NR_setdomainname 121 101 - #define __NR_uname 122 102 - #define __NR_adjtimex 124 103 - #define __NR_mprotect 125 104 - #define __NR_sigprocmask 126 105 - #define __NR_create_module 127 106 - #define __NR_init_module 128 107 - #define __NR_delete_module 129 108 - #define __NR_get_kernel_syms 130 109 - #define __NR_quotactl 131 110 - #define __NR_getpgid 132 111 - #define __NR_fchdir 133 112 - #define __NR_bdflush 134 113 - #define __NR_sysfs 135 114 - #define __NR_personality 136 115 - #define __NR_afs_syscall 137 /* Syscall for Andrew File System */ 116 - #define __NR_getdents 141 117 - #define __NR_flock 143 118 - #define __NR_msync 144 119 - #define __NR_readv 145 120 - #define __NR_writev 146 121 - #define __NR_getsid 147 122 - #define __NR_fdatasync 148 123 - #define __NR__sysctl 149 124 - #define __NR_mlock 150 125 - #define __NR_munlock 151 126 - #define __NR_mlockall 152 127 - #define __NR_munlockall 153 128 - #define __NR_sched_setparam 154 129 - #define __NR_sched_getparam 155 130 - #define __NR_sched_setscheduler 156 131 - #define __NR_sched_getscheduler 157 132 - #define __NR_sched_yield 158 133 - #define __NR_sched_get_priority_max 159 134 - #define __NR_sched_get_priority_min 160 135 - #define __NR_sched_rr_get_interval 161 136 - #define __NR_nanosleep 162 137 - #define __NR_mremap 163 138 - #define __NR_query_module 167 139 - #define __NR_poll 168 140 - #define __NR_nfsservctl 169 141 - #define __NR_prctl 172 142 - #define __NR_rt_sigreturn 173 143 - #define __NR_rt_sigaction 174 144 - #define __NR_rt_sigprocmask 175 145 - #define __NR_rt_sigpending 176 146 - #define __NR_rt_sigtimedwait 177 147 - #define __NR_rt_sigqueueinfo 178 148 - #define __NR_rt_sigsuspend 179 149 - #define __NR_pread64 180 150 - #define __NR_pwrite64 181 151 - #define __NR_getcwd 183 152 - #define __NR_capget 184 153 - #define __NR_capset 185 154 - #define __NR_sigaltstack 186 155 - #define __NR_sendfile 187 156 - #define __NR_getpmsg 188 157 - #define __NR_putpmsg 189 158 - #define __NR_vfork 190 159 - #define __NR_pivot_root 217 160 - #define __NR_mincore 218 161 - #define __NR_madvise 219 162 - #define __NR_getdents64 220 163 - #define __NR_readahead 222 164 - #define __NR_setxattr 224 165 - #define __NR_lsetxattr 225 166 - #define __NR_fsetxattr 226 167 - #define __NR_getxattr 227 168 - #define __NR_lgetxattr 228 169 - #define __NR_fgetxattr 229 170 - #define __NR_listxattr 230 171 - #define __NR_llistxattr 231 172 - #define __NR_flistxattr 232 173 - #define __NR_removexattr 233 174 - #define __NR_lremovexattr 234 175 - #define __NR_fremovexattr 235 176 - #define __NR_gettid 236 177 - #define __NR_tkill 237 178 - #define __NR_futex 238 179 - #define __NR_sched_setaffinity 239 180 - #define __NR_sched_getaffinity 240 181 - #define __NR_tgkill 241 182 - /* Number 242 is reserved for tux */ 183 - #define __NR_io_setup 243 184 - #define __NR_io_destroy 244 185 - #define __NR_io_getevents 245 186 - #define __NR_io_submit 246 187 - #define __NR_io_cancel 247 188 - #define __NR_exit_group 248 189 - #define __NR_epoll_create 249 190 - #define __NR_epoll_ctl 250 191 - #define __NR_epoll_wait 251 192 - #define __NR_set_tid_address 252 193 - #define __NR_fadvise64 253 194 - #define __NR_timer_create 254 195 - #define __NR_timer_settime (__NR_timer_create+1) 196 - #define __NR_timer_gettime (__NR_timer_create+2) 197 - #define __NR_timer_getoverrun (__NR_timer_create+3) 198 - #define __NR_timer_delete (__NR_timer_create+4) 199 - #define __NR_clock_settime (__NR_timer_create+5) 200 - #define __NR_clock_gettime (__NR_timer_create+6) 201 - #define __NR_clock_getres (__NR_timer_create+7) 202 - #define __NR_clock_nanosleep (__NR_timer_create+8) 203 - /* Number 263 is reserved for vserver */ 204 - #define __NR_statfs64 265 205 - #define __NR_fstatfs64 266 206 - #define __NR_remap_file_pages 267 207 - /* Number 268 is reserved for new sys_mbind */ 208 - /* Number 269 is reserved for new sys_get_mempolicy */ 209 - /* Number 270 is reserved for new sys_set_mempolicy */ 210 - #define __NR_mq_open 271 211 - #define __NR_mq_unlink 272 212 - #define __NR_mq_timedsend 273 213 - #define __NR_mq_timedreceive 274 214 - #define __NR_mq_notify 275 215 - #define __NR_mq_getsetattr 276 216 - #define __NR_kexec_load 277 217 - #define __NR_add_key 278 218 - #define __NR_request_key 279 219 - #define __NR_keyctl 280 220 - #define __NR_waitid 281 221 - #define __NR_ioprio_set 282 222 - #define __NR_ioprio_get 283 223 - #define __NR_inotify_init 284 224 - #define __NR_inotify_add_watch 285 225 - #define __NR_inotify_rm_watch 286 226 - /* Number 287 is reserved for new sys_migrate_pages */ 227 - #define __NR_openat 288 228 - #define __NR_mkdirat 289 229 - #define __NR_mknodat 290 230 - #define __NR_fchownat 291 231 - #define __NR_futimesat 292 232 - #define __NR_unlinkat 294 233 - #define __NR_renameat 295 234 - #define __NR_linkat 296 235 - #define __NR_symlinkat 297 236 - #define __NR_readlinkat 298 237 - #define __NR_fchmodat 299 238 - #define __NR_faccessat 300 239 - #define __NR_pselect6 301 240 - #define __NR_ppoll 302 241 - #define __NR_unshare 303 242 - #define __NR_set_robust_list 304 243 - #define __NR_get_robust_list 305 244 - #define __NR_splice 306 245 - #define __NR_sync_file_range 307 246 - #define __NR_tee 308 247 - #define __NR_vmsplice 309 248 - /* Number 310 is reserved for new sys_move_pages */ 249 - #define __NR_getcpu 311 250 - #define __NR_epoll_pwait 312 251 - #define __NR_utimes 313 252 - #define __NR_fallocate 314 253 - #define __NR_utimensat 315 254 - #define __NR_signalfd 316 255 - #define __NR_timerfd 317 256 - #define __NR_eventfd 318 257 - #define __NR_timerfd_create 319 258 - #define __NR_timerfd_settime 320 259 - #define __NR_timerfd_gettime 321 260 - #define __NR_signalfd4 322 261 - #define __NR_eventfd2 323 262 - #define __NR_inotify_init1 324 263 - #define __NR_pipe2 325 264 - #define __NR_dup3 326 265 - #define __NR_epoll_create1 327 266 - #define __NR_preadv 328 267 - #define __NR_pwritev 329 268 - #define __NR_rt_tgsigqueueinfo 330 269 - #define __NR_perf_event_open 331 270 - #define __NR_fanotify_init 332 271 - #define __NR_fanotify_mark 333 272 - #define __NR_prlimit64 334 273 - #define __NR_name_to_handle_at 335 274 - #define __NR_open_by_handle_at 336 275 - #define __NR_clock_adjtime 337 276 - #define __NR_syncfs 338 277 - #define __NR_setns 339 278 - #define __NR_process_vm_readv 340 279 - #define __NR_process_vm_writev 341 280 - #define __NR_s390_runtime_instr 342 281 - #define __NR_kcmp 343 282 - #define NR_syscalls 344 283 - 284 - /* 285 - * There are some system calls that are not present on 64 bit, some 286 - * have a different name although they do the same (e.g. __NR_chown32 287 - * is __NR_chown on 64 bit). 288 - */ 289 - #ifndef __s390x__ 290 - 291 - #define __NR_time 13 292 - #define __NR_lchown 16 293 - #define __NR_setuid 23 294 - #define __NR_getuid 24 295 - #define __NR_stime 25 296 - #define __NR_setgid 46 297 - #define __NR_getgid 47 298 - #define __NR_geteuid 49 299 - #define __NR_getegid 50 300 - #define __NR_setreuid 70 301 - #define __NR_setregid 71 302 - #define __NR_getrlimit 76 303 - #define __NR_getgroups 80 304 - #define __NR_setgroups 81 305 - #define __NR_fchown 95 306 - #define __NR_ioperm 101 307 - #define __NR_setfsuid 138 308 - #define __NR_setfsgid 139 309 - #define __NR__llseek 140 310 - #define __NR__newselect 142 311 - #define __NR_setresuid 164 312 - #define __NR_getresuid 165 313 - #define __NR_setresgid 170 314 - #define __NR_getresgid 171 315 - #define __NR_chown 182 316 - #define __NR_ugetrlimit 191 /* SuS compliant getrlimit */ 317 - #define __NR_mmap2 192 318 - #define __NR_truncate64 193 319 - #define __NR_ftruncate64 194 320 - #define __NR_stat64 195 321 - #define __NR_lstat64 196 322 - #define __NR_fstat64 197 323 - #define __NR_lchown32 198 324 - #define __NR_getuid32 199 325 - #define __NR_getgid32 200 326 - #define __NR_geteuid32 201 327 - #define __NR_getegid32 202 328 - #define __NR_setreuid32 203 329 - #define __NR_setregid32 204 330 - #define __NR_getgroups32 205 331 - #define __NR_setgroups32 206 332 - #define __NR_fchown32 207 333 - #define __NR_setresuid32 208 334 - #define __NR_getresuid32 209 335 - #define __NR_setresgid32 210 336 - #define __NR_getresgid32 211 337 - #define __NR_chown32 212 338 - #define __NR_setuid32 213 339 - #define __NR_setgid32 214 340 - #define __NR_setfsuid32 215 341 - #define __NR_setfsgid32 216 342 - #define __NR_fcntl64 221 343 - #define __NR_sendfile64 223 344 - #define __NR_fadvise64_64 264 345 - #define __NR_fstatat64 293 346 - 347 - #else 348 - 349 - #define __NR_select 142 350 - #define __NR_getrlimit 191 /* SuS compliant getrlimit */ 351 - #define __NR_lchown 198 352 - #define __NR_getuid 199 353 - #define __NR_getgid 200 354 - #define __NR_geteuid 201 355 - #define __NR_getegid 202 356 - #define __NR_setreuid 203 357 - #define __NR_setregid 204 358 - #define __NR_getgroups 205 359 - #define __NR_setgroups 206 360 - #define __NR_fchown 207 361 - #define __NR_setresuid 208 362 - #define __NR_getresuid 209 363 - #define __NR_setresgid 210 364 - #define __NR_getresgid 211 365 - #define __NR_chown 212 366 - #define __NR_setuid 213 367 - #define __NR_setgid 214 368 - #define __NR_setfsuid 215 369 - #define __NR_setfsgid 216 370 - #define __NR_newfstatat 293 371 - 372 - #endif 373 - 374 - #ifdef __KERNEL__ 375 11 376 12 #ifndef CONFIG_64BIT 377 13 #define __IGNORE_select ··· 62 426 */ 63 427 #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") 64 428 65 - #endif /* __KERNEL__ */ 66 429 #endif /* _ASM_S390_UNISTD_H_ */
arch/s390/include/asm/vtoc.h arch/s390/include/uapi/asm/vtoc.h
arch/s390/include/asm/zcrypt.h arch/s390/include/uapi/asm/zcrypt.h
+45
arch/s390/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 += chpid.h 8 + header-y += chsc.h 9 + header-y += cmb.h 10 + header-y += dasd.h 11 + header-y += debug.h 12 + header-y += errno.h 13 + header-y += fcntl.h 14 + header-y += ioctl.h 15 + header-y += ioctls.h 16 + header-y += ipcbuf.h 17 + header-y += kvm.h 18 + header-y += kvm_para.h 19 + header-y += kvm_virtio.h 20 + header-y += mman.h 21 + header-y += monwriter.h 22 + header-y += msgbuf.h 23 + header-y += param.h 24 + header-y += poll.h 25 + header-y += posix_types.h 26 + header-y += ptrace.h 27 + header-y += qeth.h 28 + header-y += resource.h 29 + header-y += schid.h 30 + header-y += sembuf.h 31 + header-y += setup.h 32 + header-y += shmbuf.h 33 + header-y += sigcontext.h 34 + header-y += siginfo.h 35 + header-y += signal.h 36 + header-y += socket.h 37 + header-y += sockios.h 38 + header-y += stat.h 39 + header-y += statfs.h 40 + header-y += swab.h 41 + header-y += tape390.h 42 + header-y += termbits.h 43 + header-y += termios.h 44 + header-y += types.h 45 + header-y += ucontext.h 46 + header-y += unistd.h 47 + header-y += vtoc.h 48 + header-y += zcrypt.h
+22
arch/s390/include/uapi/asm/chpid.h
··· 1 + /* 2 + * Copyright IBM Corp. 2007 3 + * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com> 4 + */ 5 + 6 + #ifndef _UAPI_ASM_S390_CHPID_H 7 + #define _UAPI_ASM_S390_CHPID_H 8 + 9 + #include <linux/string.h> 10 + #include <linux/types.h> 11 + 12 + #define __MAX_CHPID 255 13 + 14 + struct chp_id { 15 + u8 reserved1; 16 + u8 cssid; 17 + u8 reserved2; 18 + u8 id; 19 + } __attribute__((packed)); 20 + 21 + 22 + #endif /* _UAPI_ASM_S390_CHPID_H */
+53
arch/s390/include/uapi/asm/cmb.h
··· 1 + #ifndef _UAPIS390_CMB_H 2 + #define _UAPIS390_CMB_H 3 + 4 + #include <linux/types.h> 5 + 6 + /** 7 + * struct cmbdata - channel measurement block data for user space 8 + * @size: size of the stored data 9 + * @elapsed_time: time since last sampling 10 + * @ssch_rsch_count: number of ssch and rsch 11 + * @sample_count: number of samples 12 + * @device_connect_time: time of device connect 13 + * @function_pending_time: time of function pending 14 + * @device_disconnect_time: time of device disconnect 15 + * @control_unit_queuing_time: time of control unit queuing 16 + * @device_active_only_time: time of device active only 17 + * @device_busy_time: time of device busy (ext. format) 18 + * @initial_command_response_time: initial command response time (ext. format) 19 + * 20 + * All values are stored as 64 bit for simplicity, especially 21 + * in 32 bit emulation mode. All time values are normalized to 22 + * nanoseconds. 23 + * Currently, two formats are known, which differ by the size of 24 + * this structure, i.e. the last two members are only set when 25 + * the extended channel measurement facility (first shipped in 26 + * z990 machines) is activated. 27 + * Potentially, more fields could be added, which would result in a 28 + * new ioctl number. 29 + */ 30 + struct cmbdata { 31 + __u64 size; 32 + __u64 elapsed_time; 33 + /* basic and exended format: */ 34 + __u64 ssch_rsch_count; 35 + __u64 sample_count; 36 + __u64 device_connect_time; 37 + __u64 function_pending_time; 38 + __u64 device_disconnect_time; 39 + __u64 control_unit_queuing_time; 40 + __u64 device_active_only_time; 41 + /* extended format only: */ 42 + __u64 device_busy_time; 43 + __u64 initial_command_response_time; 44 + }; 45 + 46 + /* enable channel measurement */ 47 + #define BIODASDCMFENABLE _IO(DASD_IOCTL_LETTER, 32) 48 + /* enable channel measurement */ 49 + #define BIODASDCMFDISABLE _IO(DASD_IOCTL_LETTER, 33) 50 + /* read channel measurement data */ 51 + #define BIODASDREADALLCMB _IOWR(DASD_IOCTL_LETTER, 33, struct cmbdata) 52 + 53 + #endif /* _UAPIS390_CMB_H */
+34
arch/s390/include/uapi/asm/debug.h
··· 1 + /* 2 + * S/390 debug facility 3 + * 4 + * Copyright IBM Corp. 1999, 2000 5 + */ 6 + 7 + #ifndef _UAPIDEBUG_H 8 + #define _UAPIDEBUG_H 9 + 10 + #include <linux/fs.h> 11 + 12 + /* Note: 13 + * struct __debug_entry must be defined outside of #ifdef __KERNEL__ 14 + * in order to allow a user program to analyze the 'raw'-view. 15 + */ 16 + 17 + struct __debug_entry{ 18 + union { 19 + struct { 20 + unsigned long long clock:52; 21 + unsigned long long exception:1; 22 + unsigned long long level:3; 23 + unsigned long long cpuid:8; 24 + } fields; 25 + 26 + unsigned long long stck; 27 + } id; 28 + void* caller; 29 + } __attribute__((packed)); 30 + 31 + 32 + #define __DEBUG_FEATURE_VERSION 2 /* version of debug feature */ 33 + 34 + #endif /* _UAPIDEBUG_H */
arch/s390/include/uapi/asm/kvm_para.h
+6
arch/s390/include/uapi/asm/mman.h
··· 1 + /* 2 + * S390 version 3 + * 4 + * Derived from "include/asm-i386/mman.h" 5 + */ 6 + #include <asm-generic/mman.h>
+472
arch/s390/include/uapi/asm/ptrace.h
··· 1 + /* 2 + * S390 version 3 + * Copyright IBM Corp. 1999, 2000 4 + * Author(s): Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) 5 + */ 6 + 7 + #ifndef _UAPI_S390_PTRACE_H 8 + #define _UAPI_S390_PTRACE_H 9 + 10 + /* 11 + * Offsets in the user_regs_struct. They are used for the ptrace 12 + * system call and in entry.S 13 + */ 14 + #ifndef __s390x__ 15 + 16 + #define PT_PSWMASK 0x00 17 + #define PT_PSWADDR 0x04 18 + #define PT_GPR0 0x08 19 + #define PT_GPR1 0x0C 20 + #define PT_GPR2 0x10 21 + #define PT_GPR3 0x14 22 + #define PT_GPR4 0x18 23 + #define PT_GPR5 0x1C 24 + #define PT_GPR6 0x20 25 + #define PT_GPR7 0x24 26 + #define PT_GPR8 0x28 27 + #define PT_GPR9 0x2C 28 + #define PT_GPR10 0x30 29 + #define PT_GPR11 0x34 30 + #define PT_GPR12 0x38 31 + #define PT_GPR13 0x3C 32 + #define PT_GPR14 0x40 33 + #define PT_GPR15 0x44 34 + #define PT_ACR0 0x48 35 + #define PT_ACR1 0x4C 36 + #define PT_ACR2 0x50 37 + #define PT_ACR3 0x54 38 + #define PT_ACR4 0x58 39 + #define PT_ACR5 0x5C 40 + #define PT_ACR6 0x60 41 + #define PT_ACR7 0x64 42 + #define PT_ACR8 0x68 43 + #define PT_ACR9 0x6C 44 + #define PT_ACR10 0x70 45 + #define PT_ACR11 0x74 46 + #define PT_ACR12 0x78 47 + #define PT_ACR13 0x7C 48 + #define PT_ACR14 0x80 49 + #define PT_ACR15 0x84 50 + #define PT_ORIGGPR2 0x88 51 + #define PT_FPC 0x90 52 + /* 53 + * A nasty fact of life that the ptrace api 54 + * only supports passing of longs. 55 + */ 56 + #define PT_FPR0_HI 0x98 57 + #define PT_FPR0_LO 0x9C 58 + #define PT_FPR1_HI 0xA0 59 + #define PT_FPR1_LO 0xA4 60 + #define PT_FPR2_HI 0xA8 61 + #define PT_FPR2_LO 0xAC 62 + #define PT_FPR3_HI 0xB0 63 + #define PT_FPR3_LO 0xB4 64 + #define PT_FPR4_HI 0xB8 65 + #define PT_FPR4_LO 0xBC 66 + #define PT_FPR5_HI 0xC0 67 + #define PT_FPR5_LO 0xC4 68 + #define PT_FPR6_HI 0xC8 69 + #define PT_FPR6_LO 0xCC 70 + #define PT_FPR7_HI 0xD0 71 + #define PT_FPR7_LO 0xD4 72 + #define PT_FPR8_HI 0xD8 73 + #define PT_FPR8_LO 0XDC 74 + #define PT_FPR9_HI 0xE0 75 + #define PT_FPR9_LO 0xE4 76 + #define PT_FPR10_HI 0xE8 77 + #define PT_FPR10_LO 0xEC 78 + #define PT_FPR11_HI 0xF0 79 + #define PT_FPR11_LO 0xF4 80 + #define PT_FPR12_HI 0xF8 81 + #define PT_FPR12_LO 0xFC 82 + #define PT_FPR13_HI 0x100 83 + #define PT_FPR13_LO 0x104 84 + #define PT_FPR14_HI 0x108 85 + #define PT_FPR14_LO 0x10C 86 + #define PT_FPR15_HI 0x110 87 + #define PT_FPR15_LO 0x114 88 + #define PT_CR_9 0x118 89 + #define PT_CR_10 0x11C 90 + #define PT_CR_11 0x120 91 + #define PT_IEEE_IP 0x13C 92 + #define PT_LASTOFF PT_IEEE_IP 93 + #define PT_ENDREGS 0x140-1 94 + 95 + #define GPR_SIZE 4 96 + #define CR_SIZE 4 97 + 98 + #define STACK_FRAME_OVERHEAD 96 /* size of minimum stack frame */ 99 + 100 + #else /* __s390x__ */ 101 + 102 + #define PT_PSWMASK 0x00 103 + #define PT_PSWADDR 0x08 104 + #define PT_GPR0 0x10 105 + #define PT_GPR1 0x18 106 + #define PT_GPR2 0x20 107 + #define PT_GPR3 0x28 108 + #define PT_GPR4 0x30 109 + #define PT_GPR5 0x38 110 + #define PT_GPR6 0x40 111 + #define PT_GPR7 0x48 112 + #define PT_GPR8 0x50 113 + #define PT_GPR9 0x58 114 + #define PT_GPR10 0x60 115 + #define PT_GPR11 0x68 116 + #define PT_GPR12 0x70 117 + #define PT_GPR13 0x78 118 + #define PT_GPR14 0x80 119 + #define PT_GPR15 0x88 120 + #define PT_ACR0 0x90 121 + #define PT_ACR1 0x94 122 + #define PT_ACR2 0x98 123 + #define PT_ACR3 0x9C 124 + #define PT_ACR4 0xA0 125 + #define PT_ACR5 0xA4 126 + #define PT_ACR6 0xA8 127 + #define PT_ACR7 0xAC 128 + #define PT_ACR8 0xB0 129 + #define PT_ACR9 0xB4 130 + #define PT_ACR10 0xB8 131 + #define PT_ACR11 0xBC 132 + #define PT_ACR12 0xC0 133 + #define PT_ACR13 0xC4 134 + #define PT_ACR14 0xC8 135 + #define PT_ACR15 0xCC 136 + #define PT_ORIGGPR2 0xD0 137 + #define PT_FPC 0xD8 138 + #define PT_FPR0 0xE0 139 + #define PT_FPR1 0xE8 140 + #define PT_FPR2 0xF0 141 + #define PT_FPR3 0xF8 142 + #define PT_FPR4 0x100 143 + #define PT_FPR5 0x108 144 + #define PT_FPR6 0x110 145 + #define PT_FPR7 0x118 146 + #define PT_FPR8 0x120 147 + #define PT_FPR9 0x128 148 + #define PT_FPR10 0x130 149 + #define PT_FPR11 0x138 150 + #define PT_FPR12 0x140 151 + #define PT_FPR13 0x148 152 + #define PT_FPR14 0x150 153 + #define PT_FPR15 0x158 154 + #define PT_CR_9 0x160 155 + #define PT_CR_10 0x168 156 + #define PT_CR_11 0x170 157 + #define PT_IEEE_IP 0x1A8 158 + #define PT_LASTOFF PT_IEEE_IP 159 + #define PT_ENDREGS 0x1B0-1 160 + 161 + #define GPR_SIZE 8 162 + #define CR_SIZE 8 163 + 164 + #define STACK_FRAME_OVERHEAD 160 /* size of minimum stack frame */ 165 + 166 + #endif /* __s390x__ */ 167 + 168 + #define NUM_GPRS 16 169 + #define NUM_FPRS 16 170 + #define NUM_CRS 16 171 + #define NUM_ACRS 16 172 + 173 + #define NUM_CR_WORDS 3 174 + 175 + #define FPR_SIZE 8 176 + #define FPC_SIZE 4 177 + #define FPC_PAD_SIZE 4 /* gcc insists on aligning the fpregs */ 178 + #define ACR_SIZE 4 179 + 180 + 181 + #define PTRACE_OLDSETOPTIONS 21 182 + 183 + #ifndef __ASSEMBLY__ 184 + #include <linux/stddef.h> 185 + #include <linux/types.h> 186 + 187 + typedef union 188 + { 189 + float f; 190 + double d; 191 + __u64 ui; 192 + struct 193 + { 194 + __u32 hi; 195 + __u32 lo; 196 + } fp; 197 + } freg_t; 198 + 199 + typedef struct 200 + { 201 + __u32 fpc; 202 + freg_t fprs[NUM_FPRS]; 203 + } s390_fp_regs; 204 + 205 + #define FPC_EXCEPTION_MASK 0xF8000000 206 + #define FPC_FLAGS_MASK 0x00F80000 207 + #define FPC_DXC_MASK 0x0000FF00 208 + #define FPC_RM_MASK 0x00000003 209 + #define FPC_VALID_MASK 0xF8F8FF03 210 + 211 + /* this typedef defines how a Program Status Word looks like */ 212 + typedef struct 213 + { 214 + unsigned long mask; 215 + unsigned long addr; 216 + } __attribute__ ((aligned(8))) psw_t; 217 + 218 + typedef struct 219 + { 220 + __u32 mask; 221 + __u32 addr; 222 + } __attribute__ ((aligned(8))) psw_compat_t; 223 + 224 + #ifndef __s390x__ 225 + 226 + #define PSW_MASK_PER 0x40000000UL 227 + #define PSW_MASK_DAT 0x04000000UL 228 + #define PSW_MASK_IO 0x02000000UL 229 + #define PSW_MASK_EXT 0x01000000UL 230 + #define PSW_MASK_KEY 0x00F00000UL 231 + #define PSW_MASK_BASE 0x00080000UL /* always one */ 232 + #define PSW_MASK_MCHECK 0x00040000UL 233 + #define PSW_MASK_WAIT 0x00020000UL 234 + #define PSW_MASK_PSTATE 0x00010000UL 235 + #define PSW_MASK_ASC 0x0000C000UL 236 + #define PSW_MASK_CC 0x00003000UL 237 + #define PSW_MASK_PM 0x00000F00UL 238 + #define PSW_MASK_RI 0x00000000UL 239 + #define PSW_MASK_EA 0x00000000UL 240 + #define PSW_MASK_BA 0x00000000UL 241 + 242 + #define PSW_MASK_USER 0x00003F00UL 243 + 244 + #define PSW_ADDR_AMODE 0x80000000UL 245 + #define PSW_ADDR_INSN 0x7FFFFFFFUL 246 + 247 + #define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 20) 248 + 249 + #define PSW_ASC_PRIMARY 0x00000000UL 250 + #define PSW_ASC_ACCREG 0x00004000UL 251 + #define PSW_ASC_SECONDARY 0x00008000UL 252 + #define PSW_ASC_HOME 0x0000C000UL 253 + 254 + #else /* __s390x__ */ 255 + 256 + #define PSW_MASK_PER 0x4000000000000000UL 257 + #define PSW_MASK_DAT 0x0400000000000000UL 258 + #define PSW_MASK_IO 0x0200000000000000UL 259 + #define PSW_MASK_EXT 0x0100000000000000UL 260 + #define PSW_MASK_BASE 0x0000000000000000UL 261 + #define PSW_MASK_KEY 0x00F0000000000000UL 262 + #define PSW_MASK_MCHECK 0x0004000000000000UL 263 + #define PSW_MASK_WAIT 0x0002000000000000UL 264 + #define PSW_MASK_PSTATE 0x0001000000000000UL 265 + #define PSW_MASK_ASC 0x0000C00000000000UL 266 + #define PSW_MASK_CC 0x0000300000000000UL 267 + #define PSW_MASK_PM 0x00000F0000000000UL 268 + #define PSW_MASK_RI 0x0000008000000000UL 269 + #define PSW_MASK_EA 0x0000000100000000UL 270 + #define PSW_MASK_BA 0x0000000080000000UL 271 + 272 + #define PSW_MASK_USER 0x00003F8180000000UL 273 + 274 + #define PSW_ADDR_AMODE 0x0000000000000000UL 275 + #define PSW_ADDR_INSN 0xFFFFFFFFFFFFFFFFUL 276 + 277 + #define PSW_DEFAULT_KEY (((unsigned long) PAGE_DEFAULT_ACC) << 52) 278 + 279 + #define PSW_ASC_PRIMARY 0x0000000000000000UL 280 + #define PSW_ASC_ACCREG 0x0000400000000000UL 281 + #define PSW_ASC_SECONDARY 0x0000800000000000UL 282 + #define PSW_ASC_HOME 0x0000C00000000000UL 283 + 284 + #endif /* __s390x__ */ 285 + 286 + 287 + /* 288 + * The s390_regs structure is used to define the elf_gregset_t. 289 + */ 290 + typedef struct 291 + { 292 + psw_t psw; 293 + unsigned long gprs[NUM_GPRS]; 294 + unsigned int acrs[NUM_ACRS]; 295 + unsigned long orig_gpr2; 296 + } s390_regs; 297 + 298 + typedef struct 299 + { 300 + psw_compat_t psw; 301 + __u32 gprs[NUM_GPRS]; 302 + __u32 acrs[NUM_ACRS]; 303 + __u32 orig_gpr2; 304 + } s390_compat_regs; 305 + 306 + typedef struct 307 + { 308 + __u32 gprs_high[NUM_GPRS]; 309 + } s390_compat_regs_high; 310 + 311 + 312 + /* 313 + * Now for the user space program event recording (trace) definitions. 314 + * The following structures are used only for the ptrace interface, don't 315 + * touch or even look at it if you don't want to modify the user-space 316 + * ptrace interface. In particular stay away from it for in-kernel PER. 317 + */ 318 + typedef struct 319 + { 320 + unsigned long cr[NUM_CR_WORDS]; 321 + } per_cr_words; 322 + 323 + #define PER_EM_MASK 0xE8000000UL 324 + 325 + typedef struct 326 + { 327 + #ifdef __s390x__ 328 + unsigned : 32; 329 + #endif /* __s390x__ */ 330 + unsigned em_branching : 1; 331 + unsigned em_instruction_fetch : 1; 332 + /* 333 + * Switching on storage alteration automatically fixes 334 + * the storage alteration event bit in the users std. 335 + */ 336 + unsigned em_storage_alteration : 1; 337 + unsigned em_gpr_alt_unused : 1; 338 + unsigned em_store_real_address : 1; 339 + unsigned : 3; 340 + unsigned branch_addr_ctl : 1; 341 + unsigned : 1; 342 + unsigned storage_alt_space_ctl : 1; 343 + unsigned : 21; 344 + unsigned long starting_addr; 345 + unsigned long ending_addr; 346 + } per_cr_bits; 347 + 348 + typedef struct 349 + { 350 + unsigned short perc_atmid; 351 + unsigned long address; 352 + unsigned char access_id; 353 + } per_lowcore_words; 354 + 355 + typedef struct 356 + { 357 + unsigned perc_branching : 1; 358 + unsigned perc_instruction_fetch : 1; 359 + unsigned perc_storage_alteration : 1; 360 + unsigned perc_gpr_alt_unused : 1; 361 + unsigned perc_store_real_address : 1; 362 + unsigned : 3; 363 + unsigned atmid_psw_bit_31 : 1; 364 + unsigned atmid_validity_bit : 1; 365 + unsigned atmid_psw_bit_32 : 1; 366 + unsigned atmid_psw_bit_5 : 1; 367 + unsigned atmid_psw_bit_16 : 1; 368 + unsigned atmid_psw_bit_17 : 1; 369 + unsigned si : 2; 370 + unsigned long address; 371 + unsigned : 4; 372 + unsigned access_id : 4; 373 + } per_lowcore_bits; 374 + 375 + typedef struct 376 + { 377 + union { 378 + per_cr_words words; 379 + per_cr_bits bits; 380 + } control_regs; 381 + /* 382 + * Use these flags instead of setting em_instruction_fetch 383 + * directly they are used so that single stepping can be 384 + * switched on & off while not affecting other tracing 385 + */ 386 + unsigned single_step : 1; 387 + unsigned instruction_fetch : 1; 388 + unsigned : 30; 389 + /* 390 + * These addresses are copied into cr10 & cr11 if single 391 + * stepping is switched off 392 + */ 393 + unsigned long starting_addr; 394 + unsigned long ending_addr; 395 + union { 396 + per_lowcore_words words; 397 + per_lowcore_bits bits; 398 + } lowcore; 399 + } per_struct; 400 + 401 + typedef struct 402 + { 403 + unsigned int len; 404 + unsigned long kernel_addr; 405 + unsigned long process_addr; 406 + } ptrace_area; 407 + 408 + /* 409 + * S/390 specific non posix ptrace requests. I chose unusual values so 410 + * they are unlikely to clash with future ptrace definitions. 411 + */ 412 + #define PTRACE_PEEKUSR_AREA 0x5000 413 + #define PTRACE_POKEUSR_AREA 0x5001 414 + #define PTRACE_PEEKTEXT_AREA 0x5002 415 + #define PTRACE_PEEKDATA_AREA 0x5003 416 + #define PTRACE_POKETEXT_AREA 0x5004 417 + #define PTRACE_POKEDATA_AREA 0x5005 418 + #define PTRACE_GET_LAST_BREAK 0x5006 419 + #define PTRACE_PEEK_SYSTEM_CALL 0x5007 420 + #define PTRACE_POKE_SYSTEM_CALL 0x5008 421 + #define PTRACE_ENABLE_TE 0x5009 422 + #define PTRACE_DISABLE_TE 0x5010 423 + 424 + /* 425 + * PT_PROT definition is loosely based on hppa bsd definition in 426 + * gdb/hppab-nat.c 427 + */ 428 + #define PTRACE_PROT 21 429 + 430 + typedef enum 431 + { 432 + ptprot_set_access_watchpoint, 433 + ptprot_set_write_watchpoint, 434 + ptprot_disable_watchpoint 435 + } ptprot_flags; 436 + 437 + typedef struct 438 + { 439 + unsigned long lowaddr; 440 + unsigned long hiaddr; 441 + ptprot_flags prot; 442 + } ptprot_area; 443 + 444 + /* Sequence of bytes for breakpoint illegal instruction. */ 445 + #define S390_BREAKPOINT {0x0,0x1} 446 + #define S390_BREAKPOINT_U16 ((__u16)0x0001) 447 + #define S390_SYSCALL_OPCODE ((__u16)0x0a00) 448 + #define S390_SYSCALL_SIZE 2 449 + 450 + /* 451 + * The user_regs_struct defines the way the user registers are 452 + * store on the stack for signal handling. 453 + */ 454 + struct user_regs_struct 455 + { 456 + psw_t psw; 457 + unsigned long gprs[NUM_GPRS]; 458 + unsigned int acrs[NUM_ACRS]; 459 + unsigned long orig_gpr2; 460 + s390_fp_regs fp_regs; 461 + /* 462 + * These per registers are in here so that gdb can modify them 463 + * itself as there is no "official" ptrace interface for hardware 464 + * watchpoints. This is the way intel does it. 465 + */ 466 + per_struct per_info; 467 + unsigned long ieee_instruction_pointer; /* obsolete, always 0 */ 468 + }; 469 + 470 + #endif /* __ASSEMBLY__ */ 471 + 472 + #endif /* _UAPI_S390_PTRACE_H */
+16
arch/s390/include/uapi/asm/schid.h
··· 1 + #ifndef _UAPIASM_SCHID_H 2 + #define _UAPIASM_SCHID_H 3 + 4 + #include <linux/types.h> 5 + 6 + struct subchannel_id { 7 + __u32 cssid : 8; 8 + __u32 : 4; 9 + __u32 m : 1; 10 + __u32 ssid : 2; 11 + __u32 one : 1; 12 + __u32 sch_no : 16; 13 + } __attribute__ ((packed, aligned(4))); 14 + 15 + 16 + #endif /* _UAPIASM_SCHID_H */
+13
arch/s390/include/uapi/asm/setup.h
··· 1 + /* 2 + * S390 version 3 + * Copyright IBM Corp. 1999, 2010 4 + */ 5 + 6 + #ifndef _UAPI_ASM_S390_SETUP_H 7 + #define _UAPI_ASM_S390_SETUP_H 8 + 9 + #define COMMAND_LINE_SIZE 4096 10 + 11 + #define ARCH_COMMAND_LINE_SIZE 896 12 + 13 + #endif /* _UAPI_ASM_S390_SETUP_H */
+135
arch/s390/include/uapi/asm/signal.h
··· 1 + /* 2 + * S390 version 3 + * 4 + * Derived from "include/asm-i386/signal.h" 5 + */ 6 + 7 + #ifndef _UAPI_ASMS390_SIGNAL_H 8 + #define _UAPI_ASMS390_SIGNAL_H 9 + 10 + #include <linux/types.h> 11 + #include <linux/time.h> 12 + 13 + /* Avoid too many header ordering problems. */ 14 + struct siginfo; 15 + struct pt_regs; 16 + 17 + #ifndef __KERNEL__ 18 + /* Here we must cater to libcs that poke about in kernel headers. */ 19 + 20 + #define NSIG 32 21 + typedef unsigned long sigset_t; 22 + 23 + #endif /* __KERNEL__ */ 24 + 25 + #define SIGHUP 1 26 + #define SIGINT 2 27 + #define SIGQUIT 3 28 + #define SIGILL 4 29 + #define SIGTRAP 5 30 + #define SIGABRT 6 31 + #define SIGIOT 6 32 + #define SIGBUS 7 33 + #define SIGFPE 8 34 + #define SIGKILL 9 35 + #define SIGUSR1 10 36 + #define SIGSEGV 11 37 + #define SIGUSR2 12 38 + #define SIGPIPE 13 39 + #define SIGALRM 14 40 + #define SIGTERM 15 41 + #define SIGSTKFLT 16 42 + #define SIGCHLD 17 43 + #define SIGCONT 18 44 + #define SIGSTOP 19 45 + #define SIGTSTP 20 46 + #define SIGTTIN 21 47 + #define SIGTTOU 22 48 + #define SIGURG 23 49 + #define SIGXCPU 24 50 + #define SIGXFSZ 25 51 + #define SIGVTALRM 26 52 + #define SIGPROF 27 53 + #define SIGWINCH 28 54 + #define SIGIO 29 55 + #define SIGPOLL SIGIO 56 + /* 57 + #define SIGLOST 29 58 + */ 59 + #define SIGPWR 30 60 + #define SIGSYS 31 61 + #define SIGUNUSED 31 62 + 63 + /* These should not be considered constants from userland. */ 64 + #define SIGRTMIN 32 65 + #define SIGRTMAX _NSIG 66 + 67 + /* 68 + * SA_FLAGS values: 69 + * 70 + * SA_ONSTACK indicates that a registered stack_t will be used. 71 + * SA_RESTART flag to get restarting signals (which were the default long ago) 72 + * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 73 + * SA_RESETHAND clears the handler when the signal is delivered. 74 + * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 75 + * SA_NODEFER prevents the current signal from being masked in the handler. 76 + * 77 + * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 78 + * Unix names RESETHAND and NODEFER respectively. 79 + */ 80 + #define SA_NOCLDSTOP 0x00000001 81 + #define SA_NOCLDWAIT 0x00000002 82 + #define SA_SIGINFO 0x00000004 83 + #define SA_ONSTACK 0x08000000 84 + #define SA_RESTART 0x10000000 85 + #define SA_NODEFER 0x40000000 86 + #define SA_RESETHAND 0x80000000 87 + 88 + #define SA_NOMASK SA_NODEFER 89 + #define SA_ONESHOT SA_RESETHAND 90 + 91 + #define SA_RESTORER 0x04000000 92 + 93 + /* 94 + * sigaltstack controls 95 + */ 96 + #define SS_ONSTACK 1 97 + #define SS_DISABLE 2 98 + 99 + #define MINSIGSTKSZ 2048 100 + #define SIGSTKSZ 8192 101 + 102 + #include <asm-generic/signal-defs.h> 103 + 104 + #ifndef __KERNEL__ 105 + /* Here we must cater to libcs that poke about in kernel headers. */ 106 + 107 + struct sigaction { 108 + union { 109 + __sighandler_t _sa_handler; 110 + void (*_sa_sigaction)(int, struct siginfo *, void *); 111 + } _u; 112 + #ifndef __s390x__ /* lovely */ 113 + sigset_t sa_mask; 114 + unsigned long sa_flags; 115 + void (*sa_restorer)(void); 116 + #else /* __s390x__ */ 117 + unsigned long sa_flags; 118 + void (*sa_restorer)(void); 119 + sigset_t sa_mask; 120 + #endif /* __s390x__ */ 121 + }; 122 + 123 + #define sa_handler _u._sa_handler 124 + #define sa_sigaction _u._sa_sigaction 125 + 126 + #endif /* __KERNEL__ */ 127 + 128 + typedef struct sigaltstack { 129 + void __user *ss_sp; 130 + int ss_flags; 131 + size_t ss_size; 132 + } stack_t; 133 + 134 + 135 + #endif /* _UAPI_ASMS390_SIGNAL_H */
+49
arch/s390/include/uapi/asm/termios.h
··· 1 + /* 2 + * S390 version 3 + * 4 + * Derived from "include/asm-i386/termios.h" 5 + */ 6 + 7 + #ifndef _UAPI_S390_TERMIOS_H 8 + #define _UAPI_S390_TERMIOS_H 9 + 10 + #include <asm/termbits.h> 11 + #include <asm/ioctls.h> 12 + 13 + struct winsize { 14 + unsigned short ws_row; 15 + unsigned short ws_col; 16 + unsigned short ws_xpixel; 17 + unsigned short ws_ypixel; 18 + }; 19 + 20 + #define NCC 8 21 + struct termio { 22 + unsigned short c_iflag; /* input mode flags */ 23 + unsigned short c_oflag; /* output mode flags */ 24 + unsigned short c_cflag; /* control mode flags */ 25 + unsigned short c_lflag; /* local mode flags */ 26 + unsigned char c_line; /* line discipline */ 27 + unsigned char c_cc[NCC]; /* control characters */ 28 + }; 29 + 30 + /* modem lines */ 31 + #define TIOCM_LE 0x001 32 + #define TIOCM_DTR 0x002 33 + #define TIOCM_RTS 0x004 34 + #define TIOCM_ST 0x008 35 + #define TIOCM_SR 0x010 36 + #define TIOCM_CTS 0x020 37 + #define TIOCM_CAR 0x040 38 + #define TIOCM_RNG 0x080 39 + #define TIOCM_DSR 0x100 40 + #define TIOCM_CD TIOCM_CAR 41 + #define TIOCM_RI TIOCM_RNG 42 + #define TIOCM_OUT1 0x2000 43 + #define TIOCM_OUT2 0x4000 44 + #define TIOCM_LOOP 0x8000 45 + 46 + /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ 47 + 48 + 49 + #endif /* _UAPI_S390_TERMIOS_H */
+22
arch/s390/include/uapi/asm/types.h
··· 1 + /* 2 + * S390 version 3 + * 4 + * Derived from "include/asm-i386/types.h" 5 + */ 6 + 7 + #ifndef _UAPI_S390_TYPES_H 8 + #define _UAPI_S390_TYPES_H 9 + 10 + #include <asm-generic/int-ll64.h> 11 + 12 + #ifndef __ASSEMBLY__ 13 + 14 + /* A address type so that arithmetic can be done on it & it can be upgraded to 15 + 64 bit when necessary 16 + */ 17 + typedef unsigned long addr_t; 18 + typedef __signed__ long saddr_t; 19 + 20 + #endif /* __ASSEMBLY__ */ 21 + 22 + #endif /* _UAPI_S390_TYPES_H */
+374
arch/s390/include/uapi/asm/unistd.h
··· 1 + /* 2 + * S390 version 3 + * 4 + * Derived from "include/asm-i386/unistd.h" 5 + */ 6 + 7 + #ifndef _UAPI_ASM_S390_UNISTD_H_ 8 + #define _UAPI_ASM_S390_UNISTD_H_ 9 + 10 + /* 11 + * This file contains the system call numbers. 12 + */ 13 + 14 + #define __NR_exit 1 15 + #define __NR_fork 2 16 + #define __NR_read 3 17 + #define __NR_write 4 18 + #define __NR_open 5 19 + #define __NR_close 6 20 + #define __NR_restart_syscall 7 21 + #define __NR_creat 8 22 + #define __NR_link 9 23 + #define __NR_unlink 10 24 + #define __NR_execve 11 25 + #define __NR_chdir 12 26 + #define __NR_mknod 14 27 + #define __NR_chmod 15 28 + #define __NR_lseek 19 29 + #define __NR_getpid 20 30 + #define __NR_mount 21 31 + #define __NR_umount 22 32 + #define __NR_ptrace 26 33 + #define __NR_alarm 27 34 + #define __NR_pause 29 35 + #define __NR_utime 30 36 + #define __NR_access 33 37 + #define __NR_nice 34 38 + #define __NR_sync 36 39 + #define __NR_kill 37 40 + #define __NR_rename 38 41 + #define __NR_mkdir 39 42 + #define __NR_rmdir 40 43 + #define __NR_dup 41 44 + #define __NR_pipe 42 45 + #define __NR_times 43 46 + #define __NR_brk 45 47 + #define __NR_signal 48 48 + #define __NR_acct 51 49 + #define __NR_umount2 52 50 + #define __NR_ioctl 54 51 + #define __NR_fcntl 55 52 + #define __NR_setpgid 57 53 + #define __NR_umask 60 54 + #define __NR_chroot 61 55 + #define __NR_ustat 62 56 + #define __NR_dup2 63 57 + #define __NR_getppid 64 58 + #define __NR_getpgrp 65 59 + #define __NR_setsid 66 60 + #define __NR_sigaction 67 61 + #define __NR_sigsuspend 72 62 + #define __NR_sigpending 73 63 + #define __NR_sethostname 74 64 + #define __NR_setrlimit 75 65 + #define __NR_getrusage 77 66 + #define __NR_gettimeofday 78 67 + #define __NR_settimeofday 79 68 + #define __NR_symlink 83 69 + #define __NR_readlink 85 70 + #define __NR_uselib 86 71 + #define __NR_swapon 87 72 + #define __NR_reboot 88 73 + #define __NR_readdir 89 74 + #define __NR_mmap 90 75 + #define __NR_munmap 91 76 + #define __NR_truncate 92 77 + #define __NR_ftruncate 93 78 + #define __NR_fchmod 94 79 + #define __NR_getpriority 96 80 + #define __NR_setpriority 97 81 + #define __NR_statfs 99 82 + #define __NR_fstatfs 100 83 + #define __NR_socketcall 102 84 + #define __NR_syslog 103 85 + #define __NR_setitimer 104 86 + #define __NR_getitimer 105 87 + #define __NR_stat 106 88 + #define __NR_lstat 107 89 + #define __NR_fstat 108 90 + #define __NR_lookup_dcookie 110 91 + #define __NR_vhangup 111 92 + #define __NR_idle 112 93 + #define __NR_wait4 114 94 + #define __NR_swapoff 115 95 + #define __NR_sysinfo 116 96 + #define __NR_ipc 117 97 + #define __NR_fsync 118 98 + #define __NR_sigreturn 119 99 + #define __NR_clone 120 100 + #define __NR_setdomainname 121 101 + #define __NR_uname 122 102 + #define __NR_adjtimex 124 103 + #define __NR_mprotect 125 104 + #define __NR_sigprocmask 126 105 + #define __NR_create_module 127 106 + #define __NR_init_module 128 107 + #define __NR_delete_module 129 108 + #define __NR_get_kernel_syms 130 109 + #define __NR_quotactl 131 110 + #define __NR_getpgid 132 111 + #define __NR_fchdir 133 112 + #define __NR_bdflush 134 113 + #define __NR_sysfs 135 114 + #define __NR_personality 136 115 + #define __NR_afs_syscall 137 /* Syscall for Andrew File System */ 116 + #define __NR_getdents 141 117 + #define __NR_flock 143 118 + #define __NR_msync 144 119 + #define __NR_readv 145 120 + #define __NR_writev 146 121 + #define __NR_getsid 147 122 + #define __NR_fdatasync 148 123 + #define __NR__sysctl 149 124 + #define __NR_mlock 150 125 + #define __NR_munlock 151 126 + #define __NR_mlockall 152 127 + #define __NR_munlockall 153 128 + #define __NR_sched_setparam 154 129 + #define __NR_sched_getparam 155 130 + #define __NR_sched_setscheduler 156 131 + #define __NR_sched_getscheduler 157 132 + #define __NR_sched_yield 158 133 + #define __NR_sched_get_priority_max 159 134 + #define __NR_sched_get_priority_min 160 135 + #define __NR_sched_rr_get_interval 161 136 + #define __NR_nanosleep 162 137 + #define __NR_mremap 163 138 + #define __NR_query_module 167 139 + #define __NR_poll 168 140 + #define __NR_nfsservctl 169 141 + #define __NR_prctl 172 142 + #define __NR_rt_sigreturn 173 143 + #define __NR_rt_sigaction 174 144 + #define __NR_rt_sigprocmask 175 145 + #define __NR_rt_sigpending 176 146 + #define __NR_rt_sigtimedwait 177 147 + #define __NR_rt_sigqueueinfo 178 148 + #define __NR_rt_sigsuspend 179 149 + #define __NR_pread64 180 150 + #define __NR_pwrite64 181 151 + #define __NR_getcwd 183 152 + #define __NR_capget 184 153 + #define __NR_capset 185 154 + #define __NR_sigaltstack 186 155 + #define __NR_sendfile 187 156 + #define __NR_getpmsg 188 157 + #define __NR_putpmsg 189 158 + #define __NR_vfork 190 159 + #define __NR_pivot_root 217 160 + #define __NR_mincore 218 161 + #define __NR_madvise 219 162 + #define __NR_getdents64 220 163 + #define __NR_readahead 222 164 + #define __NR_setxattr 224 165 + #define __NR_lsetxattr 225 166 + #define __NR_fsetxattr 226 167 + #define __NR_getxattr 227 168 + #define __NR_lgetxattr 228 169 + #define __NR_fgetxattr 229 170 + #define __NR_listxattr 230 171 + #define __NR_llistxattr 231 172 + #define __NR_flistxattr 232 173 + #define __NR_removexattr 233 174 + #define __NR_lremovexattr 234 175 + #define __NR_fremovexattr 235 176 + #define __NR_gettid 236 177 + #define __NR_tkill 237 178 + #define __NR_futex 238 179 + #define __NR_sched_setaffinity 239 180 + #define __NR_sched_getaffinity 240 181 + #define __NR_tgkill 241 182 + /* Number 242 is reserved for tux */ 183 + #define __NR_io_setup 243 184 + #define __NR_io_destroy 244 185 + #define __NR_io_getevents 245 186 + #define __NR_io_submit 246 187 + #define __NR_io_cancel 247 188 + #define __NR_exit_group 248 189 + #define __NR_epoll_create 249 190 + #define __NR_epoll_ctl 250 191 + #define __NR_epoll_wait 251 192 + #define __NR_set_tid_address 252 193 + #define __NR_fadvise64 253 194 + #define __NR_timer_create 254 195 + #define __NR_timer_settime (__NR_timer_create+1) 196 + #define __NR_timer_gettime (__NR_timer_create+2) 197 + #define __NR_timer_getoverrun (__NR_timer_create+3) 198 + #define __NR_timer_delete (__NR_timer_create+4) 199 + #define __NR_clock_settime (__NR_timer_create+5) 200 + #define __NR_clock_gettime (__NR_timer_create+6) 201 + #define __NR_clock_getres (__NR_timer_create+7) 202 + #define __NR_clock_nanosleep (__NR_timer_create+8) 203 + /* Number 263 is reserved for vserver */ 204 + #define __NR_statfs64 265 205 + #define __NR_fstatfs64 266 206 + #define __NR_remap_file_pages 267 207 + /* Number 268 is reserved for new sys_mbind */ 208 + /* Number 269 is reserved for new sys_get_mempolicy */ 209 + /* Number 270 is reserved for new sys_set_mempolicy */ 210 + #define __NR_mq_open 271 211 + #define __NR_mq_unlink 272 212 + #define __NR_mq_timedsend 273 213 + #define __NR_mq_timedreceive 274 214 + #define __NR_mq_notify 275 215 + #define __NR_mq_getsetattr 276 216 + #define __NR_kexec_load 277 217 + #define __NR_add_key 278 218 + #define __NR_request_key 279 219 + #define __NR_keyctl 280 220 + #define __NR_waitid 281 221 + #define __NR_ioprio_set 282 222 + #define __NR_ioprio_get 283 223 + #define __NR_inotify_init 284 224 + #define __NR_inotify_add_watch 285 225 + #define __NR_inotify_rm_watch 286 226 + /* Number 287 is reserved for new sys_migrate_pages */ 227 + #define __NR_openat 288 228 + #define __NR_mkdirat 289 229 + #define __NR_mknodat 290 230 + #define __NR_fchownat 291 231 + #define __NR_futimesat 292 232 + #define __NR_unlinkat 294 233 + #define __NR_renameat 295 234 + #define __NR_linkat 296 235 + #define __NR_symlinkat 297 236 + #define __NR_readlinkat 298 237 + #define __NR_fchmodat 299 238 + #define __NR_faccessat 300 239 + #define __NR_pselect6 301 240 + #define __NR_ppoll 302 241 + #define __NR_unshare 303 242 + #define __NR_set_robust_list 304 243 + #define __NR_get_robust_list 305 244 + #define __NR_splice 306 245 + #define __NR_sync_file_range 307 246 + #define __NR_tee 308 247 + #define __NR_vmsplice 309 248 + /* Number 310 is reserved for new sys_move_pages */ 249 + #define __NR_getcpu 311 250 + #define __NR_epoll_pwait 312 251 + #define __NR_utimes 313 252 + #define __NR_fallocate 314 253 + #define __NR_utimensat 315 254 + #define __NR_signalfd 316 255 + #define __NR_timerfd 317 256 + #define __NR_eventfd 318 257 + #define __NR_timerfd_create 319 258 + #define __NR_timerfd_settime 320 259 + #define __NR_timerfd_gettime 321 260 + #define __NR_signalfd4 322 261 + #define __NR_eventfd2 323 262 + #define __NR_inotify_init1 324 263 + #define __NR_pipe2 325 264 + #define __NR_dup3 326 265 + #define __NR_epoll_create1 327 266 + #define __NR_preadv 328 267 + #define __NR_pwritev 329 268 + #define __NR_rt_tgsigqueueinfo 330 269 + #define __NR_perf_event_open 331 270 + #define __NR_fanotify_init 332 271 + #define __NR_fanotify_mark 333 272 + #define __NR_prlimit64 334 273 + #define __NR_name_to_handle_at 335 274 + #define __NR_open_by_handle_at 336 275 + #define __NR_clock_adjtime 337 276 + #define __NR_syncfs 338 277 + #define __NR_setns 339 278 + #define __NR_process_vm_readv 340 279 + #define __NR_process_vm_writev 341 280 + #define __NR_s390_runtime_instr 342 281 + #define __NR_kcmp 343 282 + #define NR_syscalls 344 283 + 284 + /* 285 + * There are some system calls that are not present on 64 bit, some 286 + * have a different name although they do the same (e.g. __NR_chown32 287 + * is __NR_chown on 64 bit). 288 + */ 289 + #ifndef __s390x__ 290 + 291 + #define __NR_time 13 292 + #define __NR_lchown 16 293 + #define __NR_setuid 23 294 + #define __NR_getuid 24 295 + #define __NR_stime 25 296 + #define __NR_setgid 46 297 + #define __NR_getgid 47 298 + #define __NR_geteuid 49 299 + #define __NR_getegid 50 300 + #define __NR_setreuid 70 301 + #define __NR_setregid 71 302 + #define __NR_getrlimit 76 303 + #define __NR_getgroups 80 304 + #define __NR_setgroups 81 305 + #define __NR_fchown 95 306 + #define __NR_ioperm 101 307 + #define __NR_setfsuid 138 308 + #define __NR_setfsgid 139 309 + #define __NR__llseek 140 310 + #define __NR__newselect 142 311 + #define __NR_setresuid 164 312 + #define __NR_getresuid 165 313 + #define __NR_setresgid 170 314 + #define __NR_getresgid 171 315 + #define __NR_chown 182 316 + #define __NR_ugetrlimit 191 /* SuS compliant getrlimit */ 317 + #define __NR_mmap2 192 318 + #define __NR_truncate64 193 319 + #define __NR_ftruncate64 194 320 + #define __NR_stat64 195 321 + #define __NR_lstat64 196 322 + #define __NR_fstat64 197 323 + #define __NR_lchown32 198 324 + #define __NR_getuid32 199 325 + #define __NR_getgid32 200 326 + #define __NR_geteuid32 201 327 + #define __NR_getegid32 202 328 + #define __NR_setreuid32 203 329 + #define __NR_setregid32 204 330 + #define __NR_getgroups32 205 331 + #define __NR_setgroups32 206 332 + #define __NR_fchown32 207 333 + #define __NR_setresuid32 208 334 + #define __NR_getresuid32 209 335 + #define __NR_setresgid32 210 336 + #define __NR_getresgid32 211 337 + #define __NR_chown32 212 338 + #define __NR_setuid32 213 339 + #define __NR_setgid32 214 340 + #define __NR_setfsuid32 215 341 + #define __NR_setfsgid32 216 342 + #define __NR_fcntl64 221 343 + #define __NR_sendfile64 223 344 + #define __NR_fadvise64_64 264 345 + #define __NR_fstatat64 293 346 + 347 + #else 348 + 349 + #define __NR_select 142 350 + #define __NR_getrlimit 191 /* SuS compliant getrlimit */ 351 + #define __NR_lchown 198 352 + #define __NR_getuid 199 353 + #define __NR_getgid 200 354 + #define __NR_geteuid 201 355 + #define __NR_getegid 202 356 + #define __NR_setreuid 203 357 + #define __NR_setregid 204 358 + #define __NR_getgroups 205 359 + #define __NR_setgroups 206 360 + #define __NR_fchown 207 361 + #define __NR_setresuid 208 362 + #define __NR_getresuid 209 363 + #define __NR_setresgid 210 364 + #define __NR_getresgid 211 365 + #define __NR_chown 212 366 + #define __NR_setuid 213 367 + #define __NR_setgid 214 368 + #define __NR_setfsuid 215 369 + #define __NR_setfsgid 216 370 + #define __NR_newfstatat 293 371 + 372 + #endif 373 + 374 + #endif /* _UAPI_ASM_S390_UNISTD_H_ */