From e699304cbb97f5ac8fa47ded20d41c37e76ab512 Mon Sep 17 00:00:00 2001 From: Swapnil Ingle Date: Wed, 7 Oct 2020 12:04:08 -0400 Subject: client, server changes for VFIO_USER_DEVICE_RESET Signed-off-by: Swapnil Ingle --- samples/client.c | 15 +++++++++++++++ samples/server.c | 6 ++++++ 2 files changed, 21 insertions(+) (limited to 'samples') diff --git a/samples/client.c b/samples/client.c index 55e9006..bc0235e 100644 --- a/samples/client.c +++ b/samples/client.c @@ -105,6 +105,15 @@ out: } static int +send_device_reset(int sock) +{ + int ret, msg_id = 1; + + return send_recv_vfio_user_msg(sock, msg_id, VFIO_USER_DEVICE_RESET, + NULL, 0, NULL, 0, NULL, NULL, 0); +} + +static int get_device_region_info(int sock, struct vfio_device_info *client_dev_info) { struct vfio_region_info region_info; @@ -477,6 +486,12 @@ int main(int argc, char *argv[]) return ret; } + /* XXX VFIO_USER_DEVICE_RESET */ + ret = send_device_reset(sock); + if (ret < 0) { + return ret; + } + /* * XXX VFIO_USER_DMA_MAP * diff --git a/samples/server.c b/samples/server.c index 65f80d5..be3edfd 100644 --- a/samples/server.c +++ b/samples/server.c @@ -186,6 +186,11 @@ unsigned long map_area(void *pvt, unsigned long off, unsigned long len) assert(false); } +static int device_reset(void *pvt) +{ + printf("device reset callback\n"); +} + int main(int argc, char *argv[]) { int ret; @@ -249,6 +254,7 @@ int main(int argc, char *argv[]) .irq_count[LM_DEV_INTX_IRQ_IDX] = 1, }, .uuid = argv[optind], + .reset = device_reset, .map_dma = map_dma, .unmap_dma = unmap_dma, .pvt = &server_data -- cgit v1.1