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_SUSPEND 0x02
|
||||
|
||||
/* Common CCW commands */
|
||||
#define CCW_CMD_READ_IPL 0x02
|
||||
#define CCW_CMD_NOOP 0x03
|
||||
#define CCW_CMD_BASIC_SENSE 0x04
|
||||
#define CCW_CMD_TIC 0x08
|
||||
#define CCW_CMD_SENSE_ID 0xe4
|
||||
|
||||
/* Virtio CCW commands */
|
||||
#define CCW_CMD_SET_VQ 0x13
|
||||
#define CCW_CMD_VDEV_RESET 0x33
|
||||
#define CCW_CMD_READ_FEAT 0x12
|
||||
@ -216,6 +219,12 @@ typedef struct ccw1 {
|
||||
#define CCW_CMD_SET_CONF_IND 0x53
|
||||
#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
|
||||
*/
|
||||
@ -333,6 +342,20 @@ typedef struct irb {
|
||||
__u32 emw[8];
|
||||
} __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);
|
||||
void enable_subchannel(SubChannelId schid);
|
||||
uint16_t cu_type(SubChannelId schid);
|
||||
|
Loading…
Reference in New Issue
Block a user