diff options
author | David Howells <dhowells@redhat.com> | 2012-10-09 04:47:31 -0400 |
---|---|---|
committer | David Howells <dhowells@redhat.com> | 2012-10-09 04:47:31 -0400 |
commit | 9807f75955ea7f1877981056755284481873115c (patch) | |
tree | 1e80f10ee622a1638d4b0835030d0d69b0492c55 /arch/s390/include/asm | |
parent | 9e2d8656f5e8aa214e66b462680cf86b210b74a8 (diff) |
UAPI: (Scripted) Disintegrate arch/s390/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>
Diffstat (limited to 'arch/s390/include/asm')
46 files changed, 17 insertions, 3160 deletions
diff --git a/arch/s390/include/asm/Kbuild b/arch/s390/include/asm/Kbuild index f18fc796beef..0633dc6d254d 100644 --- a/arch/s390/include/asm/Kbuild +++ b/arch/s390/include/asm/Kbuild | |||
@@ -1,17 +1,3 @@ | |||
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 | generic-y += clkdev.h | 3 | generic-y += clkdev.h |
diff --git a/arch/s390/include/asm/auxvec.h b/arch/s390/include/asm/auxvec.h deleted file mode 100644 index a1f153e89133..000000000000 --- a/arch/s390/include/asm/auxvec.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef __ASMS390_AUXVEC_H | ||
2 | #define __ASMS390_AUXVEC_H | ||
3 | |||
4 | #define AT_SYSINFO_EHDR 33 | ||
5 | |||
6 | #endif | ||
diff --git a/arch/s390/include/asm/bitsperlong.h b/arch/s390/include/asm/bitsperlong.h deleted file mode 100644 index 6b235aea9c66..000000000000 --- a/arch/s390/include/asm/bitsperlong.h +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | #ifndef __ASM_S390_BITSPERLONG_H | ||
2 | #define __ASM_S390_BITSPERLONG_H | ||
3 | |||
4 | #ifndef __s390x__ | ||
5 | #define __BITS_PER_LONG 32 | ||
6 | #else | ||
7 | #define __BITS_PER_LONG 64 | ||
8 | #endif | ||
9 | |||
10 | #include <asm-generic/bitsperlong.h> | ||
11 | |||
12 | #endif /* __ASM_S390_BITSPERLONG_H */ | ||
13 | |||
diff --git a/arch/s390/include/asm/byteorder.h b/arch/s390/include/asm/byteorder.h deleted file mode 100644 index a332e59e26fc..000000000000 --- a/arch/s390/include/asm/byteorder.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef _S390_BYTEORDER_H | ||
2 | #define _S390_BYTEORDER_H | ||
3 | |||
4 | #include <linux/byteorder/big_endian.h> | ||
5 | |||
6 | #endif /* _S390_BYTEORDER_H */ | ||
diff --git a/arch/s390/include/asm/chpid.h b/arch/s390/include/asm/chpid.h index e5bde9f9291f..64c76ddde3c1 100644 --- a/arch/s390/include/asm/chpid.h +++ b/arch/s390/include/asm/chpid.h | |||
@@ -2,23 +2,10 @@ | |||
2 | * Copyright IBM Corp. 2007 | 2 | * Copyright IBM Corp. 2007 |
3 | * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com> | 3 | * Author(s): Peter Oberparleiter <peter.oberparleiter@de.ibm.com> |
4 | */ | 4 | */ |
5 | |||
6 | #ifndef _ASM_S390_CHPID_H | 5 | #ifndef _ASM_S390_CHPID_H |
7 | #define _ASM_S390_CHPID_H | 6 | #define _ASM_S390_CHPID_H |
8 | 7 | ||
9 | #include <linux/string.h> | 8 | #include <uapi/asm/chpid.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__ | ||
22 | #include <asm/cio.h> | 9 | #include <asm/cio.h> |
23 | 10 | ||
24 | static inline void chp_id_init(struct chp_id *chpid) | 11 | static inline void chp_id_init(struct chp_id *chpid) |
@@ -49,6 +36,4 @@ static inline int chp_id_is_valid(struct chp_id *chpid) | |||
49 | 36 | ||
50 | #define chp_id_for_each(c) \ | 37 | #define chp_id_for_each(c) \ |
51 | for (chp_id_init(c); chp_id_is_valid(c); chp_id_next(c)) | 38 | for (chp_id_init(c); chp_id_is_valid(c); chp_id_next(c)) |
52 | #endif /* __KERNEL */ | ||
53 | |||
54 | #endif /* _ASM_S390_CHPID_H */ | 39 | #endif /* _ASM_S390_CHPID_H */ |
diff --git a/arch/s390/include/asm/chsc.h b/arch/s390/include/asm/chsc.h deleted file mode 100644 index aea451fd182e..000000000000 --- a/arch/s390/include/asm/chsc.h +++ /dev/null | |||
@@ -1,128 +0,0 @@ | |||
1 | /* | ||
2 | * ioctl interface for /dev/chsc | ||
3 | * | ||
4 | * Copyright IBM Corp. 2008 | ||
5 | * Author(s): Cornelia Huck <cornelia.huck@de.ibm.com> | ||
6 | */ | ||
7 | |||
8 | #ifndef _ASM_CHSC_H | ||
9 | #define _ASM_CHSC_H | ||
10 | |||
11 | #include <linux/types.h> | ||
12 | #include <asm/chpid.h> | ||
13 | #include <asm/schid.h> | ||
14 | |||
15 | struct chsc_async_header { | ||
16 | __u16 length; | ||
17 | __u16 code; | ||
18 | __u32 cmd_dependend; | ||
19 | __u32 key : 4; | ||
20 | __u32 : 28; | ||
21 | struct subchannel_id sid; | ||
22 | } __attribute__ ((packed)); | ||
23 | |||
24 | struct chsc_async_area { | ||
25 | struct chsc_async_header header; | ||
26 | __u8 data[PAGE_SIZE - 16 /* size of chsc_async_header */]; | ||
27 | } __attribute__ ((packed)); | ||
28 | |||
29 | |||
30 | struct chsc_response_struct { | ||
31 | __u16 length; | ||
32 | __u16 code; | ||
33 | __u32 parms; | ||
34 | __u8 data[PAGE_SIZE - 8]; | ||
35 | } __attribute__ ((packed)); | ||
36 | |||
37 | struct chsc_chp_cd { | ||
38 | struct chp_id chpid; | ||
39 | int m; | ||
40 | int fmt; | ||
41 | struct chsc_response_struct cpcb; | ||
42 | }; | ||
43 | |||
44 | struct chsc_cu_cd { | ||
45 | __u16 cun; | ||
46 | __u8 cssid; | ||
47 | int m; | ||
48 | int fmt; | ||
49 | struct chsc_response_struct cucb; | ||
50 | }; | ||
51 | |||
52 | struct chsc_sch_cud { | ||
53 | struct subchannel_id schid; | ||
54 | int fmt; | ||
55 | struct chsc_response_struct scub; | ||
56 | }; | ||
57 | |||
58 | struct conf_id { | ||
59 | int m; | ||
60 | __u8 cssid; | ||
61 | __u8 ssid; | ||
62 | }; | ||
63 | |||
64 | struct chsc_conf_info { | ||
65 | struct conf_id id; | ||
66 | int fmt; | ||
67 | struct chsc_response_struct scid; | ||
68 | }; | ||
69 | |||
70 | struct ccl_parm_chpid { | ||
71 | int m; | ||
72 | struct chp_id chp; | ||
73 | }; | ||
74 | |||
75 | struct ccl_parm_cssids { | ||
76 | __u8 f_cssid; | ||
77 | __u8 l_cssid; | ||
78 | }; | ||
79 | |||
80 | struct chsc_comp_list { | ||
81 | struct { | ||
82 | enum { | ||
83 | CCL_CU_ON_CHP = 1, | ||
84 | CCL_CHP_TYPE_CAP = 2, | ||
85 | CCL_CSS_IMG = 4, | ||
86 | CCL_CSS_IMG_CONF_CHAR = 5, | ||
87 | CCL_IOP_CHP = 6, | ||
88 | } ctype; | ||
89 | int fmt; | ||
90 | struct ccl_parm_chpid chpid; | ||
91 | struct ccl_parm_cssids cssids; | ||
92 | } req; | ||
93 | struct chsc_response_struct sccl; | ||
94 | }; | ||
95 | |||
96 | struct chsc_dcal { | ||
97 | struct { | ||
98 | enum { | ||
99 | DCAL_CSS_IID_PN = 4, | ||
100 | } atype; | ||
101 | __u32 list_parm[2]; | ||
102 | int fmt; | ||
103 | } req; | ||
104 | struct chsc_response_struct sdcal; | ||
105 | }; | ||
106 | |||
107 | struct chsc_cpd_info { | ||
108 | struct chp_id chpid; | ||
109 | int m; | ||
110 | int fmt; | ||
111 | int rfmt; | ||
112 | int c; | ||
113 | struct chsc_response_struct chpdb; | ||
114 | }; | ||
115 | |||
116 | #define CHSC_IOCTL_MAGIC 'c' | ||
117 | |||
118 | #define CHSC_START _IOWR(CHSC_IOCTL_MAGIC, 0x81, struct chsc_async_area) | ||
119 | #define CHSC_INFO_CHANNEL_PATH _IOWR(CHSC_IOCTL_MAGIC, 0x82, \ | ||
120 | struct chsc_chp_cd) | ||
121 | #define CHSC_INFO_CU _IOWR(CHSC_IOCTL_MAGIC, 0x83, struct chsc_cu_cd) | ||
122 | #define CHSC_INFO_SCH_CU _IOWR(CHSC_IOCTL_MAGIC, 0x84, struct chsc_sch_cud) | ||
123 | #define CHSC_INFO_CI _IOWR(CHSC_IOCTL_MAGIC, 0x85, struct chsc_conf_info) | ||
124 | #define CHSC_INFO_CCL _IOWR(CHSC_IOCTL_MAGIC, 0x86, struct chsc_comp_list) | ||
125 | #define CHSC_INFO_CPD _IOWR(CHSC_IOCTL_MAGIC, 0x87, struct chsc_cpd_info) | ||
126 | #define CHSC_INFO_DCAL _IOWR(CHSC_IOCTL_MAGIC, 0x88, struct chsc_dcal) | ||
127 | |||
128 | #endif | ||
diff --git a/arch/s390/include/asm/cmb.h b/arch/s390/include/asm/cmb.h index 39ae03294794..806eac12e3bd 100644 --- a/arch/s390/include/asm/cmb.h +++ b/arch/s390/include/asm/cmb.h | |||
@@ -1,61 +1,12 @@ | |||
1 | #ifndef S390_CMB_H | 1 | #ifndef S390_CMB_H |
2 | #define S390_CMB_H | 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 | struct ccw_device; | 6 | struct ccw_device; |
55 | extern int enable_cmf(struct ccw_device *cdev); | 7 | extern int enable_cmf(struct ccw_device *cdev); |
56 | extern int disable_cmf(struct ccw_device *cdev); | 8 | extern int disable_cmf(struct ccw_device *cdev); |
57 | extern u64 cmf_read(struct ccw_device *cdev, int index); | 9 | extern u64 cmf_read(struct ccw_device *cdev, int index); |
58 | extern int cmf_readall(struct ccw_device *cdev, struct cmbdata *data); | 10 | extern int cmf_readall(struct ccw_device *cdev, struct cmbdata *data); |
59 | 11 | ||
60 | #endif /* __KERNEL__ */ | ||
61 | #endif /* S390_CMB_H */ | 12 | #endif /* S390_CMB_H */ |
diff --git a/arch/s390/include/asm/dasd.h b/arch/s390/include/asm/dasd.h deleted file mode 100644 index 38eca3ba40e2..000000000000 --- a/arch/s390/include/asm/dasd.h +++ /dev/null | |||
@@ -1,291 +0,0 @@ | |||
1 | /* | ||
2 | * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com> | ||
3 | * Bugreports.to..: <Linux390@de.ibm.com> | ||
4 | * Copyright IBM Corp. 1999, 2000 | ||
5 | * EMC Symmetrix ioctl Copyright EMC Corporation, 2008 | ||
6 | * Author.........: Nigel Hislop <hislop_nigel@emc.com> | ||
7 | * | ||
8 | * This file is the interface of the DASD device driver, which is exported to user space | ||
9 | * any future changes wrt the API will result in a change of the APIVERSION reported | ||
10 | * to userspace by the DASDAPIVER-ioctl | ||
11 | * | ||
12 | */ | ||
13 | |||
14 | #ifndef DASD_H | ||
15 | #define DASD_H | ||
16 | #include <linux/types.h> | ||
17 | #include <linux/ioctl.h> | ||
18 | |||
19 | #define DASD_IOCTL_LETTER 'D' | ||
20 | |||
21 | #define DASD_API_VERSION 6 | ||
22 | |||
23 | /* | ||
24 | * struct dasd_information2_t | ||
25 | * represents any data about the device, which is visible to userspace. | ||
26 | * including foramt and featueres. | ||
27 | */ | ||
28 | typedef struct dasd_information2_t { | ||
29 | unsigned int devno; /* S/390 devno */ | ||
30 | unsigned int real_devno; /* for aliases */ | ||
31 | unsigned int schid; /* S/390 subchannel identifier */ | ||
32 | unsigned int cu_type : 16; /* from SenseID */ | ||
33 | unsigned int cu_model : 8; /* from SenseID */ | ||
34 | unsigned int dev_type : 16; /* from SenseID */ | ||
35 | unsigned int dev_model : 8; /* from SenseID */ | ||
36 | unsigned int open_count; | ||
37 | unsigned int req_queue_len; | ||
38 | unsigned int chanq_len; /* length of chanq */ | ||
39 | char type[4]; /* from discipline.name, 'none' for unknown */ | ||
40 | unsigned int status; /* current device level */ | ||
41 | unsigned int label_block; /* where to find the VOLSER */ | ||
42 | unsigned int FBA_layout; /* fixed block size (like AIXVOL) */ | ||
43 | unsigned int characteristics_size; | ||
44 | unsigned int confdata_size; | ||
45 | char characteristics[64]; /* from read_device_characteristics */ | ||
46 | char configuration_data[256]; /* from read_configuration_data */ | ||
47 | unsigned int format; /* format info like formatted/cdl/ldl/... */ | ||
48 | unsigned int features; /* dasd features like 'ro',... */ | ||
49 | unsigned int reserved0; /* reserved for further use ,... */ | ||
50 | unsigned int reserved1; /* reserved for further use ,... */ | ||
51 | unsigned int reserved2; /* reserved for further use ,... */ | ||
52 | unsigned int reserved3; /* reserved for further use ,... */ | ||
53 | unsigned int reserved4; /* reserved for further use ,... */ | ||
54 | unsigned int reserved5; /* reserved for further use ,... */ | ||
55 | unsigned int reserved6; /* reserved for further use ,... */ | ||
56 | unsigned int reserved7; /* reserved for further use ,... */ | ||
57 | } dasd_information2_t; | ||
58 | |||
59 | /* | ||
60 | * values to be used for dasd_information_t.format | ||
61 | * 0x00: NOT formatted | ||
62 | * 0x01: Linux disc layout | ||
63 | * 0x02: Common disc layout | ||
64 | */ | ||
65 | #define DASD_FORMAT_NONE 0 | ||
66 | #define DASD_FORMAT_LDL 1 | ||
67 | #define DASD_FORMAT_CDL 2 | ||
68 | /* | ||
69 | * values to be used for dasd_information_t.features | ||
70 | * 0x00: default features | ||
71 | * 0x01: readonly (ro) | ||
72 | * 0x02: use diag discipline (diag) | ||
73 | * 0x04: set the device initially online (internal use only) | ||
74 | * 0x08: enable ERP related logging | ||
75 | * 0x20: give access to raw eckd data | ||
76 | */ | ||
77 | #define DASD_FEATURE_DEFAULT 0x00 | ||
78 | #define DASD_FEATURE_READONLY 0x01 | ||
79 | #define DASD_FEATURE_USEDIAG 0x02 | ||
80 | #define DASD_FEATURE_INITIAL_ONLINE 0x04 | ||
81 | #define DASD_FEATURE_ERPLOG 0x08 | ||
82 | #define DASD_FEATURE_FAILFAST 0x10 | ||
83 | #define DASD_FEATURE_FAILONSLCK 0x20 | ||
84 | #define DASD_FEATURE_USERAW 0x40 | ||
85 | |||
86 | #define DASD_PARTN_BITS 2 | ||
87 | |||
88 | /* | ||
89 | * struct dasd_information_t | ||
90 | * represents any data about the data, which is visible to userspace | ||
91 | */ | ||
92 | typedef struct dasd_information_t { | ||
93 | unsigned int devno; /* S/390 devno */ | ||
94 | unsigned int real_devno; /* for aliases */ | ||
95 | unsigned int schid; /* S/390 subchannel identifier */ | ||
96 | unsigned int cu_type : 16; /* from SenseID */ | ||
97 | unsigned int cu_model : 8; /* from SenseID */ | ||
98 | unsigned int dev_type : 16; /* from SenseID */ | ||
99 | unsigned int dev_model : 8; /* from SenseID */ | ||
100 | unsigned int open_count; | ||
101 | unsigned int req_queue_len; | ||
102 | unsigned int chanq_len; /* length of chanq */ | ||
103 | char type[4]; /* from discipline.name, 'none' for unknown */ | ||
104 | unsigned int status; /* current device level */ | ||
105 | unsigned int label_block; /* where to find the VOLSER */ | ||
106 | unsigned int FBA_layout; /* fixed block size (like AIXVOL) */ | ||
107 | unsigned int characteristics_size; | ||
108 | unsigned int confdata_size; | ||
109 | char characteristics[64]; /* from read_device_characteristics */ | ||
110 | char configuration_data[256]; /* from read_configuration_data */ | ||
111 | } dasd_information_t; | ||
112 | |||
113 | /* | ||
114 | * Read Subsystem Data - Performance Statistics | ||
115 | */ | ||
116 | typedef struct dasd_rssd_perf_stats_t { | ||
117 | unsigned char invalid:1; | ||
118 | unsigned char format:3; | ||
119 | unsigned char data_format:4; | ||
120 | unsigned char unit_address; | ||
121 | unsigned short device_status; | ||
122 | unsigned int nr_read_normal; | ||
123 | unsigned int nr_read_normal_hits; | ||
124 | unsigned int nr_write_normal; | ||
125 | unsigned int nr_write_fast_normal_hits; | ||
126 | unsigned int nr_read_seq; | ||
127 | unsigned int nr_read_seq_hits; | ||
128 | unsigned int nr_write_seq; | ||
129 | unsigned int nr_write_fast_seq_hits; | ||
130 | unsigned int nr_read_cache; | ||
131 | unsigned int nr_read_cache_hits; | ||
132 | unsigned int nr_write_cache; | ||
133 | unsigned int nr_write_fast_cache_hits; | ||
134 | unsigned int nr_inhibit_cache; | ||
135 | unsigned int nr_bybass_cache; | ||
136 | unsigned int nr_seq_dasd_to_cache; | ||
137 | unsigned int nr_dasd_to_cache; | ||
138 | unsigned int nr_cache_to_dasd; | ||
139 | unsigned int nr_delayed_fast_write; | ||
140 | unsigned int nr_normal_fast_write; | ||
141 | unsigned int nr_seq_fast_write; | ||
142 | unsigned int nr_cache_miss; | ||
143 | unsigned char status2; | ||
144 | unsigned int nr_quick_write_promotes; | ||
145 | unsigned char reserved; | ||
146 | unsigned short ssid; | ||
147 | unsigned char reseved2[96]; | ||
148 | } __attribute__((packed)) dasd_rssd_perf_stats_t; | ||
149 | |||
150 | /* | ||
151 | * struct profile_info_t | ||
152 | * holds the profinling information | ||
153 | */ | ||
154 | typedef struct dasd_profile_info_t { | ||
155 | unsigned int dasd_io_reqs; /* number of requests processed at all */ | ||
156 | unsigned int dasd_io_sects; /* number of sectors processed at all */ | ||
157 | unsigned int dasd_io_secs[32]; /* histogram of request's sizes */ | ||
158 | unsigned int dasd_io_times[32]; /* histogram of requests's times */ | ||
159 | unsigned int dasd_io_timps[32]; /* histogram of requests's times per sector */ | ||
160 | unsigned int dasd_io_time1[32]; /* histogram of time from build to start */ | ||
161 | unsigned int dasd_io_time2[32]; /* histogram of time from start to irq */ | ||
162 | unsigned int dasd_io_time2ps[32]; /* histogram of time from start to irq */ | ||
163 | unsigned int dasd_io_time3[32]; /* histogram of time from irq to end */ | ||
164 | unsigned int dasd_io_nr_req[32]; /* histogram of # of requests in chanq */ | ||
165 | } dasd_profile_info_t; | ||
166 | |||
167 | /* | ||
168 | * struct format_data_t | ||
169 | * represents all data necessary to format a dasd | ||
170 | */ | ||
171 | typedef struct format_data_t { | ||
172 | unsigned int start_unit; /* from track */ | ||
173 | unsigned int stop_unit; /* to track */ | ||
174 | unsigned int blksize; /* sectorsize */ | ||
175 | unsigned int intensity; | ||
176 | } format_data_t; | ||
177 | |||
178 | /* | ||
179 | * values to be used for format_data_t.intensity | ||
180 | * 0/8: normal format | ||
181 | * 1/9: also write record zero | ||
182 | * 3/11: also write home address | ||
183 | * 4/12: invalidate track | ||
184 | */ | ||
185 | #define DASD_FMT_INT_FMT_R0 1 /* write record zero */ | ||
186 | #define DASD_FMT_INT_FMT_HA 2 /* write home address, also set FMT_R0 ! */ | ||
187 | #define DASD_FMT_INT_INVAL 4 /* invalidate tracks */ | ||
188 | #define DASD_FMT_INT_COMPAT 8 /* use OS/390 compatible disk layout */ | ||
189 | |||
190 | |||
191 | /* | ||
192 | * struct attrib_data_t | ||
193 | * represents the operation (cache) bits for the device. | ||
194 | * Used in DE to influence caching of the DASD. | ||
195 | */ | ||
196 | typedef struct attrib_data_t { | ||
197 | unsigned char operation:3; /* cache operation mode */ | ||
198 | unsigned char reserved:5; /* cache operation mode */ | ||
199 | __u16 nr_cyl; /* no of cyliners for read ahaed */ | ||
200 | __u8 reserved2[29]; /* for future use */ | ||
201 | } __attribute__ ((packed)) attrib_data_t; | ||
202 | |||
203 | /* definition of operation (cache) bits within attributes of DE */ | ||
204 | #define DASD_NORMAL_CACHE 0x0 | ||
205 | #define DASD_BYPASS_CACHE 0x1 | ||
206 | #define DASD_INHIBIT_LOAD 0x2 | ||
207 | #define DASD_SEQ_ACCESS 0x3 | ||
208 | #define DASD_SEQ_PRESTAGE 0x4 | ||
209 | #define DASD_REC_ACCESS 0x5 | ||
210 | |||
211 | /* | ||
212 | * Perform EMC Symmetrix I/O | ||
213 | */ | ||
214 | typedef struct dasd_symmio_parms { | ||
215 | unsigned char reserved[8]; /* compat with older releases */ | ||
216 | unsigned long long psf_data; /* char * cast to u64 */ | ||
217 | unsigned long long rssd_result; /* char * cast to u64 */ | ||
218 | int psf_data_len; | ||
219 | int rssd_result_len; | ||
220 | } __attribute__ ((packed)) dasd_symmio_parms_t; | ||
221 | |||
222 | /* | ||
223 | * Data returned by Sense Path Group ID (SNID) | ||
224 | */ | ||
225 | struct dasd_snid_data { | ||
226 | struct { | ||
227 | __u8 group:2; | ||
228 | __u8 reserve:2; | ||
229 | __u8 mode:1; | ||
230 | __u8 res:3; | ||
231 | } __attribute__ ((packed)) path_state; | ||
232 | __u8 pgid[11]; | ||
233 | } __attribute__ ((packed)); | ||
234 | |||
235 | struct dasd_snid_ioctl_data { | ||
236 | struct dasd_snid_data data; | ||
237 | __u8 path_mask; | ||
238 | } __attribute__ ((packed)); | ||
239 | |||
240 | |||
241 | /******************************************************************************** | ||
242 | * SECTION: Definition of IOCTLs | ||
243 | * | ||
244 | * Here ist how the ioctl-nr should be used: | ||
245 | * 0 - 31 DASD driver itself | ||
246 | * 32 - 239 still open | ||
247 | * 240 - 255 reserved for EMC | ||
248 | *******************************************************************************/ | ||
249 | |||
250 | /* Disable the volume (for Linux) */ | ||
251 | #define BIODASDDISABLE _IO(DASD_IOCTL_LETTER,0) | ||
252 | /* Enable the volume (for Linux) */ | ||
253 | #define BIODASDENABLE _IO(DASD_IOCTL_LETTER,1) | ||
254 | /* Issue a reserve/release command, rsp. */ | ||
255 | #define BIODASDRSRV _IO(DASD_IOCTL_LETTER,2) /* reserve */ | ||
256 | #define BIODASDRLSE _IO(DASD_IOCTL_LETTER,3) /* release */ | ||
257 | #define BIODASDSLCK _IO(DASD_IOCTL_LETTER,4) /* steal lock */ | ||
258 | /* reset profiling information of a device */ | ||
259 | #define BIODASDPRRST _IO(DASD_IOCTL_LETTER,5) | ||
260 | /* Quiesce IO on device */ | ||
261 | #define BIODASDQUIESCE _IO(DASD_IOCTL_LETTER,6) | ||
262 | /* Resume IO on device */ | ||
263 | #define BIODASDRESUME _IO(DASD_IOCTL_LETTER,7) | ||
264 | |||
265 | |||
266 | /* retrieve API version number */ | ||
267 | #define DASDAPIVER _IOR(DASD_IOCTL_LETTER,0,int) | ||
268 | /* Get information on a dasd device */ | ||
269 | #define BIODASDINFO _IOR(DASD_IOCTL_LETTER,1,dasd_information_t) | ||
270 | /* retrieve profiling information of a device */ | ||
271 | #define BIODASDPRRD _IOR(DASD_IOCTL_LETTER,2,dasd_profile_info_t) | ||
272 | /* Get information on a dasd device (enhanced) */ | ||
273 | #define BIODASDINFO2 _IOR(DASD_IOCTL_LETTER,3,dasd_information2_t) | ||
274 | /* Performance Statistics Read */ | ||
275 | #define BIODASDPSRD _IOR(DASD_IOCTL_LETTER,4,dasd_rssd_perf_stats_t) | ||
276 | /* Get Attributes (cache operations) */ | ||
277 | #define BIODASDGATTR _IOR(DASD_IOCTL_LETTER,5,attrib_data_t) | ||
278 | |||
279 | |||
280 | /* #define BIODASDFORMAT _IOW(IOCTL_LETTER,0,format_data_t) , deprecated */ | ||
281 | #define BIODASDFMT _IOW(DASD_IOCTL_LETTER,1,format_data_t) | ||
282 | /* Set Attributes (cache operations) */ | ||
283 | #define BIODASDSATTR _IOW(DASD_IOCTL_LETTER,2,attrib_data_t) | ||
284 | |||
285 | /* Get Sense Path Group ID (SNID) data */ | ||
286 | #define BIODASDSNID _IOWR(DASD_IOCTL_LETTER, 1, struct dasd_snid_ioctl_data) | ||
287 | |||
288 | #define BIODASDSYMMIO _IOWR(DASD_IOCTL_LETTER, 240, dasd_symmio_parms_t) | ||
289 | |||
290 | #endif /* DASD_H */ | ||
291 | |||
diff --git a/arch/s390/include/asm/debug.h b/arch/s390/include/asm/debug.h index f39677e6ccde..188c5052a20a 100644 --- a/arch/s390/include/asm/debug.h +++ b/arch/s390/include/asm/debug.h | |||
@@ -3,39 +3,14 @@ | |||
3 | * | 3 | * |
4 | * Copyright IBM Corp. 1999, 2000 | 4 | * Copyright IBM Corp. 1999, 2000 |
5 | */ | 5 | */ |
6 | |||
7 | #ifndef DEBUG_H | 6 | #ifndef DEBUG_H |
8 | #define DEBUG_H | 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 | #include <linux/string.h> | 9 | #include <linux/string.h> |
36 | #include <linux/spinlock.h> | 10 | #include <linux/spinlock.h> |
37 | #include <linux/kernel.h> | 11 | #include <linux/kernel.h> |
38 | #include <linux/time.h> | 12 | #include <linux/time.h> |
13 | #include <uapi/asm/debug.h> | ||
39 | 14 | ||
40 | #define DEBUG_MAX_LEVEL 6 /* debug levels range from 0 to 6 */ | 15 | #define DEBUG_MAX_LEVEL 6 /* debug levels range from 0 to 6 */ |
41 | #define DEBUG_OFF_LEVEL -1 /* level where debug is switched off */ | 16 | #define DEBUG_OFF_LEVEL -1 /* level where debug is switched off */ |
@@ -254,5 +229,4 @@ int debug_unregister_view(debug_info_t* id, struct debug_view* view); | |||
254 | #define PRINT_FATAL(x...) printk ( KERN_DEBUG PRINTK_HEADER x ) | 229 | #define PRINT_FATAL(x...) printk ( KERN_DEBUG PRINTK_HEADER x ) |
255 | #endif /* DASD_DEBUG */ | 230 | #endif /* DASD_DEBUG */ |
256 | 231 | ||
257 | #endif /* __KERNEL__ */ | ||
258 | #endif /* DEBUG_H */ | 232 | #endif /* DEBUG_H */ |
diff --git a/arch/s390/include/asm/errno.h b/arch/s390/include/asm/errno.h deleted file mode 100644 index 395e97d8005e..000000000000 --- a/arch/s390/include/asm/errno.h +++ /dev/null | |||
@@ -1,11 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | */ | ||
5 | |||
6 | #ifndef _S390_ERRNO_H | ||
7 | #define _S390_ERRNO_H | ||
8 | |||
9 | #include <asm-generic/errno.h> | ||
10 | |||
11 | #endif | ||
diff --git a/arch/s390/include/asm/fcntl.h b/arch/s390/include/asm/fcntl.h deleted file mode 100644 index 46ab12db5739..000000000000 --- a/arch/s390/include/asm/fcntl.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-generic/fcntl.h> | ||
diff --git a/arch/s390/include/asm/ioctl.h b/arch/s390/include/asm/ioctl.h deleted file mode 100644 index b279fe06dfe5..000000000000 --- a/arch/s390/include/asm/ioctl.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-generic/ioctl.h> | ||
diff --git a/arch/s390/include/asm/ioctls.h b/arch/s390/include/asm/ioctls.h deleted file mode 100644 index 960a4c1ebdf1..000000000000 --- a/arch/s390/include/asm/ioctls.h +++ /dev/null | |||
@@ -1,8 +0,0 @@ | |||
1 | #ifndef __ARCH_S390_IOCTLS_H__ | ||
2 | #define __ARCH_S390_IOCTLS_H__ | ||
3 | |||
4 | #define FIOQSIZE 0x545E | ||
5 | |||
6 | #include <asm-generic/ioctls.h> | ||
7 | |||
8 | #endif | ||
diff --git a/arch/s390/include/asm/ipcbuf.h b/arch/s390/include/asm/ipcbuf.h deleted file mode 100644 index 37f293d12c8f..000000000000 --- a/arch/s390/include/asm/ipcbuf.h +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | #ifndef __S390_IPCBUF_H__ | ||
2 | #define __S390_IPCBUF_H__ | ||
3 | |||
4 | /* | ||
5 | * The user_ipc_perm structure for S/390 architecture. | ||
6 | * Note extra padding because this structure is passed back and forth | ||
7 | * between kernel and user space. | ||
8 | * | ||
9 | * Pad space is left for: | ||
10 | * - 32-bit mode_t and seq | ||
11 | * - 2 miscellaneous 32-bit values | ||
12 | */ | ||
13 | |||
14 | struct ipc64_perm | ||
15 | { | ||
16 | __kernel_key_t key; | ||
17 | __kernel_uid32_t uid; | ||
18 | __kernel_gid32_t gid; | ||
19 | __kernel_uid32_t cuid; | ||
20 | __kernel_gid32_t cgid; | ||
21 | __kernel_mode_t mode; | ||
22 | unsigned short __pad1; | ||
23 | unsigned short seq; | ||
24 | #ifndef __s390x__ | ||
25 | unsigned short __pad2; | ||
26 | #endif /* ! __s390x__ */ | ||
27 | unsigned long __unused1; | ||
28 | unsigned long __unused2; | ||
29 | }; | ||
30 | |||
31 | #endif /* __S390_IPCBUF_H__ */ | ||
diff --git a/arch/s390/include/asm/kvm.h b/arch/s390/include/asm/kvm.h deleted file mode 100644 index d25da598ec62..000000000000 --- a/arch/s390/include/asm/kvm.h +++ /dev/null | |||
@@ -1,60 +0,0 @@ | |||
1 | #ifndef __LINUX_KVM_S390_H | ||
2 | #define __LINUX_KVM_S390_H | ||
3 | /* | ||
4 | * KVM s390 specific structures and definitions | ||
5 | * | ||
6 | * Copyright IBM Corp. 2008 | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License (version 2 only) | ||
10 | * as published by the Free Software Foundation. | ||
11 | * | ||
12 | * Author(s): Carsten Otte <cotte@de.ibm.com> | ||
13 | * Christian Borntraeger <borntraeger@de.ibm.com> | ||
14 | */ | ||
15 | #include <linux/types.h> | ||
16 | |||
17 | #define __KVM_S390 | ||
18 | |||
19 | /* for KVM_GET_REGS and KVM_SET_REGS */ | ||
20 | struct kvm_regs { | ||
21 | /* general purpose regs for s390 */ | ||
22 | __u64 gprs[16]; | ||
23 | }; | ||
24 | |||
25 | /* for KVM_GET_SREGS and KVM_SET_SREGS */ | ||
26 | struct kvm_sregs { | ||
27 | __u32 acrs[16]; | ||
28 | __u64 crs[16]; | ||
29 | }; | ||
30 | |||
31 | /* for KVM_GET_FPU and KVM_SET_FPU */ | ||
32 | struct kvm_fpu { | ||
33 | __u32 fpc; | ||
34 | __u64 fprs[16]; | ||
35 | }; | ||
36 | |||
37 | struct kvm_debug_exit_arch { | ||
38 | }; | ||
39 | |||
40 | /* for KVM_SET_GUEST_DEBUG */ | ||
41 | struct kvm_guest_debug_arch { | ||
42 | }; | ||
43 | |||
44 | #define KVM_SYNC_PREFIX (1UL << 0) | ||
45 | #define KVM_SYNC_GPRS (1UL << 1) | ||
46 | #define KVM_SYNC_ACRS (1UL << 2) | ||
47 | #define KVM_SYNC_CRS (1UL << 3) | ||
48 | /* definition of registers in kvm_run */ | ||
49 | struct kvm_sync_regs { | ||
50 | __u64 prefix; /* prefix register */ | ||
51 | __u64 gprs[16]; /* general purpose registers */ | ||
52 | __u32 acrs[16]; /* access registers */ | ||
53 | __u64 crs[16]; /* control registers */ | ||
54 | }; | ||
55 | |||
56 | #define KVM_REG_S390_TODPR (KVM_REG_S390 | KVM_REG_SIZE_U32 | 0x1) | ||
57 | #define KVM_REG_S390_EPOCHDIFF (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x2) | ||
58 | #define KVM_REG_S390_CPU_TIMER (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x3) | ||
59 | #define KVM_REG_S390_CLOCK_COMP (KVM_REG_S390 | KVM_REG_SIZE_U64 | 0x4) | ||
60 | #endif | ||
diff --git a/arch/s390/include/asm/kvm_para.h b/arch/s390/include/asm/kvm_para.h index da44867de60f..e0f842308a68 100644 --- a/arch/s390/include/asm/kvm_para.h +++ b/arch/s390/include/asm/kvm_para.h | |||
@@ -9,12 +9,6 @@ | |||
9 | * | 9 | * |
10 | * Author(s): Christian Borntraeger <borntraeger@de.ibm.com> | 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 | * Hypercalls for KVM on s390. The calling convention is similar to the | 13 | * Hypercalls for KVM on s390. The calling convention is similar to the |
20 | * s390 ABI, so we use R2-R6 for parameters 1-5. In addition we use R1 | 14 | * s390 ABI, so we use R2-R6 for parameters 1-5. In addition we use R1 |
@@ -29,6 +23,12 @@ | |||
29 | * | 23 | * |
30 | * This work is licensed under the terms of the GNU GPL, version 2. | 24 | * This work is licensed under the terms of the GNU GPL, version 2. |
31 | */ | 25 | */ |
26 | #ifndef __S390_KVM_PARA_H | ||
27 | #define __S390_KVM_PARA_H | ||
28 | |||
29 | #include <uapi/asm/kvm_para.h> | ||
30 | |||
31 | |||
32 | 32 | ||
33 | static inline long kvm_hypercall0(unsigned long nr) | 33 | static inline long kvm_hypercall0(unsigned long nr) |
34 | { | 34 | { |
@@ -154,6 +154,4 @@ static inline bool kvm_check_and_clear_guest_paused(void) | |||
154 | return false; | 154 | return false; |
155 | } | 155 | } |
156 | 156 | ||
157 | #endif | ||
158 | |||
159 | #endif /* __S390_KVM_PARA_H */ | 157 | #endif /* __S390_KVM_PARA_H */ |
diff --git a/arch/s390/include/asm/kvm_virtio.h b/arch/s390/include/asm/kvm_virtio.h deleted file mode 100644 index 44a438ca9e72..000000000000 --- a/arch/s390/include/asm/kvm_virtio.h +++ /dev/null | |||
@@ -1,64 +0,0 @@ | |||
1 | /* | ||
2 | * definition for virtio for kvm on s390 | ||
3 | * | ||
4 | * Copyright IBM Corp. 2008 | ||
5 | * | ||
6 | * This program is free software; you can redistribute it and/or modify | ||
7 | * it under the terms of the GNU General Public License (version 2 only) | ||
8 | * as published by the Free Software Foundation. | ||
9 | * | ||
10 | * Author(s): Christian Borntraeger <borntraeger@de.ibm.com> | ||
11 | */ | ||
12 | |||
13 | #ifndef __KVM_S390_VIRTIO_H | ||
14 | #define __KVM_S390_VIRTIO_H | ||
15 | |||
16 | #include <linux/types.h> | ||
17 | |||
18 | struct kvm_device_desc { | ||
19 | /* The device type: console, network, disk etc. Type 0 terminates. */ | ||
20 | __u8 type; | ||
21 | /* The number of virtqueues (first in config array) */ | ||
22 | __u8 num_vq; | ||
23 | /* | ||
24 | * The number of bytes of feature bits. Multiply by 2: one for host | ||
25 | * features and one for guest acknowledgements. | ||
26 | */ | ||
27 | __u8 feature_len; | ||
28 | /* The number of bytes of the config array after virtqueues. */ | ||
29 | __u8 config_len; | ||
30 | /* A status byte, written by the Guest. */ | ||
31 | __u8 status; | ||
32 | __u8 config[0]; | ||
33 | }; | ||
34 | |||
35 | /* | ||
36 | * This is how we expect the device configuration field for a virtqueue | ||
37 | * to be laid out in config space. | ||
38 | */ | ||
39 | struct kvm_vqconfig { | ||
40 | /* The token returned with an interrupt. Set by the guest */ | ||
41 | __u64 token; | ||
42 | /* The address of the virtio ring */ | ||
43 | __u64 address; | ||
44 | /* The number of entries in the virtio_ring */ | ||
45 | __u16 num; | ||
46 | |||
47 | }; | ||
48 | |||
49 | #define KVM_S390_VIRTIO_NOTIFY 0 | ||
50 | #define KVM_S390_VIRTIO_RESET 1 | ||
51 | #define KVM_S390_VIRTIO_SET_STATUS 2 | ||
52 | |||
53 | /* The alignment to use between consumer and producer parts of vring. | ||
54 | * This is pagesize for historical reasons. */ | ||
55 | #define KVM_S390_VIRTIO_RING_ALIGN 4096 | ||
56 | |||
57 | |||
58 | /* These values are supposed to be in ext_params on an interrupt */ | ||
59 | #define VIRTIO_PARAM_MASK 0xff | ||
60 | #define VIRTIO_PARAM_VRING_INTERRUPT 0x0 | ||
61 | #define VIRTIO_PARAM_CONFIG_CHANGED 0x1 | ||
62 | #define VIRTIO_PARAM_DEV_ADD 0x2 | ||
63 | |||
64 | #endif | ||
diff --git a/arch/s390/include/asm/mman.h b/arch/s390/include/asm/mman.h index abc1932ac4e1..0e47a576d666 100644 --- a/arch/s390/include/asm/mman.h +++ b/arch/s390/include/asm/mman.h | |||
@@ -3,17 +3,13 @@ | |||
3 | * | 3 | * |
4 | * Derived from "include/asm-i386/mman.h" | 4 | * Derived from "include/asm-i386/mman.h" |
5 | */ | 5 | */ |
6 | |||
7 | #ifndef __S390_MMAN_H__ | 6 | #ifndef __S390_MMAN_H__ |
8 | #define __S390_MMAN_H__ | 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 | #if !defined(__ASSEMBLY__) && defined(CONFIG_64BIT) | 11 | #if !defined(__ASSEMBLY__) && defined(CONFIG_64BIT) |
14 | int s390_mmap_check(unsigned long addr, unsigned long len); | 12 | int s390_mmap_check(unsigned long addr, unsigned long len); |
15 | #define arch_mmap_check(addr,len,flags) s390_mmap_check(addr,len) | 13 | #define arch_mmap_check(addr,len,flags) s390_mmap_check(addr,len) |
16 | #endif | 14 | #endif |
17 | #endif | ||
18 | |||
19 | #endif /* __S390_MMAN_H__ */ | 15 | #endif /* __S390_MMAN_H__ */ |
diff --git a/arch/s390/include/asm/monwriter.h b/arch/s390/include/asm/monwriter.h deleted file mode 100644 index f845c8e2f861..000000000000 --- a/arch/s390/include/asm/monwriter.h +++ /dev/null | |||
@@ -1,31 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright IBM Corp. 2006 | ||
3 | * Character device driver for writing z/VM APPLDATA monitor records | ||
4 | * Version 1.0 | ||
5 | * Author(s): Melissa Howland <melissah@us.ibm.com> | ||
6 | * | ||
7 | */ | ||
8 | |||
9 | #ifndef _ASM_390_MONWRITER_H | ||
10 | #define _ASM_390_MONWRITER_H | ||
11 | |||
12 | /* mon_function values */ | ||
13 | #define MONWRITE_START_INTERVAL 0x00 /* start interval recording */ | ||
14 | #define MONWRITE_STOP_INTERVAL 0x01 /* stop interval or config recording */ | ||
15 | #define MONWRITE_GEN_EVENT 0x02 /* generate event record */ | ||
16 | #define MONWRITE_START_CONFIG 0x03 /* start configuration recording */ | ||
17 | |||
18 | /* the header the app uses in its write() data */ | ||
19 | struct monwrite_hdr { | ||
20 | unsigned char mon_function; | ||
21 | unsigned short applid; | ||
22 | unsigned char record_num; | ||
23 | unsigned short version; | ||
24 | unsigned short release; | ||
25 | unsigned short mod_level; | ||
26 | unsigned short datalen; | ||
27 | unsigned char hdrlen; | ||
28 | |||
29 | } __attribute__((packed)); | ||
30 | |||
31 | #endif /* _ASM_390_MONWRITER_H */ | ||
diff --git a/arch/s390/include/asm/msgbuf.h b/arch/s390/include/asm/msgbuf.h deleted file mode 100644 index 1bbdee927924..000000000000 --- a/arch/s390/include/asm/msgbuf.h +++ /dev/null | |||
@@ -1,37 +0,0 @@ | |||
1 | #ifndef _S390_MSGBUF_H | ||
2 | #define _S390_MSGBUF_H | ||
3 | |||
4 | /* | ||
5 | * The msqid64_ds structure for S/390 architecture. | ||
6 | * Note extra padding because this structure is passed back and forth | ||
7 | * between kernel and user space. | ||
8 | * | ||
9 | * Pad space is left for: | ||
10 | * - 64-bit time_t to solve y2038 problem | ||
11 | * - 2 miscellaneous 32-bit values | ||
12 | */ | ||
13 | |||
14 | struct msqid64_ds { | ||
15 | struct ipc64_perm msg_perm; | ||
16 | __kernel_time_t msg_stime; /* last msgsnd time */ | ||
17 | #ifndef __s390x__ | ||
18 | unsigned long __unused1; | ||
19 | #endif /* ! __s390x__ */ | ||
20 | __kernel_time_t msg_rtime; /* last msgrcv time */ | ||
21 | #ifndef __s390x__ | ||
22 | unsigned long __unused2; | ||
23 | #endif /* ! __s390x__ */ | ||
24 | __kernel_time_t msg_ctime; /* last change time */ | ||
25 | #ifndef __s390x__ | ||
26 | unsigned long __unused3; | ||
27 | #endif /* ! __s390x__ */ | ||
28 | unsigned long msg_cbytes; /* current number of bytes on queue */ | ||
29 | unsigned long msg_qnum; /* number of messages in queue */ | ||
30 | unsigned long msg_qbytes; /* max number of bytes on queue */ | ||
31 | __kernel_pid_t msg_lspid; /* pid of last msgsnd */ | ||
32 | __kernel_pid_t msg_lrpid; /* last receive pid */ | ||
33 | unsigned long __unused4; | ||
34 | unsigned long __unused5; | ||
35 | }; | ||
36 | |||
37 | #endif /* _S390_MSGBUF_H */ | ||
diff --git a/arch/s390/include/asm/param.h b/arch/s390/include/asm/param.h deleted file mode 100644 index c616821bf2ac..000000000000 --- a/arch/s390/include/asm/param.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef _ASMS390_PARAM_H | ||
2 | #define _ASMS390_PARAM_H | ||
3 | |||
4 | #include <asm-generic/param.h> | ||
5 | |||
6 | #endif /* _ASMS390_PARAM_H */ | ||
diff --git a/arch/s390/include/asm/poll.h b/arch/s390/include/asm/poll.h deleted file mode 100644 index c98509d3149e..000000000000 --- a/arch/s390/include/asm/poll.h +++ /dev/null | |||
@@ -1 +0,0 @@ | |||
1 | #include <asm-generic/poll.h> | ||
diff --git a/arch/s390/include/asm/posix_types.h b/arch/s390/include/asm/posix_types.h deleted file mode 100644 index bf2a2ad2f800..000000000000 --- a/arch/s390/include/asm/posix_types.h +++ /dev/null | |||
@@ -1,51 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | */ | ||
5 | |||
6 | #ifndef __ARCH_S390_POSIX_TYPES_H | ||
7 | #define __ARCH_S390_POSIX_TYPES_H | ||
8 | |||
9 | /* | ||
10 | * This file is generally used by user-level software, so you need to | ||
11 | * be a little careful about namespace pollution etc. Also, we cannot | ||
12 | * assume GCC is being used. | ||
13 | */ | ||
14 | |||
15 | typedef unsigned long __kernel_size_t; | ||
16 | typedef long __kernel_ssize_t; | ||
17 | #define __kernel_size_t __kernel_size_t | ||
18 | |||
19 | typedef unsigned short __kernel_old_dev_t; | ||
20 | #define __kernel_old_dev_t __kernel_old_dev_t | ||
21 | |||
22 | #ifndef __s390x__ | ||
23 | |||
24 | typedef unsigned long __kernel_ino_t; | ||
25 | typedef unsigned short __kernel_mode_t; | ||
26 | typedef unsigned short __kernel_ipc_pid_t; | ||
27 | typedef unsigned short __kernel_uid_t; | ||
28 | typedef unsigned short __kernel_gid_t; | ||
29 | typedef int __kernel_ptrdiff_t; | ||
30 | |||
31 | #else /* __s390x__ */ | ||
32 | |||
33 | typedef unsigned int __kernel_ino_t; | ||
34 | typedef unsigned int __kernel_mode_t; | ||
35 | typedef int __kernel_ipc_pid_t; | ||
36 | typedef unsigned int __kernel_uid_t; | ||
37 | typedef unsigned int __kernel_gid_t; | ||
38 | typedef long __kernel_ptrdiff_t; | ||
39 | typedef unsigned long __kernel_sigset_t; /* at least 32 bits */ | ||
40 | |||
41 | #endif /* __s390x__ */ | ||
42 | |||
43 | #define __kernel_ino_t __kernel_ino_t | ||
44 | #define __kernel_mode_t __kernel_mode_t | ||
45 | #define __kernel_ipc_pid_t __kernel_ipc_pid_t | ||
46 | #define __kernel_uid_t __kernel_uid_t | ||
47 | #define __kernel_gid_t __kernel_gid_t | ||
48 | |||
49 | #include <asm-generic/posix_types.h> | ||
50 | |||
51 | #endif | ||
diff --git a/arch/s390/include/asm/ptrace.h b/arch/s390/include/asm/ptrace.h index ce20a53afe91..3ee5da3bc10c 100644 --- a/arch/s390/include/asm/ptrace.h +++ b/arch/s390/include/asm/ptrace.h | |||
@@ -3,316 +3,17 @@ | |||
3 | * Copyright IBM Corp. 1999, 2000 | 3 | * Copyright IBM Corp. 1999, 2000 |
4 | * Author(s): Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) | 4 | * Author(s): Denis Joseph Barrow (djbarrow@de.ibm.com,barrow_dj@yahoo.com) |
5 | */ | 5 | */ |
6 | |||
7 | #ifndef _S390_PTRACE_H | 6 | #ifndef _S390_PTRACE_H |
8 | #define _S390_PTRACE_H | 7 | #define _S390_PTRACE_H |
9 | 8 | ||
10 | /* | 9 | #include <uapi/asm/ptrace.h> |
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 | 10 | ||
183 | #ifndef __ASSEMBLY__ | 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 | #ifndef __s390x__ | 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 | #else /* __s390x__ */ | 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 | #endif /* __s390x__ */ | 14 | #endif /* __s390x__ */ |
285 | |||
286 | #ifdef __KERNEL__ | ||
287 | extern long psw_kernel_bits; | 15 | extern long psw_kernel_bits; |
288 | extern long psw_user_bits; | 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 | * The pt_regs struct defines the way the registers are stored on | 19 | * The pt_regs struct defines the way the registers are stored on |
@@ -376,167 +77,8 @@ struct per_struct_kernel { | |||
376 | #define PER_CONTROL_SUSPENSION 0x00400000UL | 77 | #define PER_CONTROL_SUSPENSION 0x00400000UL |
377 | #define PER_CONTROL_ALTERATION 0x00200000UL | 78 | #define PER_CONTROL_ALTERATION 0x00200000UL |
378 | 79 | ||
379 | #endif | ||
380 | |||
381 | /* | ||
382 | * Now for the user space program event recording (trace) definitions. | ||
383 | * The following structures are used only for the ptrace interface, don't | ||
384 | * touch or even look at it if you don't want to modify the user-space | ||
385 | * ptrace interface. In particular stay away from it for in-kernel PER. | ||
386 | */ | ||
387 | typedef struct | ||
388 | { | ||
389 | unsigned long cr[NUM_CR_WORDS]; | ||
390 | } per_cr_words; | ||
391 | |||
392 | #define PER_EM_MASK 0xE8000000UL | ||
393 | |||
394 | typedef struct | ||
395 | { | ||
396 | #ifdef __s390x__ | 80 | #ifdef __s390x__ |
397 | unsigned : 32; | ||
398 | #endif /* __s390x__ */ | 81 | #endif /* __s390x__ */ |
399 | unsigned em_branching : 1; | ||
400 | unsigned em_instruction_fetch : 1; | ||
401 | /* | ||
402 | * Switching on storage alteration automatically fixes | ||
403 | * the storage alteration event bit in the users std. | ||
404 | */ | ||
405 | unsigned em_storage_alteration : 1; | ||
406 | unsigned em_gpr_alt_unused : 1; | ||
407 | unsigned em_store_real_address : 1; | ||
408 | unsigned : 3; | ||
409 | unsigned branch_addr_ctl : 1; | ||
410 | unsigned : 1; | ||
411 | unsigned storage_alt_space_ctl : 1; | ||
412 | unsigned : 21; | ||
413 | unsigned long starting_addr; | ||
414 | unsigned long ending_addr; | ||
415 | } per_cr_bits; | ||
416 | |||
417 | typedef struct | ||
418 | { | ||
419 | unsigned short perc_atmid; | ||
420 | unsigned long address; | ||
421 | unsigned char access_id; | ||
422 | } per_lowcore_words; | ||
423 | |||
424 | typedef struct | ||
425 | { | ||
426 | unsigned perc_branching : 1; | ||
427 | unsigned perc_instruction_fetch : 1; | ||
428 | unsigned perc_storage_alteration : 1; | ||
429 | unsigned perc_gpr_alt_unused : 1; | ||
430 | unsigned perc_store_real_address : 1; | ||
431 | unsigned : 3; | ||
432 | unsigned atmid_psw_bit_31 : 1; | ||
433 | unsigned atmid_validity_bit : 1; | ||
434 | unsigned atmid_psw_bit_32 : 1; | ||
435 | unsigned atmid_psw_bit_5 : 1; | ||
436 | unsigned atmid_psw_bit_16 : 1; | ||
437 | unsigned atmid_psw_bit_17 : 1; | ||
438 | unsigned si : 2; | ||
439 | unsigned long address; | ||
440 | unsigned : 4; | ||
441 | unsigned access_id : 4; | ||
442 | } per_lowcore_bits; | ||
443 | |||
444 | typedef struct | ||
445 | { | ||
446 | union { | ||
447 | per_cr_words words; | ||
448 | per_cr_bits bits; | ||
449 | } control_regs; | ||
450 | /* | ||
451 | * Use these flags instead of setting em_instruction_fetch | ||
452 | * directly they are used so that single stepping can be | ||
453 | * switched on & off while not affecting other tracing | ||
454 | */ | ||
455 | unsigned single_step : 1; | ||
456 | unsigned instruction_fetch : 1; | ||
457 | unsigned : 30; | ||
458 | /* | ||
459 | * These addresses are copied into cr10 & cr11 if single | ||
460 | * stepping is switched off | ||
461 | */ | ||
462 | unsigned long starting_addr; | ||
463 | unsigned long ending_addr; | ||
464 | union { | ||
465 | per_lowcore_words words; | ||
466 | per_lowcore_bits bits; | ||
467 | } lowcore; | ||
468 | } per_struct; | ||
469 | |||
470 | typedef struct | ||
471 | { | ||
472 | unsigned int len; | ||
473 | unsigned long kernel_addr; | ||
474 | unsigned long process_addr; | ||
475 | } ptrace_area; | ||
476 | |||
477 | /* | ||
478 | * S/390 specific non posix ptrace requests. I chose unusual values so | ||
479 | * they are unlikely to clash with future ptrace definitions. | ||
480 | */ | ||
481 | #define PTRACE_PEEKUSR_AREA 0x5000 | ||
482 | #define PTRACE_POKEUSR_AREA 0x5001 | ||
483 | #define PTRACE_PEEKTEXT_AREA 0x5002 | ||
484 | #define PTRACE_PEEKDATA_AREA 0x5003 | ||
485 | #define PTRACE_POKETEXT_AREA 0x5004 | ||
486 | #define PTRACE_POKEDATA_AREA 0x5005 | ||
487 | #define PTRACE_GET_LAST_BREAK 0x5006 | ||
488 | #define PTRACE_PEEK_SYSTEM_CALL 0x5007 | ||
489 | #define PTRACE_POKE_SYSTEM_CALL 0x5008 | ||
490 | #define PTRACE_ENABLE_TE 0x5009 | ||
491 | #define PTRACE_DISABLE_TE 0x5010 | ||
492 | |||
493 | /* | ||
494 | * PT_PROT definition is loosely based on hppa bsd definition in | ||
495 | * gdb/hppab-nat.c | ||
496 | */ | ||
497 | #define PTRACE_PROT 21 | ||
498 | |||
499 | typedef enum | ||
500 | { | ||
501 | ptprot_set_access_watchpoint, | ||
502 | ptprot_set_write_watchpoint, | ||
503 | ptprot_disable_watchpoint | ||
504 | } ptprot_flags; | ||
505 | |||
506 | typedef struct | ||
507 | { | ||
508 | unsigned long lowaddr; | ||
509 | unsigned long hiaddr; | ||
510 | ptprot_flags prot; | ||
511 | } ptprot_area; | ||
512 | |||
513 | /* Sequence of bytes for breakpoint illegal instruction. */ | ||
514 | #define S390_BREAKPOINT {0x0,0x1} | ||
515 | #define S390_BREAKPOINT_U16 ((__u16)0x0001) | ||
516 | #define S390_SYSCALL_OPCODE ((__u16)0x0a00) | ||
517 | #define S390_SYSCALL_SIZE 2 | ||
518 | |||
519 | /* | ||
520 | * The user_regs_struct defines the way the user registers are | ||
521 | * store on the stack for signal handling. | ||
522 | */ | ||
523 | struct user_regs_struct | ||
524 | { | ||
525 | psw_t psw; | ||
526 | unsigned long gprs[NUM_GPRS]; | ||
527 | unsigned int acrs[NUM_ACRS]; | ||
528 | unsigned long orig_gpr2; | ||
529 | s390_fp_regs fp_regs; | ||
530 | /* | ||
531 | * These per registers are in here so that gdb can modify them | ||
532 | * itself as there is no "official" ptrace interface for hardware | ||
533 | * watchpoints. This is the way intel does it. | ||
534 | */ | ||
535 | per_struct per_info; | ||
536 | unsigned long ieee_instruction_pointer; /* obsolete, always 0 */ | ||
537 | }; | ||
538 | |||
539 | #ifdef __KERNEL__ | ||
540 | /* | 82 | /* |
541 | * These are defined as per linux/ptrace.h, which see. | 83 | * These are defined as per linux/ptrace.h, which see. |
542 | */ | 84 | */ |
@@ -562,7 +104,5 @@ static inline unsigned long kernel_stack_pointer(struct pt_regs *regs) | |||
562 | return regs->gprs[15] & PSW_ADDR_INSN; | 104 | return regs->gprs[15] & PSW_ADDR_INSN; |
563 | } | 105 | } |
564 | 106 | ||
565 | #endif /* __KERNEL__ */ | ||
566 | #endif /* __ASSEMBLY__ */ | 107 | #endif /* __ASSEMBLY__ */ |
567 | |||
568 | #endif /* _S390_PTRACE_H */ | 108 | #endif /* _S390_PTRACE_H */ |
diff --git a/arch/s390/include/asm/qeth.h b/arch/s390/include/asm/qeth.h deleted file mode 100644 index 3a896cf52589..000000000000 --- a/arch/s390/include/asm/qeth.h +++ /dev/null | |||
@@ -1,115 +0,0 @@ | |||
1 | /* | ||
2 | * ioctl definitions for qeth driver | ||
3 | * | ||
4 | * Copyright IBM Corp. 2004 | ||
5 | * | ||
6 | * Author(s): Thomas Spatzier <tspat@de.ibm.com> | ||
7 | * | ||
8 | */ | ||
9 | #ifndef __ASM_S390_QETH_IOCTL_H__ | ||
10 | #define __ASM_S390_QETH_IOCTL_H__ | ||
11 | #include <linux/types.h> | ||
12 | #include <linux/ioctl.h> | ||
13 | |||
14 | #define SIOC_QETH_ARP_SET_NO_ENTRIES (SIOCDEVPRIVATE) | ||
15 | #define SIOC_QETH_ARP_QUERY_INFO (SIOCDEVPRIVATE + 1) | ||
16 | #define SIOC_QETH_ARP_ADD_ENTRY (SIOCDEVPRIVATE + 2) | ||
17 | #define SIOC_QETH_ARP_REMOVE_ENTRY (SIOCDEVPRIVATE + 3) | ||
18 | #define SIOC_QETH_ARP_FLUSH_CACHE (SIOCDEVPRIVATE + 4) | ||
19 | #define SIOC_QETH_ADP_SET_SNMP_CONTROL (SIOCDEVPRIVATE + 5) | ||
20 | #define SIOC_QETH_GET_CARD_TYPE (SIOCDEVPRIVATE + 6) | ||
21 | #define SIOC_QETH_QUERY_OAT (SIOCDEVPRIVATE + 7) | ||
22 | |||
23 | struct qeth_arp_cache_entry { | ||
24 | __u8 macaddr[6]; | ||
25 | __u8 reserved1[2]; | ||
26 | __u8 ipaddr[16]; /* for both IPv4 and IPv6 */ | ||
27 | __u8 reserved2[32]; | ||
28 | } __attribute__ ((packed)); | ||
29 | |||
30 | enum qeth_arp_ipaddrtype { | ||
31 | QETHARP_IP_ADDR_V4 = 1, | ||
32 | QETHARP_IP_ADDR_V6 = 2, | ||
33 | }; | ||
34 | struct qeth_arp_entrytype { | ||
35 | __u8 mac; | ||
36 | __u8 ip; | ||
37 | } __attribute__((packed)); | ||
38 | |||
39 | #define QETH_QARP_MEDIASPECIFIC_BYTES 32 | ||
40 | #define QETH_QARP_MACADDRTYPE_BYTES 1 | ||
41 | struct qeth_arp_qi_entry7 { | ||
42 | __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; | ||
43 | struct qeth_arp_entrytype type; | ||
44 | __u8 macaddr[6]; | ||
45 | __u8 ipaddr[4]; | ||
46 | } __attribute__((packed)); | ||
47 | |||
48 | struct qeth_arp_qi_entry7_ipv6 { | ||
49 | __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; | ||
50 | struct qeth_arp_entrytype type; | ||
51 | __u8 macaddr[6]; | ||
52 | __u8 ipaddr[16]; | ||
53 | } __attribute__((packed)); | ||
54 | |||
55 | struct qeth_arp_qi_entry7_short { | ||
56 | struct qeth_arp_entrytype type; | ||
57 | __u8 macaddr[6]; | ||
58 | __u8 ipaddr[4]; | ||
59 | } __attribute__((packed)); | ||
60 | |||
61 | struct qeth_arp_qi_entry7_short_ipv6 { | ||
62 | struct qeth_arp_entrytype type; | ||
63 | __u8 macaddr[6]; | ||
64 | __u8 ipaddr[16]; | ||
65 | } __attribute__((packed)); | ||
66 | |||
67 | struct qeth_arp_qi_entry5 { | ||
68 | __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; | ||
69 | struct qeth_arp_entrytype type; | ||
70 | __u8 ipaddr[4]; | ||
71 | } __attribute__((packed)); | ||
72 | |||
73 | struct qeth_arp_qi_entry5_ipv6 { | ||
74 | __u8 media_specific[QETH_QARP_MEDIASPECIFIC_BYTES]; | ||
75 | struct qeth_arp_entrytype type; | ||
76 | __u8 ipaddr[16]; | ||
77 | } __attribute__((packed)); | ||
78 | |||
79 | struct qeth_arp_qi_entry5_short { | ||
80 | struct qeth_arp_entrytype type; | ||
81 | __u8 ipaddr[4]; | ||
82 | } __attribute__((packed)); | ||
83 | |||
84 | struct qeth_arp_qi_entry5_short_ipv6 { | ||
85 | struct qeth_arp_entrytype type; | ||
86 | __u8 ipaddr[16]; | ||
87 | } __attribute__((packed)); | ||
88 | /* | ||
89 | * can be set by user if no "media specific information" is wanted | ||
90 | * -> saves a lot of space in user space buffer | ||
91 | */ | ||
92 | #define QETH_QARP_STRIP_ENTRIES 0x8000 | ||
93 | #define QETH_QARP_WITH_IPV6 0x4000 | ||
94 | #define QETH_QARP_REQUEST_MASK 0x00ff | ||
95 | |||
96 | /* data sent to user space as result of query arp ioctl */ | ||
97 | #define QETH_QARP_USER_DATA_SIZE 20000 | ||
98 | #define QETH_QARP_MASK_OFFSET 4 | ||
99 | #define QETH_QARP_ENTRIES_OFFSET 6 | ||
100 | struct qeth_arp_query_user_data { | ||
101 | union { | ||
102 | __u32 data_len; /* set by user space program */ | ||
103 | __u32 no_entries; /* set by kernel */ | ||
104 | } u; | ||
105 | __u16 mask_bits; | ||
106 | char *entries; | ||
107 | } __attribute__((packed)); | ||
108 | |||
109 | struct qeth_query_oat_data { | ||
110 | __u32 command; | ||
111 | __u32 buffer_len; | ||
112 | __u32 response_len; | ||
113 | __u64 ptr; | ||
114 | }; | ||
115 | #endif /* __ASM_S390_QETH_IOCTL_H__ */ | ||
diff --git a/arch/s390/include/asm/resource.h b/arch/s390/include/asm/resource.h deleted file mode 100644 index ec23d1c73c92..000000000000 --- a/arch/s390/include/asm/resource.h +++ /dev/null | |||
@@ -1,13 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | * Derived from "include/asm-i386/resources.h" | ||
5 | */ | ||
6 | |||
7 | #ifndef _S390_RESOURCE_H | ||
8 | #define _S390_RESOURCE_H | ||
9 | |||
10 | #include <asm-generic/resource.h> | ||
11 | |||
12 | #endif | ||
13 | |||
diff --git a/arch/s390/include/asm/schid.h b/arch/s390/include/asm/schid.h index 3e4d401b4e45..40b47dfa9d66 100644 --- a/arch/s390/include/asm/schid.h +++ b/arch/s390/include/asm/schid.h | |||
@@ -1,19 +1,8 @@ | |||
1 | #ifndef ASM_SCHID_H | 1 | #ifndef ASM_SCHID_H |
2 | #define ASM_SCHID_H | 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 | #include <linux/string.h> | 4 | #include <linux/string.h> |
5 | #include <uapi/asm/schid.h> | ||
17 | 6 | ||
18 | /* Helper function for sane state of pre-allocated subchannel_id. */ | 7 | /* Helper function for sane state of pre-allocated subchannel_id. */ |
19 | static inline void | 8 | static inline void |
@@ -29,6 +18,4 @@ schid_equal(struct subchannel_id *schid1, struct subchannel_id *schid2) | |||
29 | return !memcmp(schid1, schid2, sizeof(struct subchannel_id)); | 18 | return !memcmp(schid1, schid2, sizeof(struct subchannel_id)); |
30 | } | 19 | } |
31 | 20 | ||
32 | #endif /* __KERNEL__ */ | ||
33 | |||
34 | #endif /* ASM_SCHID_H */ | 21 | #endif /* ASM_SCHID_H */ |
diff --git a/arch/s390/include/asm/sembuf.h b/arch/s390/include/asm/sembuf.h deleted file mode 100644 index 32626b0cac4b..000000000000 --- a/arch/s390/include/asm/sembuf.h +++ /dev/null | |||
@@ -1,29 +0,0 @@ | |||
1 | #ifndef _S390_SEMBUF_H | ||
2 | #define _S390_SEMBUF_H | ||
3 | |||
4 | /* | ||
5 | * The semid64_ds structure for S/390 architecture. | ||
6 | * Note extra padding because this structure is passed back and forth | ||
7 | * between kernel and user space. | ||
8 | * | ||
9 | * Pad space is left for: | ||
10 | * - 64-bit time_t to solve y2038 problem (for !__s390x__) | ||
11 | * - 2 miscellaneous 32-bit values | ||
12 | */ | ||
13 | |||
14 | struct semid64_ds { | ||
15 | struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ | ||
16 | __kernel_time_t sem_otime; /* last semop time */ | ||
17 | #ifndef __s390x__ | ||
18 | unsigned long __unused1; | ||
19 | #endif /* ! __s390x__ */ | ||
20 | __kernel_time_t sem_ctime; /* last change time */ | ||
21 | #ifndef __s390x__ | ||
22 | unsigned long __unused2; | ||
23 | #endif /* ! __s390x__ */ | ||
24 | unsigned long sem_nsems; /* no. of semaphores in array */ | ||
25 | unsigned long __unused3; | ||
26 | unsigned long __unused4; | ||
27 | }; | ||
28 | |||
29 | #endif /* _S390_SEMBUF_H */ | ||
diff --git a/arch/s390/include/asm/setup.h b/arch/s390/include/asm/setup.h index 8cfd731a18d8..55ad134bcedf 100644 --- a/arch/s390/include/asm/setup.h +++ b/arch/s390/include/asm/setup.h | |||
@@ -2,15 +2,11 @@ | |||
2 | * S390 version | 2 | * S390 version |
3 | * Copyright IBM Corp. 1999, 2010 | 3 | * Copyright IBM Corp. 1999, 2010 |
4 | */ | 4 | */ |
5 | |||
6 | #ifndef _ASM_S390_SETUP_H | 5 | #ifndef _ASM_S390_SETUP_H |
7 | #define _ASM_S390_SETUP_H | 6 | #define _ASM_S390_SETUP_H |
8 | 7 | ||
9 | #define COMMAND_LINE_SIZE 4096 | 8 | #include <uapi/asm/setup.h> |
10 | |||
11 | #define ARCH_COMMAND_LINE_SIZE 896 | ||
12 | 9 | ||
13 | #ifdef __KERNEL__ | ||
14 | 10 | ||
15 | #define PARMAREA 0x10400 | 11 | #define PARMAREA 0x10400 |
16 | #define MEMORY_CHUNKS 256 | 12 | #define MEMORY_CHUNKS 256 |
@@ -173,5 +169,4 @@ extern void (*_machine_power_off)(void); | |||
173 | #define COMMAND_LINE 0x10480 | 169 | #define COMMAND_LINE 0x10480 |
174 | 170 | ||
175 | #endif /* __ASSEMBLY__ */ | 171 | #endif /* __ASSEMBLY__ */ |
176 | #endif /* __KERNEL__ */ | ||
177 | #endif /* _ASM_S390_SETUP_H */ | 172 | #endif /* _ASM_S390_SETUP_H */ |
diff --git a/arch/s390/include/asm/shmbuf.h b/arch/s390/include/asm/shmbuf.h deleted file mode 100644 index eed2e280ce37..000000000000 --- a/arch/s390/include/asm/shmbuf.h +++ /dev/null | |||
@@ -1,48 +0,0 @@ | |||
1 | #ifndef _S390_SHMBUF_H | ||
2 | #define _S390_SHMBUF_H | ||
3 | |||
4 | /* | ||
5 | * The shmid64_ds structure for S/390 architecture. | ||
6 | * Note extra padding because this structure is passed back and forth | ||
7 | * between kernel and user space. | ||
8 | * | ||
9 | * Pad space is left for: | ||
10 | * - 64-bit time_t to solve y2038 problem (for !__s390x__) | ||
11 | * - 2 miscellaneous 32-bit values | ||
12 | */ | ||
13 | |||
14 | struct shmid64_ds { | ||
15 | struct ipc64_perm shm_perm; /* operation perms */ | ||
16 | size_t shm_segsz; /* size of segment (bytes) */ | ||
17 | __kernel_time_t shm_atime; /* last attach time */ | ||
18 | #ifndef __s390x__ | ||
19 | unsigned long __unused1; | ||
20 | #endif /* ! __s390x__ */ | ||
21 | __kernel_time_t shm_dtime; /* last detach time */ | ||
22 | #ifndef __s390x__ | ||
23 | unsigned long __unused2; | ||
24 | #endif /* ! __s390x__ */ | ||
25 | __kernel_time_t shm_ctime; /* last change time */ | ||
26 | #ifndef __s390x__ | ||
27 | unsigned long __unused3; | ||
28 | #endif /* ! __s390x__ */ | ||
29 | __kernel_pid_t shm_cpid; /* pid of creator */ | ||
30 | __kernel_pid_t shm_lpid; /* pid of last operator */ | ||
31 | unsigned long shm_nattch; /* no. of current attaches */ | ||
32 | unsigned long __unused4; | ||
33 | unsigned long __unused5; | ||
34 | }; | ||
35 | |||
36 | struct shminfo64 { | ||
37 | unsigned long shmmax; | ||
38 | unsigned long shmmin; | ||
39 | unsigned long shmmni; | ||
40 | unsigned long shmseg; | ||
41 | unsigned long shmall; | ||
42 | unsigned long __unused1; | ||
43 | unsigned long __unused2; | ||
44 | unsigned long __unused3; | ||
45 | unsigned long __unused4; | ||
46 | }; | ||
47 | |||
48 | #endif /* _S390_SHMBUF_H */ | ||
diff --git a/arch/s390/include/asm/sigcontext.h b/arch/s390/include/asm/sigcontext.h deleted file mode 100644 index 584787f6ce44..000000000000 --- a/arch/s390/include/asm/sigcontext.h +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * Copyright IBM Corp. 1999, 2000 | ||
4 | */ | ||
5 | |||
6 | #ifndef _ASM_S390_SIGCONTEXT_H | ||
7 | #define _ASM_S390_SIGCONTEXT_H | ||
8 | |||
9 | #include <linux/compiler.h> | ||
10 | |||
11 | #define __NUM_GPRS 16 | ||
12 | #define __NUM_FPRS 16 | ||
13 | #define __NUM_ACRS 16 | ||
14 | |||
15 | #ifndef __s390x__ | ||
16 | |||
17 | /* Has to be at least _NSIG_WORDS from asm/signal.h */ | ||
18 | #define _SIGCONTEXT_NSIG 64 | ||
19 | #define _SIGCONTEXT_NSIG_BPW 32 | ||
20 | /* Size of stack frame allocated when calling signal handler. */ | ||
21 | #define __SIGNAL_FRAMESIZE 96 | ||
22 | |||
23 | #else /* __s390x__ */ | ||
24 | |||
25 | /* Has to be at least _NSIG_WORDS from asm/signal.h */ | ||
26 | #define _SIGCONTEXT_NSIG 64 | ||
27 | #define _SIGCONTEXT_NSIG_BPW 64 | ||
28 | /* Size of stack frame allocated when calling signal handler. */ | ||
29 | #define __SIGNAL_FRAMESIZE 160 | ||
30 | |||
31 | #endif /* __s390x__ */ | ||
32 | |||
33 | #define _SIGCONTEXT_NSIG_WORDS (_SIGCONTEXT_NSIG / _SIGCONTEXT_NSIG_BPW) | ||
34 | #define _SIGMASK_COPY_SIZE (sizeof(unsigned long)*_SIGCONTEXT_NSIG_WORDS) | ||
35 | |||
36 | typedef struct | ||
37 | { | ||
38 | unsigned long mask; | ||
39 | unsigned long addr; | ||
40 | } __attribute__ ((aligned(8))) _psw_t; | ||
41 | |||
42 | typedef struct | ||
43 | { | ||
44 | _psw_t psw; | ||
45 | unsigned long gprs[__NUM_GPRS]; | ||
46 | unsigned int acrs[__NUM_ACRS]; | ||
47 | } _s390_regs_common; | ||
48 | |||
49 | typedef struct | ||
50 | { | ||
51 | unsigned int fpc; | ||
52 | double fprs[__NUM_FPRS]; | ||
53 | } _s390_fp_regs; | ||
54 | |||
55 | typedef struct | ||
56 | { | ||
57 | _s390_regs_common regs; | ||
58 | _s390_fp_regs fpregs; | ||
59 | } _sigregs; | ||
60 | |||
61 | struct sigcontext | ||
62 | { | ||
63 | unsigned long oldmask[_SIGCONTEXT_NSIG_WORDS]; | ||
64 | _sigregs __user *sregs; | ||
65 | }; | ||
66 | |||
67 | |||
68 | #endif | ||
69 | |||
diff --git a/arch/s390/include/asm/siginfo.h b/arch/s390/include/asm/siginfo.h deleted file mode 100644 index 91fd3e4b70ce..000000000000 --- a/arch/s390/include/asm/siginfo.h +++ /dev/null | |||
@@ -1,16 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | * Derived from "include/asm-i386/siginfo.h" | ||
5 | */ | ||
6 | |||
7 | #ifndef _S390_SIGINFO_H | ||
8 | #define _S390_SIGINFO_H | ||
9 | |||
10 | #ifdef __s390x__ | ||
11 | #define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int)) | ||
12 | #endif | ||
13 | |||
14 | #include <asm-generic/siginfo.h> | ||
15 | |||
16 | #endif | ||
diff --git a/arch/s390/include/asm/signal.h b/arch/s390/include/asm/signal.h index 6d4d9d1faee9..bffdbdd5b3d7 100644 --- a/arch/s390/include/asm/signal.h +++ b/arch/s390/include/asm/signal.h | |||
@@ -3,18 +3,11 @@ | |||
3 | * | 3 | * |
4 | * Derived from "include/asm-i386/signal.h" | 4 | * Derived from "include/asm-i386/signal.h" |
5 | */ | 5 | */ |
6 | |||
7 | #ifndef _ASMS390_SIGNAL_H | 6 | #ifndef _ASMS390_SIGNAL_H |
8 | #define _ASMS390_SIGNAL_H | 7 | #define _ASMS390_SIGNAL_H |
9 | 8 | ||
10 | #include <linux/types.h> | 9 | #include <uapi/asm/signal.h> |
11 | #include <linux/time.h> | ||
12 | |||
13 | /* Avoid too many header ordering problems. */ | ||
14 | struct siginfo; | ||
15 | struct pt_regs; | ||
16 | 10 | ||
17 | #ifdef __KERNEL__ | ||
18 | /* Most things should be clean enough to redefine this at will, if care | 11 | /* Most things should be clean enough to redefine this at will, if care |
19 | is taken to make libc match. */ | 12 | is taken to make libc match. */ |
20 | #include <asm/sigcontext.h> | 13 | #include <asm/sigcontext.h> |
@@ -28,94 +21,6 @@ typedef struct { | |||
28 | unsigned long sig[_NSIG_WORDS]; | 21 | unsigned long sig[_NSIG_WORDS]; |
29 | } sigset_t; | 22 | } sigset_t; |
30 | 23 | ||
31 | #else | ||
32 | /* Here we must cater to libcs that poke about in kernel headers. */ | ||
33 | |||
34 | #define NSIG 32 | ||
35 | typedef unsigned long sigset_t; | ||
36 | |||
37 | #endif /* __KERNEL__ */ | ||
38 | |||
39 | #define SIGHUP 1 | ||
40 | #define SIGINT 2 | ||
41 | #define SIGQUIT 3 | ||
42 | #define SIGILL 4 | ||
43 | #define SIGTRAP 5 | ||
44 | #define SIGABRT 6 | ||
45 | #define SIGIOT 6 | ||
46 | #define SIGBUS 7 | ||
47 | #define SIGFPE 8 | ||
48 | #define SIGKILL 9 | ||
49 | #define SIGUSR1 10 | ||
50 | #define SIGSEGV 11 | ||
51 | #define SIGUSR2 12 | ||
52 | #define SIGPIPE 13 | ||
53 | #define SIGALRM 14 | ||
54 | #define SIGTERM 15 | ||
55 | #define SIGSTKFLT 16 | ||
56 | #define SIGCHLD 17 | ||
57 | #define SIGCONT 18 | ||
58 | #define SIGSTOP 19 | ||
59 | #define SIGTSTP 20 | ||
60 | #define SIGTTIN 21 | ||
61 | #define SIGTTOU 22 | ||
62 | #define SIGURG 23 | ||
63 | #define SIGXCPU 24 | ||
64 | #define SIGXFSZ 25 | ||
65 | #define SIGVTALRM 26 | ||
66 | #define SIGPROF 27 | ||
67 | #define SIGWINCH 28 | ||
68 | #define SIGIO 29 | ||
69 | #define SIGPOLL SIGIO | ||
70 | /* | ||
71 | #define SIGLOST 29 | ||
72 | */ | ||
73 | #define SIGPWR 30 | ||
74 | #define SIGSYS 31 | ||
75 | #define SIGUNUSED 31 | ||
76 | |||
77 | /* These should not be considered constants from userland. */ | ||
78 | #define SIGRTMIN 32 | ||
79 | #define SIGRTMAX _NSIG | ||
80 | |||
81 | /* | ||
82 | * SA_FLAGS values: | ||
83 | * | ||
84 | * SA_ONSTACK indicates that a registered stack_t will be used. | ||
85 | * SA_RESTART flag to get restarting signals (which were the default long ago) | ||
86 | * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. | ||
87 | * SA_RESETHAND clears the handler when the signal is delivered. | ||
88 | * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. | ||
89 | * SA_NODEFER prevents the current signal from being masked in the handler. | ||
90 | * | ||
91 | * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single | ||
92 | * Unix names RESETHAND and NODEFER respectively. | ||
93 | */ | ||
94 | #define SA_NOCLDSTOP 0x00000001 | ||
95 | #define SA_NOCLDWAIT 0x00000002 | ||
96 | #define SA_SIGINFO 0x00000004 | ||
97 | #define SA_ONSTACK 0x08000000 | ||
98 | #define SA_RESTART 0x10000000 | ||
99 | #define SA_NODEFER 0x40000000 | ||
100 | #define SA_RESETHAND 0x80000000 | ||
101 | |||
102 | #define SA_NOMASK SA_NODEFER | ||
103 | #define SA_ONESHOT SA_RESETHAND | ||
104 | |||
105 | #define SA_RESTORER 0x04000000 | ||
106 | |||
107 | /* | ||
108 | * sigaltstack controls | ||
109 | */ | ||
110 | #define SS_ONSTACK 1 | ||
111 | #define SS_DISABLE 2 | ||
112 | |||
113 | #define MINSIGSTKSZ 2048 | ||
114 | #define SIGSTKSZ 8192 | ||
115 | |||
116 | #include <asm-generic/signal-defs.h> | ||
117 | |||
118 | #ifdef __KERNEL__ | ||
119 | struct old_sigaction { | 24 | struct old_sigaction { |
120 | __sighandler_t sa_handler; | 25 | __sighandler_t sa_handler; |
121 | old_sigset_t sa_mask; | 26 | old_sigset_t sa_mask; |
@@ -136,35 +41,4 @@ struct k_sigaction { | |||
136 | 41 | ||
137 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) | 42 | #define ptrace_signal_deliver(regs, cookie) do { } while (0) |
138 | 43 | ||
139 | #else | ||
140 | /* Here we must cater to libcs that poke about in kernel headers. */ | ||
141 | |||
142 | struct sigaction { | ||
143 | union { | ||
144 | __sighandler_t _sa_handler; | ||
145 | void (*_sa_sigaction)(int, struct siginfo *, void *); | ||
146 | } _u; | ||
147 | #ifndef __s390x__ /* lovely */ | ||
148 | sigset_t sa_mask; | ||
149 | unsigned long sa_flags; | ||
150 | void (*sa_restorer)(void); | ||
151 | #else /* __s390x__ */ | ||
152 | unsigned long sa_flags; | ||
153 | void (*sa_restorer)(void); | ||
154 | sigset_t sa_mask; | ||
155 | #endif /* __s390x__ */ | ||
156 | }; | ||
157 | |||
158 | #define sa_handler _u._sa_handler | ||
159 | #define sa_sigaction _u._sa_sigaction | ||
160 | |||
161 | #endif /* __KERNEL__ */ | ||
162 | |||
163 | typedef struct sigaltstack { | ||
164 | void __user *ss_sp; | ||
165 | int ss_flags; | ||
166 | size_t ss_size; | ||
167 | } stack_t; | ||
168 | |||
169 | |||
170 | #endif | 44 | #endif |
diff --git a/arch/s390/include/asm/socket.h b/arch/s390/include/asm/socket.h deleted file mode 100644 index 69718cd6d635..000000000000 --- a/arch/s390/include/asm/socket.h +++ /dev/null | |||
@@ -1,78 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | * Derived from "include/asm-i386/socket.h" | ||
5 | */ | ||
6 | |||
7 | #ifndef _ASM_SOCKET_H | ||
8 | #define _ASM_SOCKET_H | ||
9 | |||
10 | #include <asm/sockios.h> | ||
11 | |||
12 | /* For setsockopt(2) */ | ||
13 | #define SOL_SOCKET 1 | ||
14 | |||
15 | #define SO_DEBUG 1 | ||
16 | #define SO_REUSEADDR 2 | ||
17 | #define SO_TYPE 3 | ||
18 | #define SO_ERROR 4 | ||
19 | #define SO_DONTROUTE 5 | ||
20 | #define SO_BROADCAST 6 | ||
21 | #define SO_SNDBUF 7 | ||
22 | #define SO_RCVBUF 8 | ||
23 | #define SO_SNDBUFFORCE 32 | ||
24 | #define SO_RCVBUFFORCE 33 | ||
25 | #define SO_KEEPALIVE 9 | ||
26 | #define SO_OOBINLINE 10 | ||
27 | #define SO_NO_CHECK 11 | ||
28 | #define SO_PRIORITY 12 | ||
29 | #define SO_LINGER 13 | ||
30 | #define SO_BSDCOMPAT 14 | ||
31 | /* To add :#define SO_REUSEPORT 15 */ | ||
32 | #define SO_PASSCRED 16 | ||
33 | #define SO_PEERCRED 17 | ||
34 | #define SO_RCVLOWAT 18 | ||
35 | #define SO_SNDLOWAT 19 | ||
36 | #define SO_RCVTIMEO 20 | ||
37 | #define SO_SNDTIMEO 21 | ||
38 | |||
39 | /* Security levels - as per NRL IPv6 - don't actually do anything */ | ||
40 | #define SO_SECURITY_AUTHENTICATION 22 | ||
41 | #define SO_SECURITY_ENCRYPTION_TRANSPORT 23 | ||
42 | #define SO_SECURITY_ENCRYPTION_NETWORK 24 | ||
43 | |||
44 | #define SO_BINDTODEVICE 25 | ||
45 | |||
46 | /* Socket filtering */ | ||
47 | #define SO_ATTACH_FILTER 26 | ||
48 | #define SO_DETACH_FILTER 27 | ||
49 | |||
50 | #define SO_PEERNAME 28 | ||
51 | #define SO_TIMESTAMP 29 | ||
52 | #define SCM_TIMESTAMP SO_TIMESTAMP | ||
53 | |||
54 | #define SO_ACCEPTCONN 30 | ||
55 | |||
56 | #define SO_PEERSEC 31 | ||
57 | #define SO_PASSSEC 34 | ||
58 | #define SO_TIMESTAMPNS 35 | ||
59 | #define SCM_TIMESTAMPNS SO_TIMESTAMPNS | ||
60 | |||
61 | #define SO_MARK 36 | ||
62 | |||
63 | #define SO_TIMESTAMPING 37 | ||
64 | #define SCM_TIMESTAMPING SO_TIMESTAMPING | ||
65 | |||
66 | #define SO_PROTOCOL 38 | ||
67 | #define SO_DOMAIN 39 | ||
68 | |||
69 | #define SO_RXQ_OVFL 40 | ||
70 | |||
71 | #define SO_WIFI_STATUS 41 | ||
72 | #define SCM_WIFI_STATUS SO_WIFI_STATUS | ||
73 | #define SO_PEEK_OFF 42 | ||
74 | |||
75 | /* Instruct lower device to use last 4-bytes of skb data as FCS */ | ||
76 | #define SO_NOFCS 43 | ||
77 | |||
78 | #endif /* _ASM_SOCKET_H */ | ||
diff --git a/arch/s390/include/asm/sockios.h b/arch/s390/include/asm/sockios.h deleted file mode 100644 index 6f60eee73242..000000000000 --- a/arch/s390/include/asm/sockios.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef _ASM_S390_SOCKIOS_H | ||
2 | #define _ASM_S390_SOCKIOS_H | ||
3 | |||
4 | #include <asm-generic/sockios.h> | ||
5 | |||
6 | #endif | ||
diff --git a/arch/s390/include/asm/stat.h b/arch/s390/include/asm/stat.h deleted file mode 100644 index b4ca97d91466..000000000000 --- a/arch/s390/include/asm/stat.h +++ /dev/null | |||
@@ -1,103 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | * Derived from "include/asm-i386/stat.h" | ||
5 | */ | ||
6 | |||
7 | #ifndef _S390_STAT_H | ||
8 | #define _S390_STAT_H | ||
9 | |||
10 | #ifndef __s390x__ | ||
11 | struct __old_kernel_stat { | ||
12 | unsigned short st_dev; | ||
13 | unsigned short st_ino; | ||
14 | unsigned short st_mode; | ||
15 | unsigned short st_nlink; | ||
16 | unsigned short st_uid; | ||
17 | unsigned short st_gid; | ||
18 | unsigned short st_rdev; | ||
19 | unsigned long st_size; | ||
20 | unsigned long st_atime; | ||
21 | unsigned long st_mtime; | ||
22 | unsigned long st_ctime; | ||
23 | }; | ||
24 | |||
25 | struct stat { | ||
26 | unsigned short st_dev; | ||
27 | unsigned short __pad1; | ||
28 | unsigned long st_ino; | ||
29 | unsigned short st_mode; | ||
30 | unsigned short st_nlink; | ||
31 | unsigned short st_uid; | ||
32 | unsigned short st_gid; | ||
33 | unsigned short st_rdev; | ||
34 | unsigned short __pad2; | ||
35 | unsigned long st_size; | ||
36 | unsigned long st_blksize; | ||
37 | unsigned long st_blocks; | ||
38 | unsigned long st_atime; | ||
39 | unsigned long st_atime_nsec; | ||
40 | unsigned long st_mtime; | ||
41 | unsigned long st_mtime_nsec; | ||
42 | unsigned long st_ctime; | ||
43 | unsigned long st_ctime_nsec; | ||
44 | unsigned long __unused4; | ||
45 | unsigned long __unused5; | ||
46 | }; | ||
47 | |||
48 | /* This matches struct stat64 in glibc2.1, hence the absolutely | ||
49 | * insane amounts of padding around dev_t's. | ||
50 | */ | ||
51 | struct stat64 { | ||
52 | unsigned long long st_dev; | ||
53 | unsigned int __pad1; | ||
54 | #define STAT64_HAS_BROKEN_ST_INO 1 | ||
55 | unsigned long __st_ino; | ||
56 | unsigned int st_mode; | ||
57 | unsigned int st_nlink; | ||
58 | unsigned long st_uid; | ||
59 | unsigned long st_gid; | ||
60 | unsigned long long st_rdev; | ||
61 | unsigned int __pad3; | ||
62 | long long st_size; | ||
63 | unsigned long st_blksize; | ||
64 | unsigned char __pad4[4]; | ||
65 | unsigned long __pad5; /* future possible st_blocks high bits */ | ||
66 | unsigned long st_blocks; /* Number 512-byte blocks allocated. */ | ||
67 | unsigned long st_atime; | ||
68 | unsigned long st_atime_nsec; | ||
69 | unsigned long st_mtime; | ||
70 | unsigned long st_mtime_nsec; | ||
71 | unsigned long st_ctime; | ||
72 | unsigned long st_ctime_nsec; /* will be high 32 bits of ctime someday */ | ||
73 | unsigned long long st_ino; | ||
74 | }; | ||
75 | |||
76 | #else /* __s390x__ */ | ||
77 | |||
78 | struct stat { | ||
79 | unsigned long st_dev; | ||
80 | unsigned long st_ino; | ||
81 | unsigned long st_nlink; | ||
82 | unsigned int st_mode; | ||
83 | unsigned int st_uid; | ||
84 | unsigned int st_gid; | ||
85 | unsigned int __pad1; | ||
86 | unsigned long st_rdev; | ||
87 | unsigned long st_size; | ||
88 | unsigned long st_atime; | ||
89 | unsigned long st_atime_nsec; | ||
90 | unsigned long st_mtime; | ||
91 | unsigned long st_mtime_nsec; | ||
92 | unsigned long st_ctime; | ||
93 | unsigned long st_ctime_nsec; | ||
94 | unsigned long st_blksize; | ||
95 | long st_blocks; | ||
96 | unsigned long __unused[3]; | ||
97 | }; | ||
98 | |||
99 | #endif /* __s390x__ */ | ||
100 | |||
101 | #define STAT_HAVE_NSEC 1 | ||
102 | |||
103 | #endif | ||
diff --git a/arch/s390/include/asm/statfs.h b/arch/s390/include/asm/statfs.h deleted file mode 100644 index 5acca0a34c20..000000000000 --- a/arch/s390/include/asm/statfs.h +++ /dev/null | |||
@@ -1,69 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | * Derived from "include/asm-i386/statfs.h" | ||
5 | */ | ||
6 | |||
7 | #ifndef _S390_STATFS_H | ||
8 | #define _S390_STATFS_H | ||
9 | |||
10 | #ifndef __s390x__ | ||
11 | #include <asm-generic/statfs.h> | ||
12 | #else | ||
13 | /* | ||
14 | * We can't use <asm-generic/statfs.h> because in 64-bit mode | ||
15 | * we mix ints of different sizes in our struct statfs. | ||
16 | */ | ||
17 | |||
18 | #ifndef __KERNEL_STRICT_NAMES | ||
19 | #include <linux/types.h> | ||
20 | typedef __kernel_fsid_t fsid_t; | ||
21 | #endif | ||
22 | |||
23 | struct statfs { | ||
24 | int f_type; | ||
25 | int f_bsize; | ||
26 | long f_blocks; | ||
27 | long f_bfree; | ||
28 | long f_bavail; | ||
29 | long f_files; | ||
30 | long f_ffree; | ||
31 | __kernel_fsid_t f_fsid; | ||
32 | int f_namelen; | ||
33 | int f_frsize; | ||
34 | int f_flags; | ||
35 | int f_spare[4]; | ||
36 | }; | ||
37 | |||
38 | struct statfs64 { | ||
39 | int f_type; | ||
40 | int f_bsize; | ||
41 | long f_blocks; | ||
42 | long f_bfree; | ||
43 | long f_bavail; | ||
44 | long f_files; | ||
45 | long f_ffree; | ||
46 | __kernel_fsid_t f_fsid; | ||
47 | int f_namelen; | ||
48 | int f_frsize; | ||
49 | int f_flags; | ||
50 | int f_spare[4]; | ||
51 | }; | ||
52 | |||
53 | struct compat_statfs64 { | ||
54 | __u32 f_type; | ||
55 | __u32 f_bsize; | ||
56 | __u64 f_blocks; | ||
57 | __u64 f_bfree; | ||
58 | __u64 f_bavail; | ||
59 | __u64 f_files; | ||
60 | __u64 f_ffree; | ||
61 | __kernel_fsid_t f_fsid; | ||
62 | __u32 f_namelen; | ||
63 | __u32 f_frsize; | ||
64 | __u32 f_flags; | ||
65 | __u32 f_spare[4]; | ||
66 | }; | ||
67 | |||
68 | #endif /* __s390x__ */ | ||
69 | #endif | ||
diff --git a/arch/s390/include/asm/swab.h b/arch/s390/include/asm/swab.h deleted file mode 100644 index da3bfe5cc161..000000000000 --- a/arch/s390/include/asm/swab.h +++ /dev/null | |||
@@ -1,89 +0,0 @@ | |||
1 | #ifndef _S390_SWAB_H | ||
2 | #define _S390_SWAB_H | ||
3 | |||
4 | /* | ||
5 | * S390 version | ||
6 | * Copyright IBM Corp. 1999 | ||
7 | * Author(s): Martin Schwidefsky (schwidefsky@de.ibm.com) | ||
8 | */ | ||
9 | |||
10 | #include <linux/types.h> | ||
11 | |||
12 | #ifndef __s390x__ | ||
13 | # define __SWAB_64_THRU_32__ | ||
14 | #endif | ||
15 | |||
16 | #ifdef __s390x__ | ||
17 | static inline __u64 __arch_swab64p(const __u64 *x) | ||
18 | { | ||
19 | __u64 result; | ||
20 | |||
21 | asm volatile("lrvg %0,%1" : "=d" (result) : "m" (*x)); | ||
22 | return result; | ||
23 | } | ||
24 | #define __arch_swab64p __arch_swab64p | ||
25 | |||
26 | static inline __u64 __arch_swab64(__u64 x) | ||
27 | { | ||
28 | __u64 result; | ||
29 | |||
30 | asm volatile("lrvgr %0,%1" : "=d" (result) : "d" (x)); | ||
31 | return result; | ||
32 | } | ||
33 | #define __arch_swab64 __arch_swab64 | ||
34 | |||
35 | static inline void __arch_swab64s(__u64 *x) | ||
36 | { | ||
37 | *x = __arch_swab64p(x); | ||
38 | } | ||
39 | #define __arch_swab64s __arch_swab64s | ||
40 | #endif /* __s390x__ */ | ||
41 | |||
42 | static inline __u32 __arch_swab32p(const __u32 *x) | ||
43 | { | ||
44 | __u32 result; | ||
45 | |||
46 | asm volatile( | ||
47 | #ifndef __s390x__ | ||
48 | " icm %0,8,%O1+3(%R1)\n" | ||
49 | " icm %0,4,%O1+2(%R1)\n" | ||
50 | " icm %0,2,%O1+1(%R1)\n" | ||
51 | " ic %0,%1" | ||
52 | : "=&d" (result) : "Q" (*x) : "cc"); | ||
53 | #else /* __s390x__ */ | ||
54 | " lrv %0,%1" | ||
55 | : "=d" (result) : "m" (*x)); | ||
56 | #endif /* __s390x__ */ | ||
57 | return result; | ||
58 | } | ||
59 | #define __arch_swab32p __arch_swab32p | ||
60 | |||
61 | #ifdef __s390x__ | ||
62 | static inline __u32 __arch_swab32(__u32 x) | ||
63 | { | ||
64 | __u32 result; | ||
65 | |||
66 | asm volatile("lrvr %0,%1" : "=d" (result) : "d" (x)); | ||
67 | return result; | ||
68 | } | ||
69 | #define __arch_swab32 __arch_swab32 | ||
70 | #endif /* __s390x__ */ | ||
71 | |||
72 | static inline __u16 __arch_swab16p(const __u16 *x) | ||
73 | { | ||
74 | __u16 result; | ||
75 | |||
76 | asm volatile( | ||
77 | #ifndef __s390x__ | ||
78 | " icm %0,2,%O1+1(%R1)\n" | ||
79 | " ic %0,%1\n" | ||
80 | : "=&d" (result) : "Q" (*x) : "cc"); | ||
81 | #else /* __s390x__ */ | ||
82 | " lrvh %0,%1" | ||
83 | : "=d" (result) : "m" (*x)); | ||
84 | #endif /* __s390x__ */ | ||
85 | return result; | ||
86 | } | ||
87 | #define __arch_swab16p __arch_swab16p | ||
88 | |||
89 | #endif /* _S390_SWAB_H */ | ||
diff --git a/arch/s390/include/asm/tape390.h b/arch/s390/include/asm/tape390.h deleted file mode 100644 index b2bc4bab7929..000000000000 --- a/arch/s390/include/asm/tape390.h +++ /dev/null | |||
@@ -1,102 +0,0 @@ | |||
1 | /************************************************************************* | ||
2 | * | ||
3 | * enables user programs to display messages and control encryption | ||
4 | * on s390 tape devices | ||
5 | * | ||
6 | * Copyright IBM Corp. 2001, 2006 | ||
7 | * Author(s): Michael Holzheu <holzheu@de.ibm.com> | ||
8 | * | ||
9 | *************************************************************************/ | ||
10 | |||
11 | #ifndef _TAPE390_H | ||
12 | #define _TAPE390_H | ||
13 | |||
14 | #define TAPE390_DISPLAY _IOW('d', 1, struct display_struct) | ||
15 | |||
16 | /* | ||
17 | * The TAPE390_DISPLAY ioctl calls the Load Display command | ||
18 | * which transfers 17 bytes of data from the channel to the subsystem: | ||
19 | * - 1 format control byte, and | ||
20 | * - two 8-byte messages | ||
21 | * | ||
22 | * Format control byte: | ||
23 | * 0-2: New Message Overlay | ||
24 | * 3: Alternate Messages | ||
25 | * 4: Blink Message | ||
26 | * 5: Display Low/High Message | ||
27 | * 6: Reserved | ||
28 | * 7: Automatic Load Request | ||
29 | * | ||
30 | */ | ||
31 | |||
32 | typedef struct display_struct { | ||
33 | char cntrl; | ||
34 | char message1[8]; | ||
35 | char message2[8]; | ||
36 | } display_struct; | ||
37 | |||
38 | /* | ||
39 | * Tape encryption support | ||
40 | */ | ||
41 | |||
42 | struct tape390_crypt_info { | ||
43 | char capability; | ||
44 | char status; | ||
45 | char medium_status; | ||
46 | } __attribute__ ((packed)); | ||
47 | |||
48 | |||
49 | /* Macros for "capable" field */ | ||
50 | #define TAPE390_CRYPT_SUPPORTED_MASK 0x01 | ||
51 | #define TAPE390_CRYPT_SUPPORTED(x) \ | ||
52 | ((x.capability & TAPE390_CRYPT_SUPPORTED_MASK)) | ||
53 | |||
54 | /* Macros for "status" field */ | ||
55 | #define TAPE390_CRYPT_ON_MASK 0x01 | ||
56 | #define TAPE390_CRYPT_ON(x) (((x.status) & TAPE390_CRYPT_ON_MASK)) | ||
57 | |||
58 | /* Macros for "medium status" field */ | ||
59 | #define TAPE390_MEDIUM_LOADED_MASK 0x01 | ||
60 | #define TAPE390_MEDIUM_ENCRYPTED_MASK 0x02 | ||
61 | #define TAPE390_MEDIUM_ENCRYPTED(x) \ | ||
62 | (((x.medium_status) & TAPE390_MEDIUM_ENCRYPTED_MASK)) | ||
63 | #define TAPE390_MEDIUM_LOADED(x) \ | ||
64 | (((x.medium_status) & TAPE390_MEDIUM_LOADED_MASK)) | ||
65 | |||
66 | /* | ||
67 | * The TAPE390_CRYPT_SET ioctl is used to switch on/off encryption. | ||
68 | * The "encryption_capable" and "tape_status" fields are ignored for this ioctl! | ||
69 | */ | ||
70 | #define TAPE390_CRYPT_SET _IOW('d', 2, struct tape390_crypt_info) | ||
71 | |||
72 | /* | ||
73 | * The TAPE390_CRYPT_QUERY ioctl is used to query the encryption state. | ||
74 | */ | ||
75 | #define TAPE390_CRYPT_QUERY _IOR('d', 3, struct tape390_crypt_info) | ||
76 | |||
77 | /* Values for "kekl1/2_type" and "kekl1/2_type_on_tape" fields */ | ||
78 | #define TAPE390_KEKL_TYPE_NONE 0 | ||
79 | #define TAPE390_KEKL_TYPE_LABEL 1 | ||
80 | #define TAPE390_KEKL_TYPE_HASH 2 | ||
81 | |||
82 | struct tape390_kekl { | ||
83 | unsigned char type; | ||
84 | unsigned char type_on_tape; | ||
85 | char label[65]; | ||
86 | } __attribute__ ((packed)); | ||
87 | |||
88 | struct tape390_kekl_pair { | ||
89 | struct tape390_kekl kekl[2]; | ||
90 | } __attribute__ ((packed)); | ||
91 | |||
92 | /* | ||
93 | * The TAPE390_KEKL_SET ioctl is used to set Key Encrypting Key labels. | ||
94 | */ | ||
95 | #define TAPE390_KEKL_SET _IOW('d', 4, struct tape390_kekl_pair) | ||
96 | |||
97 | /* | ||
98 | * The TAPE390_KEKL_QUERY ioctl is used to query Key Encrypting Key labels. | ||
99 | */ | ||
100 | #define TAPE390_KEKL_QUERY _IOR('d', 5, struct tape390_kekl_pair) | ||
101 | |||
102 | #endif | ||
diff --git a/arch/s390/include/asm/termbits.h b/arch/s390/include/asm/termbits.h deleted file mode 100644 index 71bf6ac6a2b9..000000000000 --- a/arch/s390/include/asm/termbits.h +++ /dev/null | |||
@@ -1,6 +0,0 @@ | |||
1 | #ifndef _ASM_S390_TERMBITS_H | ||
2 | #define _ASM_S390_TERMBITS_H | ||
3 | |||
4 | #include <asm-generic/termbits.h> | ||
5 | |||
6 | #endif | ||
diff --git a/arch/s390/include/asm/termios.h b/arch/s390/include/asm/termios.h index cb9fe2786b81..db028d17f061 100644 --- a/arch/s390/include/asm/termios.h +++ b/arch/s390/include/asm/termios.h | |||
@@ -3,49 +3,11 @@ | |||
3 | * | 3 | * |
4 | * Derived from "include/asm-i386/termios.h" | 4 | * Derived from "include/asm-i386/termios.h" |
5 | */ | 5 | */ |
6 | |||
7 | #ifndef _S390_TERMIOS_H | 6 | #ifndef _S390_TERMIOS_H |
8 | #define _S390_TERMIOS_H | 7 | #define _S390_TERMIOS_H |
9 | 8 | ||
10 | #include <asm/termbits.h> | 9 | #include <uapi/asm/termios.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 | 10 | ||
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 | /* intr=^C quit=^\ erase=del kill=^U | 12 | /* intr=^C quit=^\ erase=del kill=^U |
51 | eof=^D vtime=\0 vmin=\1 sxtc=\0 | 13 | eof=^D vtime=\0 vmin=\1 sxtc=\0 |
@@ -60,6 +22,4 @@ struct termio { | |||
60 | 22 | ||
61 | #include <asm-generic/termios-base.h> | 23 | #include <asm-generic/termios-base.h> |
62 | 24 | ||
63 | #endif /* __KERNEL__ */ | ||
64 | |||
65 | #endif /* _S390_TERMIOS_H */ | 25 | #endif /* _S390_TERMIOS_H */ |
diff --git a/arch/s390/include/asm/types.h b/arch/s390/include/asm/types.h index 6ba7c2c7217a..dccef3ca91fa 100644 --- a/arch/s390/include/asm/types.h +++ b/arch/s390/include/asm/types.h | |||
@@ -3,26 +3,14 @@ | |||
3 | * | 3 | * |
4 | * Derived from "include/asm-i386/types.h" | 4 | * Derived from "include/asm-i386/types.h" |
5 | */ | 5 | */ |
6 | |||
7 | #ifndef _S390_TYPES_H | 6 | #ifndef _S390_TYPES_H |
8 | #define _S390_TYPES_H | 7 | #define _S390_TYPES_H |
9 | 8 | ||
10 | #include <asm-generic/int-ll64.h> | 9 | #include <uapi/asm/types.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 | 10 | ||
22 | /* | 11 | /* |
23 | * These aren't exported outside the kernel to avoid name space clashes | 12 | * These aren't exported outside the kernel to avoid name space clashes |
24 | */ | 13 | */ |
25 | #ifdef __KERNEL__ | ||
26 | 14 | ||
27 | #ifndef __ASSEMBLY__ | 15 | #ifndef __ASSEMBLY__ |
28 | 16 | ||
@@ -37,5 +25,4 @@ typedef union { | |||
37 | 25 | ||
38 | #endif /* ! CONFIG_64BIT */ | 26 | #endif /* ! CONFIG_64BIT */ |
39 | #endif /* __ASSEMBLY__ */ | 27 | #endif /* __ASSEMBLY__ */ |
40 | #endif /* __KERNEL__ */ | ||
41 | #endif /* _S390_TYPES_H */ | 28 | #endif /* _S390_TYPES_H */ |
diff --git a/arch/s390/include/asm/ucontext.h b/arch/s390/include/asm/ucontext.h deleted file mode 100644 index 200e06325c6a..000000000000 --- a/arch/s390/include/asm/ucontext.h +++ /dev/null | |||
@@ -1,33 +0,0 @@ | |||
1 | /* | ||
2 | * S390 version | ||
3 | * | ||
4 | * Derived from "include/asm-i386/ucontext.h" | ||
5 | */ | ||
6 | |||
7 | #ifndef _ASM_S390_UCONTEXT_H | ||
8 | #define _ASM_S390_UCONTEXT_H | ||
9 | |||
10 | #define UC_EXTENDED 0x00000001 | ||
11 | |||
12 | #ifndef __s390x__ | ||
13 | |||
14 | struct ucontext_extended { | ||
15 | unsigned long uc_flags; | ||
16 | struct ucontext *uc_link; | ||
17 | stack_t uc_stack; | ||
18 | _sigregs uc_mcontext; | ||
19 | unsigned long uc_sigmask[2]; | ||
20 | unsigned long uc_gprs_high[16]; | ||
21 | }; | ||
22 | |||
23 | #endif | ||
24 | |||
25 | struct ucontext { | ||
26 | unsigned long uc_flags; | ||
27 | struct ucontext *uc_link; | ||
28 | stack_t uc_stack; | ||
29 | _sigregs uc_mcontext; | ||
30 | sigset_t uc_sigmask; /* mask last for extensibility */ | ||
31 | }; | ||
32 | |||
33 | #endif /* !_ASM_S390_UCONTEXT_H */ | ||
diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index 4e64b5cd1558..9a968cebbc0d 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h | |||
@@ -3,375 +3,11 @@ | |||
3 | * | 3 | * |
4 | * Derived from "include/asm-i386/unistd.h" | 4 | * Derived from "include/asm-i386/unistd.h" |
5 | */ | 5 | */ |
6 | |||
7 | #ifndef _ASM_S390_UNISTD_H_ | 6 | #ifndef _ASM_S390_UNISTD_H_ |
8 | #define _ASM_S390_UNISTD_H_ | 7 | #define _ASM_S390_UNISTD_H_ |
9 | 8 | ||
10 | /* | 9 | #include <uapi/asm/unistd.h> |
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 | 10 | ||
374 | #ifdef __KERNEL__ | ||
375 | 11 | ||
376 | #ifndef CONFIG_64BIT | 12 | #ifndef CONFIG_64BIT |
377 | #define __IGNORE_select | 13 | #define __IGNORE_select |
@@ -426,5 +62,4 @@ | |||
426 | */ | 62 | */ |
427 | #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") | 63 | #define cond_syscall(x) asm(".weak\t" #x "\n\t.set\t" #x ",sys_ni_syscall") |
428 | 64 | ||
429 | #endif /* __KERNEL__ */ | ||
430 | #endif /* _ASM_S390_UNISTD_H_ */ | 65 | #endif /* _ASM_S390_UNISTD_H_ */ |
diff --git a/arch/s390/include/asm/vtoc.h b/arch/s390/include/asm/vtoc.h deleted file mode 100644 index 221419de275e..000000000000 --- a/arch/s390/include/asm/vtoc.h +++ /dev/null | |||
@@ -1,213 +0,0 @@ | |||
1 | /* | ||
2 | * This file contains volume label definitions for DASD devices. | ||
3 | * | ||
4 | * Copyright IBM Corp. 2005 | ||
5 | * | ||
6 | * Author(s): Volker Sameske <sameske@de.ibm.com> | ||
7 | * | ||
8 | */ | ||
9 | |||
10 | #ifndef _ASM_S390_VTOC_H | ||
11 | #define _ASM_S390_VTOC_H | ||
12 | |||
13 | #include <linux/types.h> | ||
14 | |||
15 | struct vtoc_ttr | ||
16 | { | ||
17 | __u16 tt; | ||
18 | __u8 r; | ||
19 | } __attribute__ ((packed)); | ||
20 | |||
21 | struct vtoc_cchhb | ||
22 | { | ||
23 | __u16 cc; | ||
24 | __u16 hh; | ||
25 | __u8 b; | ||
26 | } __attribute__ ((packed)); | ||
27 | |||
28 | struct vtoc_cchh | ||
29 | { | ||
30 | __u16 cc; | ||
31 | __u16 hh; | ||
32 | } __attribute__ ((packed)); | ||
33 | |||
34 | struct vtoc_labeldate | ||
35 | { | ||
36 | __u8 year; | ||
37 | __u16 day; | ||
38 | } __attribute__ ((packed)); | ||
39 | |||
40 | struct vtoc_volume_label_cdl | ||
41 | { | ||
42 | char volkey[4]; /* volume key = volume label */ | ||
43 | char vollbl[4]; /* volume label */ | ||
44 | char volid[6]; /* volume identifier */ | ||
45 | __u8 security; /* security byte */ | ||
46 | struct vtoc_cchhb vtoc; /* VTOC address */ | ||
47 | char res1[5]; /* reserved */ | ||
48 | char cisize[4]; /* CI-size for FBA,... */ | ||
49 | /* ...blanks for CKD */ | ||
50 | char blkperci[4]; /* no of blocks per CI (FBA), blanks for CKD */ | ||
51 | char labperci[4]; /* no of labels per CI (FBA), blanks for CKD */ | ||
52 | char res2[4]; /* reserved */ | ||
53 | char lvtoc[14]; /* owner code for LVTOC */ | ||
54 | char res3[29]; /* reserved */ | ||
55 | } __attribute__ ((packed)); | ||
56 | |||
57 | struct vtoc_volume_label_ldl { | ||
58 | char vollbl[4]; /* volume label */ | ||
59 | char volid[6]; /* volume identifier */ | ||
60 | char res3[69]; /* reserved */ | ||
61 | char ldl_version; /* version number, valid for ldl format */ | ||
62 | __u64 formatted_blocks; /* valid when ldl_version >= f2 */ | ||
63 | } __attribute__ ((packed)); | ||
64 | |||
65 | struct vtoc_extent | ||
66 | { | ||
67 | __u8 typeind; /* extent type indicator */ | ||
68 | __u8 seqno; /* extent sequence number */ | ||
69 | struct vtoc_cchh llimit; /* starting point of this extent */ | ||
70 | struct vtoc_cchh ulimit; /* ending point of this extent */ | ||
71 | } __attribute__ ((packed)); | ||
72 | |||
73 | struct vtoc_dev_const | ||
74 | { | ||
75 | __u16 DS4DSCYL; /* number of logical cyls */ | ||
76 | __u16 DS4DSTRK; /* number of tracks in a logical cylinder */ | ||
77 | __u16 DS4DEVTK; /* device track length */ | ||
78 | __u8 DS4DEVI; /* non-last keyed record overhead */ | ||
79 | __u8 DS4DEVL; /* last keyed record overhead */ | ||
80 | __u8 DS4DEVK; /* non-keyed record overhead differential */ | ||
81 | __u8 DS4DEVFG; /* flag byte */ | ||
82 | __u16 DS4DEVTL; /* device tolerance */ | ||
83 | __u8 DS4DEVDT; /* number of DSCB's per track */ | ||
84 | __u8 DS4DEVDB; /* number of directory blocks per track */ | ||
85 | } __attribute__ ((packed)); | ||
86 | |||
87 | struct vtoc_format1_label | ||
88 | { | ||
89 | char DS1DSNAM[44]; /* data set name */ | ||
90 | __u8 DS1FMTID; /* format identifier */ | ||
91 | char DS1DSSN[6]; /* data set serial number */ | ||
92 | __u16 DS1VOLSQ; /* volume sequence number */ | ||
93 | struct vtoc_labeldate DS1CREDT; /* creation date: ydd */ | ||
94 | struct vtoc_labeldate DS1EXPDT; /* expiration date */ | ||
95 | __u8 DS1NOEPV; /* number of extents on volume */ | ||
96 | __u8 DS1NOBDB; /* no. of bytes used in last direction blk */ | ||
97 | __u8 DS1FLAG1; /* flag 1 */ | ||
98 | char DS1SYSCD[13]; /* system code */ | ||
99 | struct vtoc_labeldate DS1REFD; /* date last referenced */ | ||
100 | __u8 DS1SMSFG; /* system managed storage indicators */ | ||
101 | __u8 DS1SCXTF; /* sec. space extension flag byte */ | ||
102 | __u16 DS1SCXTV; /* secondary space extension value */ | ||
103 | __u8 DS1DSRG1; /* data set organisation byte 1 */ | ||
104 | __u8 DS1DSRG2; /* data set organisation byte 2 */ | ||
105 | __u8 DS1RECFM; /* record format */ | ||
106 | __u8 DS1OPTCD; /* option code */ | ||
107 | __u16 DS1BLKL; /* block length */ | ||
108 | __u16 DS1LRECL; /* record length */ | ||
109 | __u8 DS1KEYL; /* key length */ | ||
110 | __u16 DS1RKP; /* relative key position */ | ||
111 | __u8 DS1DSIND; /* data set indicators */ | ||
112 | __u8 DS1SCAL1; /* secondary allocation flag byte */ | ||
113 | char DS1SCAL3[3]; /* secondary allocation quantity */ | ||
114 | struct vtoc_ttr DS1LSTAR; /* last used track and block on track */ | ||
115 | __u16 DS1TRBAL; /* space remaining on last used track */ | ||
116 | __u16 res1; /* reserved */ | ||
117 | struct vtoc_extent DS1EXT1; /* first extent description */ | ||
118 | struct vtoc_extent DS1EXT2; /* second extent description */ | ||
119 | struct vtoc_extent DS1EXT3; /* third extent description */ | ||
120 | struct vtoc_cchhb DS1PTRDS; /* possible pointer to f2 or f3 DSCB */ | ||
121 | } __attribute__ ((packed)); | ||
122 | |||
123 | struct vtoc_format4_label | ||
124 | { | ||
125 | char DS4KEYCD[44]; /* key code for VTOC labels: 44 times 0x04 */ | ||
126 | __u8 DS4IDFMT; /* format identifier */ | ||
127 | struct vtoc_cchhb DS4HPCHR; /* highest address of a format 1 DSCB */ | ||
128 | __u16 DS4DSREC; /* number of available DSCB's */ | ||
129 | struct vtoc_cchh DS4HCCHH; /* CCHH of next available alternate track */ | ||
130 | __u16 DS4NOATK; /* number of remaining alternate tracks */ | ||
131 | __u8 DS4VTOCI; /* VTOC indicators */ | ||
132 | __u8 DS4NOEXT; /* number of extents in VTOC */ | ||
133 | __u8 DS4SMSFG; /* system managed storage indicators */ | ||
134 | __u8 DS4DEVAC; /* number of alternate cylinders. | ||
135 | * Subtract from first two bytes of | ||
136 | * DS4DEVSZ to get number of usable | ||
137 | * cylinders. can be zero. valid | ||
138 | * only if DS4DEVAV on. */ | ||
139 | struct vtoc_dev_const DS4DEVCT; /* device constants */ | ||
140 | char DS4AMTIM[8]; /* VSAM time stamp */ | ||
141 | char DS4AMCAT[3]; /* VSAM catalog indicator */ | ||
142 | char DS4R2TIM[8]; /* VSAM volume/catalog match time stamp */ | ||
143 | char res1[5]; /* reserved */ | ||
144 | char DS4F6PTR[5]; /* pointer to first format 6 DSCB */ | ||
145 | struct vtoc_extent DS4VTOCE; /* VTOC extent description */ | ||
146 | char res2[10]; /* reserved */ | ||
147 | __u8 DS4EFLVL; /* extended free-space management level */ | ||
148 | struct vtoc_cchhb DS4EFPTR; /* pointer to extended free-space info */ | ||
149 | char res3; /* reserved */ | ||
150 | __u32 DS4DCYL; /* number of logical cyls */ | ||
151 | char res4[2]; /* reserved */ | ||
152 | __u8 DS4DEVF2; /* device flags */ | ||
153 | char res5; /* reserved */ | ||
154 | } __attribute__ ((packed)); | ||
155 | |||
156 | struct vtoc_ds5ext | ||
157 | { | ||
158 | __u16 t; /* RTA of the first track of free extent */ | ||
159 | __u16 fc; /* number of whole cylinders in free ext. */ | ||
160 | __u8 ft; /* number of remaining free tracks */ | ||
161 | } __attribute__ ((packed)); | ||
162 | |||
163 | struct vtoc_format5_label | ||
164 | { | ||
165 | char DS5KEYID[4]; /* key identifier */ | ||
166 | struct vtoc_ds5ext DS5AVEXT; /* first available (free-space) extent. */ | ||
167 | struct vtoc_ds5ext DS5EXTAV[7]; /* seven available extents */ | ||
168 | __u8 DS5FMTID; /* format identifier */ | ||
169 | struct vtoc_ds5ext DS5MAVET[18]; /* eighteen available extents */ | ||
170 | struct vtoc_cchhb DS5PTRDS; /* pointer to next format5 DSCB */ | ||
171 | } __attribute__ ((packed)); | ||
172 | |||
173 | struct vtoc_ds7ext | ||
174 | { | ||
175 | __u32 a; /* starting RTA value */ | ||
176 | __u32 b; /* ending RTA value + 1 */ | ||
177 | } __attribute__ ((packed)); | ||
178 | |||
179 | struct vtoc_format7_label | ||
180 | { | ||
181 | char DS7KEYID[4]; /* key identifier */ | ||
182 | struct vtoc_ds7ext DS7EXTNT[5]; /* space for 5 extent descriptions */ | ||
183 | __u8 DS7FMTID; /* format identifier */ | ||
184 | struct vtoc_ds7ext DS7ADEXT[11]; /* space for 11 extent descriptions */ | ||
185 | char res1[2]; /* reserved */ | ||
186 | struct vtoc_cchhb DS7PTRDS; /* pointer to next FMT7 DSCB */ | ||
187 | } __attribute__ ((packed)); | ||
188 | |||
189 | struct vtoc_cms_label { | ||
190 | __u8 label_id[4]; /* Label identifier */ | ||
191 | __u8 vol_id[6]; /* Volid */ | ||
192 | __u16 version_id; /* Version identifier */ | ||
193 | __u32 block_size; /* Disk block size */ | ||
194 | __u32 origin_ptr; /* Disk origin pointer */ | ||
195 | __u32 usable_count; /* Number of usable cylinders/blocks */ | ||
196 | __u32 formatted_count; /* Maximum number of formatted cylinders/ | ||
197 | * blocks */ | ||
198 | __u32 block_count; /* Disk size in CMS blocks */ | ||
199 | __u32 used_count; /* Number of CMS blocks in use */ | ||
200 | __u32 fst_size; /* File Status Table (FST) size */ | ||
201 | __u32 fst_count; /* Number of FSTs per CMS block */ | ||
202 | __u8 format_date[6]; /* Disk FORMAT date */ | ||
203 | __u8 reserved1[2]; | ||
204 | __u32 disk_offset; /* Disk offset when reserved*/ | ||
205 | __u32 map_block; /* Allocation Map Block with next hole */ | ||
206 | __u32 hblk_disp; /* Displacement into HBLK data of next hole */ | ||
207 | __u32 user_disp; /* Displacement into user part of Allocation | ||
208 | * map */ | ||
209 | __u8 reserved2[4]; | ||
210 | __u8 segment_name[8]; /* Name of shared segment */ | ||
211 | } __attribute__ ((packed)); | ||
212 | |||
213 | #endif /* _ASM_S390_VTOC_H */ | ||
diff --git a/arch/s390/include/asm/zcrypt.h b/arch/s390/include/asm/zcrypt.h deleted file mode 100644 index e83fc116f5bf..000000000000 --- a/arch/s390/include/asm/zcrypt.h +++ /dev/null | |||
@@ -1,276 +0,0 @@ | |||
1 | /* | ||
2 | * include/asm-s390/zcrypt.h | ||
3 | * | ||
4 | * zcrypt 2.1.0 (user-visible header) | ||
5 | * | ||
6 | * Copyright IBM Corp. 2001, 2006 | ||
7 | * Author(s): Robert Burroughs | ||
8 | * Eric Rossman (edrossma@us.ibm.com) | ||
9 | * | ||
10 | * Hotplug & misc device support: Jochen Roehrig (roehrig@de.ibm.com) | ||
11 | * | ||
12 | * This program is free software; you can redistribute it and/or modify | ||
13 | * it under the terms of the GNU General Public License as published by | ||
14 | * the Free Software Foundation; either version 2, or (at your option) | ||
15 | * any later version. | ||
16 | * | ||
17 | * This program is distributed in the hope that it will be useful, | ||
18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
20 | * GNU General Public License for more details. | ||
21 | * | ||
22 | * You should have received a copy of the GNU General Public License | ||
23 | * along with this program; if not, write to the Free Software | ||
24 | * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | ||
25 | */ | ||
26 | |||
27 | #ifndef __ASM_S390_ZCRYPT_H | ||
28 | #define __ASM_S390_ZCRYPT_H | ||
29 | |||
30 | #define ZCRYPT_VERSION 2 | ||
31 | #define ZCRYPT_RELEASE 1 | ||
32 | #define ZCRYPT_VARIANT 1 | ||
33 | |||
34 | #include <linux/ioctl.h> | ||
35 | #include <linux/compiler.h> | ||
36 | |||
37 | /** | ||
38 | * struct ica_rsa_modexpo | ||
39 | * | ||
40 | * Requirements: | ||
41 | * - outputdatalength is at least as large as inputdatalength. | ||
42 | * - All key parts are right justified in their fields, padded on | ||
43 | * the left with zeroes. | ||
44 | * - length(b_key) = inputdatalength | ||
45 | * - length(n_modulus) = inputdatalength | ||
46 | */ | ||
47 | struct ica_rsa_modexpo { | ||
48 | char __user * inputdata; | ||
49 | unsigned int inputdatalength; | ||
50 | char __user * outputdata; | ||
51 | unsigned int outputdatalength; | ||
52 | char __user * b_key; | ||
53 | char __user * n_modulus; | ||
54 | }; | ||
55 | |||
56 | /** | ||
57 | * struct ica_rsa_modexpo_crt | ||
58 | * | ||
59 | * Requirements: | ||
60 | * - inputdatalength is even. | ||
61 | * - outputdatalength is at least as large as inputdatalength. | ||
62 | * - All key parts are right justified in their fields, padded on | ||
63 | * the left with zeroes. | ||
64 | * - length(bp_key) = inputdatalength/2 + 8 | ||
65 | * - length(bq_key) = inputdatalength/2 | ||
66 | * - length(np_key) = inputdatalength/2 + 8 | ||
67 | * - length(nq_key) = inputdatalength/2 | ||
68 | * - length(u_mult_inv) = inputdatalength/2 + 8 | ||
69 | */ | ||
70 | struct ica_rsa_modexpo_crt { | ||
71 | char __user * inputdata; | ||
72 | unsigned int inputdatalength; | ||
73 | char __user * outputdata; | ||
74 | unsigned int outputdatalength; | ||
75 | char __user * bp_key; | ||
76 | char __user * bq_key; | ||
77 | char __user * np_prime; | ||
78 | char __user * nq_prime; | ||
79 | char __user * u_mult_inv; | ||
80 | }; | ||
81 | |||
82 | /** | ||
83 | * CPRBX | ||
84 | * Note that all shorts and ints are big-endian. | ||
85 | * All pointer fields are 16 bytes long, and mean nothing. | ||
86 | * | ||
87 | * A request CPRB is followed by a request_parameter_block. | ||
88 | * | ||
89 | * The request (or reply) parameter block is organized thus: | ||
90 | * function code | ||
91 | * VUD block | ||
92 | * key block | ||
93 | */ | ||
94 | struct CPRBX { | ||
95 | unsigned short cprb_len; /* CPRB length 220 */ | ||
96 | unsigned char cprb_ver_id; /* CPRB version id. 0x02 */ | ||
97 | unsigned char pad_000[3]; /* Alignment pad bytes */ | ||
98 | unsigned char func_id[2]; /* function id 0x5432 */ | ||
99 | unsigned char cprb_flags[4]; /* Flags */ | ||
100 | unsigned int req_parml; /* request parameter buffer len */ | ||
101 | unsigned int req_datal; /* request data buffer */ | ||
102 | unsigned int rpl_msgbl; /* reply message block length */ | ||
103 | unsigned int rpld_parml; /* replied parameter block len */ | ||
104 | unsigned int rpl_datal; /* reply data block len */ | ||
105 | unsigned int rpld_datal; /* replied data block len */ | ||
106 | unsigned int req_extbl; /* request extension block len */ | ||
107 | unsigned char pad_001[4]; /* reserved */ | ||
108 | unsigned int rpld_extbl; /* replied extension block len */ | ||
109 | unsigned char padx000[16 - sizeof (char *)]; | ||
110 | unsigned char * req_parmb; /* request parm block 'address' */ | ||
111 | unsigned char padx001[16 - sizeof (char *)]; | ||
112 | unsigned char * req_datab; /* request data block 'address' */ | ||
113 | unsigned char padx002[16 - sizeof (char *)]; | ||
114 | unsigned char * rpl_parmb; /* reply parm block 'address' */ | ||
115 | unsigned char padx003[16 - sizeof (char *)]; | ||
116 | unsigned char * rpl_datab; /* reply data block 'address' */ | ||
117 | unsigned char padx004[16 - sizeof (char *)]; | ||
118 | unsigned char * req_extb; /* request extension block 'addr'*/ | ||
119 | unsigned char padx005[16 - sizeof (char *)]; | ||
120 | unsigned char * rpl_extb; /* reply extension block 'address'*/ | ||
121 | unsigned short ccp_rtcode; /* server return code */ | ||
122 | unsigned short ccp_rscode; /* server reason code */ | ||
123 | unsigned int mac_data_len; /* Mac Data Length */ | ||
124 | unsigned char logon_id[8]; /* Logon Identifier */ | ||
125 | unsigned char mac_value[8]; /* Mac Value */ | ||
126 | unsigned char mac_content_flgs;/* Mac content flag byte */ | ||
127 | unsigned char pad_002; /* Alignment */ | ||
128 | unsigned short domain; /* Domain */ | ||
129 | unsigned char usage_domain[4];/* Usage domain */ | ||
130 | unsigned char cntrl_domain[4];/* Control domain */ | ||
131 | unsigned char S390enf_mask[4];/* S/390 enforcement mask */ | ||
132 | unsigned char pad_004[36]; /* reserved */ | ||
133 | } __attribute__((packed)); | ||
134 | |||
135 | /** | ||
136 | * xcRB | ||
137 | */ | ||
138 | struct ica_xcRB { | ||
139 | unsigned short agent_ID; | ||
140 | unsigned int user_defined; | ||
141 | unsigned short request_ID; | ||
142 | unsigned int request_control_blk_length; | ||
143 | unsigned char padding1[16 - sizeof (char *)]; | ||
144 | char __user * request_control_blk_addr; | ||
145 | unsigned int request_data_length; | ||
146 | char padding2[16 - sizeof (char *)]; | ||
147 | char __user * request_data_address; | ||
148 | unsigned int reply_control_blk_length; | ||
149 | char padding3[16 - sizeof (char *)]; | ||
150 | char __user * reply_control_blk_addr; | ||
151 | unsigned int reply_data_length; | ||
152 | char padding4[16 - sizeof (char *)]; | ||
153 | char __user * reply_data_addr; | ||
154 | unsigned short priority_window; | ||
155 | unsigned int status; | ||
156 | } __attribute__((packed)); | ||
157 | #define AUTOSELECT ((unsigned int)0xFFFFFFFF) | ||
158 | |||
159 | #define ZCRYPT_IOCTL_MAGIC 'z' | ||
160 | |||
161 | /** | ||
162 | * Interface notes: | ||
163 | * | ||
164 | * The ioctl()s which are implemented (along with relevant details) | ||
165 | * are: | ||
166 | * | ||
167 | * ICARSAMODEXPO | ||
168 | * Perform an RSA operation using a Modulus-Exponent pair | ||
169 | * This takes an ica_rsa_modexpo struct as its arg. | ||
170 | * | ||
171 | * NOTE: please refer to the comments preceding this structure | ||
172 | * for the implementation details for the contents of the | ||
173 | * block | ||
174 | * | ||
175 | * ICARSACRT | ||
176 | * Perform an RSA operation using a Chinese-Remainder Theorem key | ||
177 | * This takes an ica_rsa_modexpo_crt struct as its arg. | ||
178 | * | ||
179 | * NOTE: please refer to the comments preceding this structure | ||
180 | * for the implementation details for the contents of the | ||
181 | * block | ||
182 | * | ||
183 | * ZSECSENDCPRB | ||
184 | * Send an arbitrary CPRB to a crypto card. | ||
185 | * | ||
186 | * Z90STAT_STATUS_MASK | ||
187 | * Return an 64 element array of unsigned chars for the status of | ||
188 | * all devices. | ||
189 | * 0x01: PCICA | ||
190 | * 0x02: PCICC | ||
191 | * 0x03: PCIXCC_MCL2 | ||
192 | * 0x04: PCIXCC_MCL3 | ||
193 | * 0x05: CEX2C | ||
194 | * 0x06: CEX2A | ||
195 | * 0x0d: device is disabled via the proc filesystem | ||
196 | * | ||
197 | * Z90STAT_QDEPTH_MASK | ||
198 | * Return an 64 element array of unsigned chars for the queue | ||
199 | * depth of all devices. | ||
200 | * | ||
201 | * Z90STAT_PERDEV_REQCNT | ||
202 | * Return an 64 element array of unsigned integers for the number | ||
203 | * of successfully completed requests per device since the device | ||
204 | * was detected and made available. | ||
205 | * | ||
206 | * Z90STAT_REQUESTQ_COUNT | ||
207 | * Return an integer count of the number of entries waiting to be | ||
208 | * sent to a device. | ||
209 | * | ||
210 | * Z90STAT_PENDINGQ_COUNT | ||
211 | * Return an integer count of the number of entries sent to all | ||
212 | * devices awaiting the reply. | ||
213 | * | ||
214 | * Z90STAT_TOTALOPEN_COUNT | ||
215 | * Return an integer count of the number of open file handles. | ||
216 | * | ||
217 | * Z90STAT_DOMAIN_INDEX | ||
218 | * Return the integer value of the Cryptographic Domain. | ||
219 | * | ||
220 | * The following ioctls are deprecated and should be no longer used: | ||
221 | * | ||
222 | * Z90STAT_TOTALCOUNT | ||
223 | * Return an integer count of all device types together. | ||
224 | * | ||
225 | * Z90STAT_PCICACOUNT | ||
226 | * Return an integer count of all PCICAs. | ||
227 | * | ||
228 | * Z90STAT_PCICCCOUNT | ||
229 | * Return an integer count of all PCICCs. | ||
230 | * | ||
231 | * Z90STAT_PCIXCCMCL2COUNT | ||
232 | * Return an integer count of all MCL2 PCIXCCs. | ||
233 | * | ||
234 | * Z90STAT_PCIXCCMCL3COUNT | ||
235 | * Return an integer count of all MCL3 PCIXCCs. | ||
236 | * | ||
237 | * Z90STAT_CEX2CCOUNT | ||
238 | * Return an integer count of all CEX2Cs. | ||
239 | * | ||
240 | * Z90STAT_CEX2ACOUNT | ||
241 | * Return an integer count of all CEX2As. | ||
242 | * | ||
243 | * ICAZ90STATUS | ||
244 | * Return some device driver status in a ica_z90_status struct | ||
245 | * This takes an ica_z90_status struct as its arg. | ||
246 | * | ||
247 | * Z90STAT_PCIXCCCOUNT | ||
248 | * Return an integer count of all PCIXCCs (MCL2 + MCL3). | ||
249 | * This is DEPRECATED now that MCL3 PCIXCCs are treated differently from | ||
250 | * MCL2 PCIXCCs. | ||
251 | */ | ||
252 | |||
253 | /** | ||
254 | * Supported ioctl calls | ||
255 | */ | ||
256 | #define ICARSAMODEXPO _IOC(_IOC_READ|_IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x05, 0) | ||
257 | #define ICARSACRT _IOC(_IOC_READ|_IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x06, 0) | ||
258 | #define ZSECSENDCPRB _IOC(_IOC_READ|_IOC_WRITE, ZCRYPT_IOCTL_MAGIC, 0x81, 0) | ||
259 | |||
260 | /* New status calls */ | ||
261 | #define Z90STAT_TOTALCOUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x40, int) | ||
262 | #define Z90STAT_PCICACOUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x41, int) | ||
263 | #define Z90STAT_PCICCCOUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x42, int) | ||
264 | #define Z90STAT_PCIXCCMCL2COUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x4b, int) | ||
265 | #define Z90STAT_PCIXCCMCL3COUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x4c, int) | ||
266 | #define Z90STAT_CEX2CCOUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x4d, int) | ||
267 | #define Z90STAT_CEX2ACOUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x4e, int) | ||
268 | #define Z90STAT_REQUESTQ_COUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x44, int) | ||
269 | #define Z90STAT_PENDINGQ_COUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x45, int) | ||
270 | #define Z90STAT_TOTALOPEN_COUNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x46, int) | ||
271 | #define Z90STAT_DOMAIN_INDEX _IOR(ZCRYPT_IOCTL_MAGIC, 0x47, int) | ||
272 | #define Z90STAT_STATUS_MASK _IOR(ZCRYPT_IOCTL_MAGIC, 0x48, char[64]) | ||
273 | #define Z90STAT_QDEPTH_MASK _IOR(ZCRYPT_IOCTL_MAGIC, 0x49, char[64]) | ||
274 | #define Z90STAT_PERDEV_REQCNT _IOR(ZCRYPT_IOCTL_MAGIC, 0x4a, int[64]) | ||
275 | |||
276 | #endif /* __ASM_S390_ZCRYPT_H */ | ||