mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
d5afd5d135
Add a region to the vfio-ccw device that can be used to submit asynchronous I/O instructions. ssch continues to be handled by the existing I/O region; the new region handles hsch and csch. Interrupt status continues to be reported through the same channels as for ssch. Acked-by: Eric Farman <farman@linux.ibm.com> Reviewed-by: Farhan Ali <alifm@linux.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
38 lines
806 B
C
38 lines
806 B
C
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
|
/*
|
|
* Interfaces for vfio-ccw
|
|
*
|
|
* Copyright IBM Corp. 2017
|
|
*
|
|
* Author(s): Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
|
|
*/
|
|
|
|
#ifndef _VFIO_CCW_H_
|
|
#define _VFIO_CCW_H_
|
|
|
|
#include <linux/types.h>
|
|
|
|
/* used for START SUBCHANNEL, always present */
|
|
struct ccw_io_region {
|
|
#define ORB_AREA_SIZE 12
|
|
__u8 orb_area[ORB_AREA_SIZE];
|
|
#define SCSW_AREA_SIZE 12
|
|
__u8 scsw_area[SCSW_AREA_SIZE];
|
|
#define IRB_AREA_SIZE 96
|
|
__u8 irb_area[IRB_AREA_SIZE];
|
|
__u32 ret_code;
|
|
} __packed;
|
|
|
|
/*
|
|
* used for processing commands that trigger asynchronous actions
|
|
* Note: this is controlled by a capability
|
|
*/
|
|
#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0)
|
|
#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1)
|
|
struct ccw_cmd_region {
|
|
__u32 command;
|
|
__u32 ret_code;
|
|
} __packed;
|
|
|
|
#endif
|