summaryrefslogtreecommitdiffstats
path: root/drivers/s390/block/mdisk.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/s390/block/mdisk.h')
-rw-r--r--drivers/s390/block/mdisk.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/drivers/s390/block/mdisk.h b/drivers/s390/block/mdisk.h
new file mode 100644
index 000000000..084293031
--- /dev/null
+++ b/drivers/s390/block/mdisk.h
@@ -0,0 +1,94 @@
+/*
+ * drivers/s390/block/mdisk.h
+ * VM minidisk device driver.
+ *
+ * S390 version
+ * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
+ * Author(s): Hartmut Penner (hp@de.ibm.com)
+ */
+
+#include <linux/ioctl.h>
+#include <linux/types.h>
+
+#define MDISK_DEVS 8 /* for disks */
+#define MDISK_RAHEAD 8 /* read ahead */
+#define MDISK_BLKSIZE 1024 /* 1k blocks */
+#define MDISK_HARDSECT 512 /* FIXME -- 512 byte blocks */
+#define MDISK_MAXSECTORS 256 /* max sectors for one request */
+
+
+
+/*
+ * low level io defines for diagnose 250
+ */
+
+#define MDISK_WRITE_REQ 0x01
+#define MDISK_READ_REQ 0x02
+
+#define MDISK_SYNC 0x00
+#define MDISK_ASYNC 0x02
+#define INIT_BIO 0x00
+#define RW_BIO 0x01
+#define TERM_BIO 0x02
+
+/*
+ * This stucture is used for clustered request
+ * up to 256 different request can be handled with one invocation
+ */
+
+typedef struct {
+ u8 type;
+ u8 status;
+ u16 spare1;
+ u32 block_number;
+ u32 alet;
+ u32 buffer;
+} mdisk_bio_t;
+
+typedef struct {
+ u16 dev_nr;
+ u16 spare1[11];
+ u32 block_size;
+ u32 offset;
+ u32 start_block;
+ u32 end_block;
+ u32 spare2[6];
+} mdisk_init_io_t;
+
+typedef struct {
+ u16 dev_nr;
+ u16 spare1[11];
+ u8 key;
+ u8 flags;
+ u16 spare2;
+ u32 block_count;
+ u32 alet;
+ u32 bio_list;
+ u32 interrupt_params;
+ u32 spare3[5];
+} mdisk_rw_io_t;
+
+/*
+ * low level definitions for Diagnose 210
+ */
+
+#define DEV_CLASS_FBA 0x01
+
+/*
+ * Data structures for Diagnose 210
+ */
+
+typedef struct {
+ 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;
+} mdisk_dev_char_t;
+
+