82 lines · c
1/* SPDX-License-Identifier: GPL-2.0 */2/*3 * Author(s)......: Holger Smolinski <Holger.Smolinski@de.ibm.com>4 * Based on.......: linux/drivers/s390/block/mdisk.h5 * ...............: by Hartmunt Penner <hpenner@de.ibm.com>6 * Bugreports.to..: <Linux390@de.ibm.com>7 * Copyright IBM Corp. 1999, 20008 *9 */10 11#define MDSK_WRITE_REQ 0x0112#define MDSK_READ_REQ 0x0213 14#define INIT_BIO 0x0015#define RW_BIO 0x0116#define TERM_BIO 0x0217 18#define DEV_CLASS_FBA 0x0119#define DEV_CLASS_ECKD 0x0420 21#define DASD_DIAG_CODE_31BIT 0x0322#define DASD_DIAG_CODE_64BIT 0x0723 24#define DASD_DIAG_RWFLAG_ASYNC 0x0225#define DASD_DIAG_RWFLAG_NOCACHE 0x0126 27#define DASD_DIAG_FLAGA_FORMAT_64BIT 0x8028 29struct dasd_diag_characteristics {30 u16 dev_nr;31 u16 rdc_len;32 u8 vdev_class;33 u8 vdev_type;34 u8 vdev_status;35 u8 vdev_flags;36 u8 rdev_class;37 u8 rdev_type;38 u8 rdev_model;39 u8 rdev_features;40} __attribute__ ((packed, aligned(4)));41 42#define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BIT43 44typedef u64 blocknum_t;45typedef s64 sblocknum_t;46 47struct dasd_diag_bio {48 u8 type;49 u8 status;50 u8 spare1[2];51 u32 alet;52 blocknum_t block_number;53 void *buffer;54} __attribute__ ((packed, aligned(8)));55 56struct dasd_diag_init_io {57 u16 dev_nr;58 u8 flaga;59 u8 spare1[21];60 u32 block_size;61 u8 spare2[4];62 blocknum_t offset;63 sblocknum_t start_block;64 blocknum_t end_block;65 u8 spare3[8];66} __attribute__ ((packed, aligned(8)));67 68struct dasd_diag_rw_io {69 u16 dev_nr;70 u8 flaga;71 u8 spare1[21];72 u8 key;73 u8 flags;74 u8 spare2[2];75 u32 block_count;76 u32 alet;77 u8 spare3[4];78 u64 interrupt_params;79 struct dasd_diag_bio *bio_list;80 u8 spare4[8];81} __attribute__ ((packed, aligned(8)));82