2 * linux/drivers/s390/crypto/z90common.h
6 * Copyright (C) 2001, 2005 IBM Corporation
7 * Author(s): Robert Burroughs (burrough@us.ibm.com)
8 * Eric Rossman (edrossma@us.ibm.com)
10 * Hotplug & misc device support: Jochen Roehrig (roehrig@de.ibm.com)
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)
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.
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.
31 #define RESPBUFFSIZE 256
32 #define PCI_FUNC_KEY_DECRYPT 0x5044
33 #define PCI_FUNC_KEY_ENCRYPT 0x504B
34 extern int ext_bitlens
;
58 #define Z90C_NO_DEVICES 1
59 #define Z90C_AMBIGUOUS_DOMAIN 2
60 #define Z90C_INCORRECT_DOMAIN 3
64 #define SEN_USER_ERROR 8
65 #define SEN_QUEUE_FULL 11
66 #define SEN_NOT_AVAIL 16
67 #define SEN_PAD_ERROR 17
69 #define SEN_RELEASED 24
73 #define REC_OPERAND_INV 8
74 #define REC_OPERAND_SIZE 9
75 #define REC_EVEN_MOD 10
76 #define REC_NO_WORK 11
77 #define REC_HARDWAR_ERR 12
78 #define REC_NO_RESPONSE 13
79 #define REC_RETRY_DEV 14
80 #define REC_USER_GONE 15
81 #define REC_BAD_MESSAGE 16
82 #define REC_INVALID_PAD 17
83 #define REC_USE_PCICA 18
85 #define WRONG_DEVICE_TYPE 20
87 #define REC_FATAL_ERROR 32
88 #define SEN_FATAL_ERROR 33
89 #define TSQ_FATAL_ERROR 34
90 #define RSQ_FATAL_ERROR 35
92 #define Z90CRYPT_NUM_TYPES 6
101 #define PCIXCC_UNK -2
112 unsigned short cprb_len
;
113 unsigned char cprb_ver_id
;
114 unsigned char pad_000
[3];
115 unsigned char func_id
[2];
116 unsigned char cprb_flags
[4];
117 unsigned int req_parml
;
118 unsigned int req_datal
;
119 unsigned int rpl_msgbl
;
120 unsigned int rpld_parml
;
121 unsigned int rpl_datal
;
122 unsigned int rpld_datal
;
123 unsigned int req_extbl
;
124 unsigned char pad_001
[4];
125 unsigned int rpld_extbl
;
126 unsigned char req_parmb
[16];
127 unsigned char req_datab
[16];
128 unsigned char rpl_parmb
[16];
129 unsigned char rpl_datab
[16];
130 unsigned char req_extb
[16];
131 unsigned char rpl_extb
[16];
132 unsigned short ccp_rtcode
;
133 unsigned short ccp_rscode
;
134 unsigned int mac_data_len
;
135 unsigned char logon_id
[8];
136 unsigned char mac_value
[8];
137 unsigned char mac_content_flgs
;
138 unsigned char pad_002
;
139 unsigned short domain
;
140 unsigned char pad_003
[12];
141 unsigned char pad_004
[36];
145 #define DEV_NAME "z90crypt"
147 #define PRINTK(fmt, args...) \
148 printk(KERN_DEBUG DEV_NAME ": %s -> " fmt, __FUNCTION__ , ## args)
149 #define PRINTKN(fmt, args...) \
150 printk(KERN_DEBUG DEV_NAME ": " fmt, ## args)
151 #define PRINTKW(fmt, args...) \
152 printk(KERN_WARNING DEV_NAME ": %s -> " fmt, __FUNCTION__ , ## args)
153 #define PRINTKC(fmt, args...) \
154 printk(KERN_CRIT DEV_NAME ": %s -> " fmt, __FUNCTION__ , ## args)
156 #ifdef Z90CRYPT_DEBUG
157 #define PDEBUG(fmt, args...) \
158 printk(KERN_DEBUG DEV_NAME ": %s -> " fmt, __FUNCTION__ , ## args)
160 #define PDEBUG(fmt, args...) do {} while (0)
163 #define UMIN(a,b) ((a) < (b) ? (a) : (b))
164 #define IS_EVEN(x) ((x) == (2 * ((x) / 2)))