2 * File...........: linux/drivers/s390/block/dasd_diag.h
3 * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>
4 * Based on.......: linux/drivers/s390/block/mdisk.h
5 * ...............: by Hartmunt Penner <hpenner@de.ibm.com>
6 * Bugreports.to..: <Linux390@de.ibm.com>
7 * (C) IBM Corporation, IBM Deutschland Entwicklung GmbH, 1999,2000
11 #define MDSK_WRITE_REQ 0x01
12 #define MDSK_READ_REQ 0x02
18 #define DEV_CLASS_FBA 0x01
19 #define DEV_CLASS_ECKD 0x04
21 #define DASD_DIAG_LC_INT_CODE 132
22 #define DASD_DIAG_LC_INT_STATUS 133
23 #define DASD_DIAG_LC_INT_PARM_31BIT 128
24 #define DASD_DIAG_LC_INT_PARM_64BIT 4536
25 #define DASD_DIAG_CODE_31BIT 0x03
26 #define DASD_DIAG_CODE_64BIT 0x07
28 #define DASD_DIAG_RWFLAG_ASYNC 0x02
29 #define DASD_DIAG_RWFLAG_NOCACHE 0x01
31 #define DASD_DIAG_FLAGA_FORMAT_64BIT 0x80
33 struct dasd_diag_characteristics {
44 } __attribute__ ((packed, aligned(4)));
48 #define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BIT
50 typedef u64 blocknum_t;
51 typedef s64 sblocknum_t;
53 struct dasd_diag_bio {
58 blocknum_t block_number;
60 } __attribute__ ((packed, aligned(8)));
62 struct dasd_diag_init_io {
69 sblocknum_t start_block;
72 } __attribute__ ((packed, aligned(8)));
74 struct dasd_diag_rw_io {
85 struct dasd_diag_bio *bio_list;
87 } __attribute__ ((packed, aligned(8)));
88 #else /* CONFIG_64BIT */
89 #define DASD_DIAG_FLAGA_DEFAULT 0x0
91 typedef u32 blocknum_t;
92 typedef s32 sblocknum_t;
94 struct dasd_diag_bio {
98 blocknum_t block_number;
101 } __attribute__ ((packed, aligned(8)));
103 struct dasd_diag_init_io {
109 sblocknum_t start_block;
110 blocknum_t end_block;
112 } __attribute__ ((packed, aligned(8)));
114 struct dasd_diag_rw_io {
123 struct dasd_diag_bio *bio_list;
124 u32 interrupt_params;
126 } __attribute__ ((packed, aligned(8)));
127 #endif /* CONFIG_64BIT */