Message ID | 20230921124040.145386-8-yishaih@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Introduce a vfio driver over virtio devices | expand |
Hi Yishai,
kernel test robot noticed the following build errors:
[auto build test ERROR on awilliam-vfio/for-linus]
[also build test ERROR on mst-vhost/linux-next linus/master v6.6-rc2 next-20230921]
[cannot apply to awilliam-vfio/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Yishai-Hadas/virtio-pci-Use-virtio-pci-device-layer-vq-info-instead-of-generic-one/20230922-062611
base: https://github.com/awilliam/linux-vfio.git for-linus
patch link: https://lore.kernel.org/r/20230921124040.145386-8-yishaih%40nvidia.com
patch subject: [PATCH vfio 07/11] virtio-pci: Introduce admin commands
config: i386-randconfig-012-20230924 (https://download.01.org/0day-ci/archive/20230924/202309241353.ykr3cC2K-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230924/202309241353.ykr3cC2K-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202309241353.ykr3cC2K-lkp@intel.com/
All errors (new ones prefixed by >>):
In file included from <command-line>:
>> ./usr/include/linux/virtio_pci.h:250:9: error: unknown type name 'u8'
250 | u8 offset; /* Starting offset of the register(s) to write. */
| ^~
./usr/include/linux/virtio_pci.h:251:9: error: unknown type name 'u8'
251 | u8 reserved[7];
| ^~
./usr/include/linux/virtio_pci.h:252:9: error: unknown type name 'u8'
252 | u8 registers[];
| ^~
./usr/include/linux/virtio_pci.h:256:9: error: unknown type name 'u8'
256 | u8 offset; /* Starting offset of the register(s) to read. */
| ^~
./usr/include/linux/virtio_pci.h:266:9: error: unknown type name 'u8'
266 | u8 flags; /* 0 = end of list, 1 = owner device, 2 = member device */
| ^~
./usr/include/linux/virtio_pci.h:267:9: error: unknown type name 'u8'
267 | u8 bar; /* BAR of the member or the owner device */
| ^~
./usr/include/linux/virtio_pci.h:268:9: error: unknown type name 'u8'
268 | u8 padding[6];
| ^~
Hi Yishai, kernel test robot noticed the following build warnings: [auto build test WARNING on awilliam-vfio/for-linus] [also build test WARNING on linus/master v6.6-rc3 next-20230921] [cannot apply to awilliam-vfio/next] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Yishai-Hadas/virtio-pci-Use-virtio-pci-device-layer-vq-info-instead-of-generic-one/20230922-062611 base: https://github.com/awilliam/linux-vfio.git for-linus patch link: https://lore.kernel.org/r/20230921124040.145386-8-yishaih%40nvidia.com patch subject: [PATCH vfio 07/11] virtio-pci: Introduce admin commands config: x86_64-rhel-8.3-rust (https://download.01.org/0day-ci/archive/20230925/202309251120.rWbiAZYM-lkp@intel.com/config) compiler: clang version 16.0.4 (https://github.com/llvm/llvm-project.git ae42196bc493ffe877a7e3dff8be32035dea4d07) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230925/202309251120.rWbiAZYM-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202309251120.rWbiAZYM-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from drivers/virtio/virtio_pci_modern_dev.c:3: In file included from include/linux/virtio_pci_modern.h:6: >> include/uapi/linux/virtio_pci.h:270:4: warning: attribute '__packed__' is ignored, place it after "struct" to apply attribute to type declaration [-Wignored-attributes] }; __packed ^ include/linux/compiler_attributes.h:304:56: note: expanded from macro '__packed' #define __packed __attribute__((__packed__)) ^ 1 warning generated. vim +270 include/uapi/linux/virtio_pci.h 264 265 struct virtio_admin_cmd_notify_info_data { 266 u8 flags; /* 0 = end of list, 1 = owner device, 2 = member device */ 267 u8 bar; /* BAR of the member or the owner device */ 268 u8 padding[6]; 269 __le64 offset; /* Offset within bar. */ > 270 }; __packed 271
diff --git a/include/uapi/linux/virtio_pci.h b/include/uapi/linux/virtio_pci.h index 1f1ac6ac07df..2bf275ad0f20 100644 --- a/include/uapi/linux/virtio_pci.h +++ b/include/uapi/linux/virtio_pci.h @@ -210,6 +210,23 @@ struct virtio_pci_cfg_cap { /* Admin command status. */ #define VIRTIO_ADMIN_STATUS_OK 0 +/* Admin command opcode. */ +#define VIRTIO_ADMIN_CMD_LIST_QUERY 0x0 +#define VIRTIO_ADMIN_CMD_LIST_USE 0x1 + +/* Admin command group type. */ +#define VIRTIO_ADMIN_GROUP_TYPE_SRIOV 0x1 + +/* Transitional device admin command. */ +#define VIRTIO_ADMIN_CMD_LEGACY_COMMON_CFG_WRITE 0x2 +#define VIRTIO_ADMIN_CMD_LEGACY_COMMON_CFG_READ 0x3 +#define VIRTIO_ADMIN_CMD_LEGACY_DEV_CFG_WRITE 0x4 +#define VIRTIO_ADMIN_CMD_LEGACY_DEV_CFG_READ 0x5 +#define VIRTIO_ADMIN_CMD_LEGACY_NOTIFY_INFO 0x6 + +/* Increment MAX_OPCODE to next value when new opcode is added */ +#define VIRTIO_ADMIN_MAX_CMD_OPCODE 0x6 + struct virtio_admin_cmd_hdr { __le16 opcode; /* @@ -229,4 +246,31 @@ struct virtio_admin_cmd_status { __u8 reserved2[4]; } __packed; +struct virtio_admin_cmd_legacy_wr_data { + u8 offset; /* Starting offset of the register(s) to write. */ + u8 reserved[7]; + u8 registers[]; +} __packed; + +struct virtio_admin_cmd_legacy_rd_data { + u8 offset; /* Starting offset of the register(s) to read. */ +} __packed; + +#define VIRTIO_ADMIN_CMD_NOTIFY_INFO_FLAGS_END 0 +#define VIRTIO_ADMIN_CMD_NOTIFY_INFO_FLAGS_OWNER_DEV 0x1 +#define VIRTIO_ADMIN_CMD_NOTIFY_INFO_FLAGS_OWNER_MEM 0x2 + +#define VIRTIO_ADMIN_CMD_MAX_NOTIFY_INFO 4 + +struct virtio_admin_cmd_notify_info_data { + u8 flags; /* 0 = end of list, 1 = owner device, 2 = member device */ + u8 bar; /* BAR of the member or the owner device */ + u8 padding[6]; + __le64 offset; /* Offset within bar. */ +}; __packed + +struct virtio_admin_cmd_notify_info_result { + struct virtio_admin_cmd_notify_info_data entries[VIRTIO_ADMIN_CMD_MAX_NOTIFY_INFO]; +}; + #endif