/* SPDX-License-Identifier: GPL-2.0 */
/*
* Author ( s ) . . . . . . : Holger Smolinski < Holger . Smolinski @ de . ibm . com >
* Based on . . . . . . . : linux / drivers / s390 / block / mdisk . h
* . . . . . . . . . . . . . . . : by Hartmunt Penner < hpenner @ de . ibm . com >
* Bugreports . to . . : < Linux390 @ de . ibm . com >
* Copyright IBM Corp . 1999 , 2000
*
*/
#define MDSK_WRITE_REQ 0 x01
#define MDSK_READ_REQ 0 x02
#define INIT_BIO 0 x00
#define RW_BIO 0 x01
#define TERM_BIO 0 x02
#define DEV_CLASS_FBA 0 x01
#define DEV_CLASS_ECKD 0 x04
#define DASD_DIAG_CODE_31BIT 0 x03
#define DASD_DIAG_CODE_64BIT 0 x07
#define DASD_DIAG_RWFLAG_ASYNC 0 x02
#define DASD_DIAG_RWFLAG_NOCACHE 0 x01
#define DASD_DIAG_FLAGA_FORMAT_64BIT 0 x80
struct dasd_diag_characteristics {
u16 dev_nr;
u16 rdc_len;
u8 vdev_class;
u8 vdev_type;
u8 vdev_status;
u8 vdev_flags;
u8 rdev_class;
u8 rdev_type;
u8 rdev_model;
u8 rdev_features;
} __attribute__ ((packed, aligned(4 )));
#define DASD_DIAG_FLAGA_DEFAULT DASD_DIAG_FLAGA_FORMAT_64BIT
typedef u64 blocknum_t;
typedef s64 sblocknum_t;
struct dasd_diag_bio {
u8 type;
u8 status;
u8 spare1[2 ];
u32 alet;
blocknum_t block_number;
void *buffer;
} __attribute__ ((packed, aligned(8 )));
struct dasd_diag_init_io {
u16 dev_nr;
u8 flaga;
u8 spare1[21 ];
u32 block_size;
u8 spare2[4 ];
blocknum_t offset;
sblocknum_t start_block;
blocknum_t end_block;
u8 spare3[8 ];
} __attribute__ ((packed, aligned(8 )));
struct dasd_diag_rw_io {
u16 dev_nr;
u8 flaga;
u8 spare1[21 ];
u8 key;
u8 flags;
u8 spare2[2 ];
u32 block_count;
u32 alet;
u8 spare3[4 ];
u64 interrupt_params;
struct dasd_diag_bio *bio_list;
u8 spare4[8 ];
} __attribute__ ((packed, aligned(8 )));
Messung V0.5 in Prozent C=98 H=100 G=98
¤ Dauer der Verarbeitung: 0.8 Sekunden
(vorverarbeitet am 2026-09-27)
¤
*© Formatika GbR, Deutschland