Add vfio-user transport support based on existing virtio client library. Test steps using bdevperf: Start `spdk_tgt` with created virtio_blk device: 1. build/bin/spdk_tgt 2. scripts/rpc.py bdev_malloc_create -b malloc0 $((512)) 512 3. scripts/rpc.py vfu_virtio_create_blk_endpoint vfu.0 --bdev-name malloc0 \ --cpumask=0x1 --num-queues=2 \ --qsize=256 --packed-ring Start `bdevperf`: 1. test/bdev/bdevperf/bdevperf -r /var/tmp/spdk.sock.1 -g -s 2048 -q 128 -o 4096 \ -w randread -t 30 -m 0x2 2. scripts/rpc.py -s /var/tmp/spdk.sock.1 bdev_virtio_attach_controller --dev-type blk \ --trtype vfio-user --traddr vfu.0 VirtioBlk0 3. test/bdev/bdevperf/bdevperf.py -s /var/tmp/spdk.sock.1 perform_tests Change-Id: I368c4becebbca57328a25fc750e41c353420e481 Signed-off-by: Changpeng Liu <changpeng.liu@intel.com> Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/13896 Community-CI: Mellanox Build Bot Tested-by: SPDK CI Jenkins <sys_sgci@intel.com> Reviewed-by: Konrad Sztyber <konrad.sztyber@intel.com> Reviewed-by: Ben Walker <benjamin.walker@intel.com>
36 lines
777 B
Plaintext
36 lines
777 B
Plaintext
{
|
|
global:
|
|
|
|
# internal functions in spdk_internal/virtio.h
|
|
virtio_recv_pkts;
|
|
virtqueue_req_start;
|
|
virtqueue_req_flush;
|
|
virtqueue_req_abort;
|
|
virtqueue_req_add_iovs;
|
|
virtio_dev_construct;
|
|
virtio_dev_reset;
|
|
virtio_dev_start;
|
|
virtio_dev_stop;
|
|
virtio_dev_destruct;
|
|
virtio_dev_acquire_queue;
|
|
virtio_dev_find_and_acquire_queue;
|
|
virtio_dev_queue_get_thread;
|
|
virtio_dev_queue_is_acquired;
|
|
virtio_dev_release_queue;
|
|
virtio_dev_get_status;
|
|
virtio_dev_set_status;
|
|
virtio_dev_write_dev_config;
|
|
virtio_dev_read_dev_config;
|
|
virtio_dev_backend_ops;
|
|
virtio_dev_has_feature;
|
|
virtio_dev_dump_json_info;
|
|
virtio_pci_dev_enumerate;
|
|
virtio_pci_dev_attach;
|
|
virtio_user_dev_init;
|
|
virtio_vfio_user_dev_init;
|
|
virtio_pci_dev_init;
|
|
virtio_pci_dev_event_process;
|
|
|
|
local: *;
|
|
};
|