This commit introduces a new vhost-user device for block, it uses a chardev to connect with the backend, same with Qemu virito-blk device, Guest OS still uses the virtio-blk frontend driver. To use it, start QEMU with command line like this: qemu-system-x86_64 \ -chardev socket,id=char0,path=/path/vhost.socket \ -device vhost-user-blk-pci,chardev=char0,num-queues=2, \ bootindex=2... \ Users can use different parameters for `num-queues` and `bootindex`. Different with exist Qemu virtio-blk host device, it makes more easy for users to implement their own I/O processing logic, such as all user space I/O stack against hardware block device. It uses the new vhost messages(VHOST_USER_GET_CONFIG) to get block virtio config information from backend process. Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
47 lines
1,011 B
Makefile
47 lines
1,011 B
Makefile
CONFIG_PCI=y
|
|
# For now, CONFIG_IDE_CORE requires ISA, so we enable it here
|
|
CONFIG_ISA_BUS=y
|
|
CONFIG_VIRTIO_PCI=y
|
|
CONFIG_VIRTIO=y
|
|
CONFIG_USB_UHCI=y
|
|
CONFIG_USB_OHCI=y
|
|
CONFIG_USB_EHCI=y
|
|
CONFIG_USB_XHCI=y
|
|
CONFIG_USB_XHCI_NEC=y
|
|
CONFIG_NE2000_PCI=y
|
|
CONFIG_EEPRO100_PCI=y
|
|
CONFIG_PCNET_PCI=y
|
|
CONFIG_PCNET_COMMON=y
|
|
CONFIG_AC97=y
|
|
CONFIG_HDA=y
|
|
CONFIG_ES1370=y
|
|
CONFIG_LSI_SCSI_PCI=y
|
|
CONFIG_VMW_PVSCSI_SCSI_PCI=y
|
|
CONFIG_MEGASAS_SCSI_PCI=y
|
|
CONFIG_MPTSAS_SCSI_PCI=y
|
|
CONFIG_RTL8139_PCI=y
|
|
CONFIG_E1000_PCI=y
|
|
CONFIG_E1000E_PCI=y
|
|
CONFIG_IDE_CORE=y
|
|
CONFIG_IDE_QDEV=y
|
|
CONFIG_IDE_PCI=y
|
|
CONFIG_AHCI=y
|
|
CONFIG_ESP=y
|
|
CONFIG_ESP_PCI=y
|
|
CONFIG_SERIAL=y
|
|
CONFIG_SERIAL_ISA=y
|
|
CONFIG_SERIAL_PCI=y
|
|
CONFIG_IPACK=y
|
|
CONFIG_WDT_IB6300ESB=y
|
|
CONFIG_PCI_TESTDEV=y
|
|
CONFIG_NVME_PCI=y
|
|
CONFIG_SD=y
|
|
CONFIG_SDHCI=y
|
|
CONFIG_EDU=y
|
|
CONFIG_VGA=y
|
|
CONFIG_VGA_PCI=y
|
|
CONFIG_IVSHMEM_DEVICE=$(CONFIG_IVSHMEM)
|
|
CONFIG_ROCKER=y
|
|
CONFIG_VHOST_USER_SCSI=$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX))
|
|
CONFIG_VHOST_USER_BLK=$(call land,$(CONFIG_VHOST_USER),$(CONFIG_LINUX))
|