From 8435c007567fdd0a92ed1f4e8dd7b60bb09ae116 Mon Sep 17 00:00:00 2001 From: Thanos Makatos Date: Tue, 24 Mar 2020 12:06:26 -0400 Subject: introduce vfio-over-socket transport Signed-off-by: Thanos Makatos --- samples/gpio-pci-idio-16.c | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) (limited to 'samples/gpio-pci-idio-16.c') diff --git a/samples/gpio-pci-idio-16.c b/samples/gpio-pci-idio-16.c index 285b600..bf35e49 100644 --- a/samples/gpio-pci-idio-16.c +++ b/samples/gpio-pci-idio-16.c @@ -36,9 +36,16 @@ #include #include #include +#include #include "../lib/muser.h" +static void +_log(void *pvt, char const *msg) +{ + fprintf(stderr, "gpio: %s", msg); +} + ssize_t bar2_access(void *pvt, char * const buf, size_t count, loff_t offset, const bool is_write) @@ -51,15 +58,34 @@ bar2_access(void *pvt, char * const buf, size_t count, loff_t offset, return count; } -int main(int argc, char **argv) +int main(int argc, char *argv[]) { int ret; + bool trans_sock = false, verbose = false; + char opt; + + while ((opt = getopt(argc, argv, "sv")) != -1) { + switch (opt) { + case 's': + trans_sock = true; + break; + case 'v': + verbose = true; + break; + default: /* '?' */ + fprintf(stderr, "Usage: %s [-s] [-d] UUID\n", argv[0]); + exit(EXIT_FAILURE); + } + } - if (argc != 2) { + if (optind >= argc) { err(EXIT_FAILURE, "missing MUSER device UUID"); } lm_dev_info_t dev_info = { + .trans = trans_sock ? LM_TRANS_SOCK : LM_TRANS_KERNEL, + .log = verbose ? _log : NULL, + .log_lvl = LM_DBG, .pci_info = { .id = {.vid = 0x494F, .did = 0x0DC8 }, .reg_info[LM_DEV_BAR2_REG_IDX] = { @@ -69,7 +95,7 @@ int main(int argc, char **argv) }, .irq_count[LM_DEV_INTX_IRQ_IDX] = 1, }, - .uuid = argv[1], + .uuid = argv[optind], }; ret = lm_ctx_run(&dev_info); -- cgit v1.1