s390-bios: Add channel command codes/structs needed for dasd-ipl
The dasd IPL procedure needs to execute a few previously unused channel commands. Let's define them and their associated data structures. Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com> Acked-by: Cornelia Huck <cohuck@redhat.com> Acked-by: Thomas Huth <thuth@redhat.com> Message-Id: <1554388475-18329-15-git-send-email-jjherne@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
3668cb7ce8
commit
69333c36dc
@ -200,11 +200,14 @@ typedef struct ccw1 {
|
|||||||
#define CCW_FLAG_IDA 0x04
|
#define CCW_FLAG_IDA 0x04
|
||||||
#define CCW_FLAG_SUSPEND 0x02
|
#define CCW_FLAG_SUSPEND 0x02
|
||||||
|
|
||||||
|
/* Common CCW commands */
|
||||||
|
#define CCW_CMD_READ_IPL 0x02
|
||||||
#define CCW_CMD_NOOP 0x03
|
#define CCW_CMD_NOOP 0x03
|
||||||
#define CCW_CMD_BASIC_SENSE 0x04
|
#define CCW_CMD_BASIC_SENSE 0x04
|
||||||
#define CCW_CMD_TIC 0x08
|
#define CCW_CMD_TIC 0x08
|
||||||
#define CCW_CMD_SENSE_ID 0xe4
|
#define CCW_CMD_SENSE_ID 0xe4
|
||||||
|
|
||||||
|
/* Virtio CCW commands */
|
||||||
#define CCW_CMD_SET_VQ 0x13
|
#define CCW_CMD_SET_VQ 0x13
|
||||||
#define CCW_CMD_VDEV_RESET 0x33
|
#define CCW_CMD_VDEV_RESET 0x33
|
||||||
#define CCW_CMD_READ_FEAT 0x12
|
#define CCW_CMD_READ_FEAT 0x12
|
||||||
@ -216,6 +219,12 @@ typedef struct ccw1 {
|
|||||||
#define CCW_CMD_SET_CONF_IND 0x53
|
#define CCW_CMD_SET_CONF_IND 0x53
|
||||||
#define CCW_CMD_READ_VQ_CONF 0x32
|
#define CCW_CMD_READ_VQ_CONF 0x32
|
||||||
|
|
||||||
|
/* DASD CCW commands */
|
||||||
|
#define CCW_CMD_DASD_READ 0x06
|
||||||
|
#define CCW_CMD_DASD_SEEK 0x07
|
||||||
|
#define CCW_CMD_DASD_SEARCH_ID_EQ 0x31
|
||||||
|
#define CCW_CMD_DASD_READ_MT 0x86
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Command-mode operation request block
|
* Command-mode operation request block
|
||||||
*/
|
*/
|
||||||
@ -333,6 +342,20 @@ typedef struct irb {
|
|||||||
__u32 emw[8];
|
__u32 emw[8];
|
||||||
} __attribute__ ((packed, aligned(4))) Irb;
|
} __attribute__ ((packed, aligned(4))) Irb;
|
||||||
|
|
||||||
|
/* Used for SEEK ccw commands */
|
||||||
|
typedef struct CcwSeekData {
|
||||||
|
uint16_t reserved;
|
||||||
|
uint16_t cyl;
|
||||||
|
uint16_t head;
|
||||||
|
} __attribute__((packed)) CcwSeekData;
|
||||||
|
|
||||||
|
/* Used for SEARCH ID ccw commands */
|
||||||
|
typedef struct CcwSearchIdData {
|
||||||
|
uint16_t cyl;
|
||||||
|
uint16_t head;
|
||||||
|
uint8_t record;
|
||||||
|
} __attribute__((packed)) CcwSearchIdData;
|
||||||
|
|
||||||
int enable_mss_facility(void);
|
int enable_mss_facility(void);
|
||||||
void enable_subchannel(SubChannelId schid);
|
void enable_subchannel(SubChannelId schid);
|
||||||
uint16_t cu_type(SubChannelId schid);
|
uint16_t cu_type(SubChannelId schid);
|
||||||
|
Loading…
Reference in New Issue
Block a user