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_CODE_31BIT 0x03
22 #define DASD_DIAG_CODE_64BIT 0x07
24 #define DASD_DIAG_RWFLAG_ASYNC 0x02
25 #define DASD_DIAG_RWFLAG_NOCACHE 0x01
27 #define DASD_DIAG_FLAGA_FORMAT_64BIT 0x80
29 struct dasd_diag_characteristics
{
40 } __attribute__ ((packed
, aligned(4)));
44 #define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BIT
46 typedef u64 blocknum_t
;
47 typedef s64 sblocknum_t
;
49 struct dasd_diag_bio
{
54 blocknum_t block_number
;
56 } __attribute__ ((packed
, aligned(8)));
58 struct dasd_diag_init_io
{
65 sblocknum_t start_block
;
68 } __attribute__ ((packed
, aligned(8)));
70 struct dasd_diag_rw_io
{
81 struct dasd_diag_bio
*bio_list
;
83 } __attribute__ ((packed
, aligned(8)));
84 #else /* CONFIG_64BIT */
85 #define DASD_DIAG_FLAGA_DEFAULT 0x0
87 typedef u32 blocknum_t
;
88 typedef s32 sblocknum_t
;
90 struct dasd_diag_bio
{
94 blocknum_t block_number
;
97 } __attribute__ ((packed
, aligned(8)));
99 struct dasd_diag_init_io
{
105 sblocknum_t start_block
;
106 blocknum_t end_block
;
108 } __attribute__ ((packed
, aligned(8)));
110 struct dasd_diag_rw_io
{
119 struct dasd_diag_bio
*bio_list
;
120 u32 interrupt_params
;
122 } __attribute__ ((packed
, aligned(8)));
123 #endif /* CONFIG_64BIT */