~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/include/uapi/linux/vdpa.h

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
  2 /*
  3  * vdpa device management interface
  4  * Copyright (c) 2020 Mellanox Technologies Ltd. All rights reserved.
  5  */
  6 
  7 #ifndef _UAPI_LINUX_VDPA_H_
  8 #define _UAPI_LINUX_VDPA_H_
  9 
 10 #define VDPA_GENL_NAME "vdpa"
 11 #define VDPA_GENL_VERSION 0x1
 12 
 13 enum vdpa_command {
 14         VDPA_CMD_UNSPEC,
 15         VDPA_CMD_MGMTDEV_NEW,
 16         VDPA_CMD_MGMTDEV_GET,           /* can dump */
 17         VDPA_CMD_DEV_NEW,
 18         VDPA_CMD_DEV_DEL,
 19         VDPA_CMD_DEV_GET,               /* can dump */
 20         VDPA_CMD_DEV_CONFIG_GET,        /* can dump */
 21         VDPA_CMD_DEV_VSTATS_GET,
 22         VDPA_CMD_DEV_ATTR_SET,
 23 };
 24 
 25 enum vdpa_attr {
 26         VDPA_ATTR_UNSPEC,
 27 
 28         /* Pad attribute for 64b alignment */
 29         VDPA_ATTR_PAD = VDPA_ATTR_UNSPEC,
 30 
 31         /* bus name (optional) + dev name together make the parent device handle */
 32         VDPA_ATTR_MGMTDEV_BUS_NAME,             /* string */
 33         VDPA_ATTR_MGMTDEV_DEV_NAME,             /* string */
 34         VDPA_ATTR_MGMTDEV_SUPPORTED_CLASSES,    /* u64 */
 35 
 36         VDPA_ATTR_DEV_NAME,                     /* string */
 37         VDPA_ATTR_DEV_ID,                       /* u32 */
 38         VDPA_ATTR_DEV_VENDOR_ID,                /* u32 */
 39         VDPA_ATTR_DEV_MAX_VQS,                  /* u32 */
 40         VDPA_ATTR_DEV_MAX_VQ_SIZE,              /* u16 */
 41         VDPA_ATTR_DEV_MIN_VQ_SIZE,              /* u16 */
 42 
 43         VDPA_ATTR_DEV_NET_CFG_MACADDR,          /* binary */
 44         VDPA_ATTR_DEV_NET_STATUS,               /* u8 */
 45         VDPA_ATTR_DEV_NET_CFG_MAX_VQP,          /* u16 */
 46         VDPA_ATTR_DEV_NET_CFG_MTU,              /* u16 */
 47 
 48         VDPA_ATTR_DEV_NEGOTIATED_FEATURES,      /* u64 */
 49         VDPA_ATTR_DEV_MGMTDEV_MAX_VQS,          /* u32 */
 50         /* virtio features that are supported by the vDPA management device */
 51         VDPA_ATTR_DEV_SUPPORTED_FEATURES,       /* u64 */
 52 
 53         VDPA_ATTR_DEV_QUEUE_INDEX,              /* u32 */
 54         VDPA_ATTR_DEV_VENDOR_ATTR_NAME,         /* string */
 55         VDPA_ATTR_DEV_VENDOR_ATTR_VALUE,        /* u64 */
 56 
 57         /* virtio features that are provisioned to the vDPA device */
 58         VDPA_ATTR_DEV_FEATURES,                 /* u64 */
 59 
 60         VDPA_ATTR_DEV_BLK_CFG_CAPACITY,         /* u64 */
 61         VDPA_ATTR_DEV_BLK_CFG_SIZE_MAX,         /* u32 */
 62         VDPA_ATTR_DEV_BLK_CFG_BLK_SIZE,         /* u32 */
 63         VDPA_ATTR_DEV_BLK_CFG_SEG_MAX,          /* u32 */
 64         VDPA_ATTR_DEV_BLK_CFG_NUM_QUEUES,       /* u16 */
 65         VDPA_ATTR_DEV_BLK_CFG_PHY_BLK_EXP,      /* u8 */
 66         VDPA_ATTR_DEV_BLK_CFG_ALIGN_OFFSET,     /* u8 */
 67         VDPA_ATTR_DEV_BLK_CFG_MIN_IO_SIZE,      /* u16 */
 68         VDPA_ATTR_DEV_BLK_CFG_OPT_IO_SIZE,      /* u32 */
 69         VDPA_ATTR_DEV_BLK_CFG_MAX_DISCARD_SEC,  /* u32 */
 70         VDPA_ATTR_DEV_BLK_CFG_MAX_DISCARD_SEG,  /* u32 */
 71         VDPA_ATTR_DEV_BLK_CFG_DISCARD_SEC_ALIGN,/* u32 */
 72         VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEC,     /* u32 */
 73         VDPA_ATTR_DEV_BLK_CFG_MAX_WRITE_ZEROES_SEG,     /* u32 */
 74         VDPA_ATTR_DEV_BLK_READ_ONLY,            /* u8 */
 75         VDPA_ATTR_DEV_BLK_FLUSH,                /* u8 */
 76 
 77         /* new attributes must be added above here */
 78         VDPA_ATTR_MAX,
 79 };
 80 
 81 #endif
 82 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php