| 576 | ****************************************************************************/ |
| 577 | |
| 578 | static int rpmsg_virtio_thread(int argc, FAR char *argv[]) |
| 579 | { |
| 580 | FAR struct rpmsg_virtio_priv_s *priv = (FAR struct rpmsg_virtio_priv_s *) |
| 581 | ((uintptr_t)strtoul(argv[2], NULL, 16)); |
| 582 | int ret; |
| 583 | |
| 584 | priv->tid = nxsched_gettid(); |
| 585 | ret = rpmsg_virtio_start(priv); |
| 586 | if (ret < 0) |
| 587 | { |
| 588 | rpmsgerr("virtio rpmsg start failed, ret=%d\n", ret); |
| 589 | return ret; |
| 590 | } |
| 591 | |
| 592 | while (1) |
| 593 | { |
| 594 | nxsem_wait_uninterruptible(&priv->semrx); |
| 595 | rpmsg_virtio_rx_worker(priv); |
| 596 | } |
| 597 | |
| 598 | return 0; |
| 599 | } |
| 600 | |
| 601 | /**************************************************************************** |
| 602 | * Public Functions |
nothing calls this directly
no test coverage detected