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
12 #define MDSK_WRITE_REQ 0x01
13 #define MDSK_READ_REQ 0x02
19 #define DEV_CLASS_FBA 0x01
20 #define DEV_CLASS_ECKD 0x04
22 #define DASD_DIAG_LC_INT_CODE 132
23 #define DASD_DIAG_LC_INT_STATUS 133
24 #define DASD_DIAG_LC_INT_PARM_31BIT 128
25 #define DASD_DIAG_LC_INT_PARM_64BIT 4536
26 #define DASD_DIAG_CODE_31BIT 0x03
27 #define DASD_DIAG_CODE_64BIT 0x07
29 #define DASD_DIAG_RWFLAG_ASYNC 0x02
30 #define DASD_DIAG_RWFLAG_NOCACHE 0x01
32 #define DASD_DIAG_FLAGA_FORMAT_64BIT 0x80
34 struct dasd_diag_characteristics
{
45 } __attribute__ ((packed
, aligned(4)));
49 #define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BIT
51 typedef u64 blocknum_t
;
52 typedef s64 sblocknum_t
;
54 struct dasd_diag_bio
{
59 blocknum_t block_number
;
61 } __attribute__ ((packed
, aligned(8)));
63 struct dasd_diag_init_io
{
70 sblocknum_t start_block
;
73 } __attribute__ ((packed
, aligned(8)));
75 struct dasd_diag_rw_io
{
86 struct dasd_diag_bio
*bio_list
;
88 } __attribute__ ((packed
, aligned(8)));
89 #else /* CONFIG_64BIT */
90 #define DASD_DIAG_FLAGA_DEFAULT 0x0
92 typedef u32 blocknum_t
;
93 typedef s32 sblocknum_t
;
95 struct dasd_diag_bio
{
99 blocknum_t block_number
;
102 } __attribute__ ((packed
, aligned(8)));
104 struct dasd_diag_init_io
{
110 sblocknum_t start_block
;
111 blocknum_t end_block
;
113 } __attribute__ ((packed
, aligned(8)));
115 struct dasd_diag_rw_io
{
124 struct dasd_diag_bio
*bio_list
;
125 u32 interrupt_params
;
127 } __attribute__ ((packed
, aligned(8)));
128 #endif /* CONFIG_64BIT */