qemu/linux-headers/linux/vfio_ccw.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
   2/*
   3 * Interfaces for vfio-ccw
   4 *
   5 * Copyright IBM Corp. 2017
   6 *
   7 * Author(s): Dong Jia Shi <bjsdjshi@linux.vnet.ibm.com>
   8 */
   9
  10#ifndef _VFIO_CCW_H_
  11#define _VFIO_CCW_H_
  12
  13#include <linux/types.h>
  14
  15/* used for START SUBCHANNEL, always present */
  16struct ccw_io_region {
  17#define ORB_AREA_SIZE 12
  18        __u8    orb_area[ORB_AREA_SIZE];
  19#define SCSW_AREA_SIZE 12
  20        __u8    scsw_area[SCSW_AREA_SIZE];
  21#define IRB_AREA_SIZE 96
  22        __u8    irb_area[IRB_AREA_SIZE];
  23        __u32   ret_code;
  24} __attribute__((packed));
  25
  26/*
  27 * used for processing commands that trigger asynchronous actions
  28 * Note: this is controlled by a capability
  29 */
  30#define VFIO_CCW_ASYNC_CMD_HSCH (1 << 0)
  31#define VFIO_CCW_ASYNC_CMD_CSCH (1 << 1)
  32struct ccw_cmd_region {
  33        __u32 command;
  34        __u32 ret_code;
  35} __attribute__((packed));
  36
  37#endif
  38