Some devices, such as Infrastructure Processing Units (IPUs) and Data Processing Units (DPUs), expose SR-IOV capable NVMe devices to the host. Its VF devices support live migration via specific NVMe commands issued through the PF's device's admin queue. One of the problems is there are no standardized NVMe live migration commands to make our patches spec compliant, which prevents us from creating a spec-compliant implementation. So we've created a reference implantation based on the Vendor-specific command fields of the protocol. We want these commands to be standardized so that the implementation will be spec compliant in future versions and use this RFC as a basis for the same. More importantly, we provide our work to help the community and start the discussion, so everyone can participate and benefit from our work in NVMe Live Migration implementation and help drive on standardization efforts. This series implements the specific vfio-pci driver to support live migration of NVMe devices. Adds a new interface in the general NVMe driver to receive the VF device's commands submission to the PF device's admin queue. And also documents the details of NVMe device live migration commands. Any feedback and comments are greatly appreciated. Lei Rao (5): nvme-pci: add function nvme_submit_vf_cmd to issue admin commands for VF driver. nvme-vfio: add new vfio-pci driver for NVMe device nvme-vfio: enable the function of VFIO live migration. nvme-vfio: check if the hardware supports live migration nvme-vfio: Add a document for the NVMe device drivers/nvme/host/pci.c | 18 + drivers/vfio/pci/Kconfig | 2 + drivers/vfio/pci/Makefile | 2 + drivers/vfio/pci/nvme/Kconfig | 10 + drivers/vfio/pci/nvme/Makefile | 3 + drivers/vfio/pci/nvme/nvme.c | 636 +++++++++++++++++++++++++++++++++ drivers/vfio/pci/nvme/nvme.h | 111 ++++++ drivers/vfio/pci/nvme/nvme.txt | 278 ++++++++++++++ 8 files changed, 1060 insertions(+) create mode 100644 drivers/vfio/pci/nvme/Kconfig create mode 100644 drivers/vfio/pci/nvme/Makefile create mode 100644 drivers/vfio/pci/nvme/nvme.c create mode 100644 drivers/vfio/pci/nvme/nvme.h create mode 100644 drivers/vfio/pci/nvme/nvme.txt -- 2.34.1