From 2fb45c54a14f1dfd5e138044a72249fac2239881 Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Mon, 28 Nov 2016 07:36:51 +0000 Subject: [PATCH] hyperv/vmbus: Add result polling support for message Hypercall API. MFC after: 1 week Sponsored by: Microsoft Differential Revision: https://reviews.freebsd.org/D8634 --- sys/dev/hyperv/vmbus/vmbus.c | 8 ++++++++ sys/dev/hyperv/vmbus/vmbus_var.h | 3 +++ 2 files changed, 11 insertions(+) diff --git a/sys/dev/hyperv/vmbus/vmbus.c b/sys/dev/hyperv/vmbus/vmbus.c index 390d536b1aa8..ece7299bf52c 100644 --- a/sys/dev/hyperv/vmbus/vmbus.c +++ b/sys/dev/hyperv/vmbus/vmbus.c @@ -315,6 +315,14 @@ vmbus_msghc_wait_result(struct vmbus_softc *sc __unused, struct vmbus_msghc *mh) return (vmbus_xact_wait(mh->mh_xact, &resp_len)); } +const struct vmbus_message * +vmbus_msghc_poll_result(struct vmbus_softc *sc __unused, struct vmbus_msghc *mh) +{ + size_t resp_len; + + return (vmbus_xact_poll(mh->mh_xact, &resp_len)); +} + void vmbus_msghc_wakeup(struct vmbus_softc *sc, const struct vmbus_message *msg) { diff --git a/sys/dev/hyperv/vmbus/vmbus_var.h b/sys/dev/hyperv/vmbus/vmbus_var.h index a5f4db554c93..b5967d5aa018 100644 --- a/sys/dev/hyperv/vmbus/vmbus_var.h +++ b/sys/dev/hyperv/vmbus/vmbus_var.h @@ -160,6 +160,9 @@ int vmbus_msghc_exec(struct vmbus_softc *, struct vmbus_msghc *); const struct vmbus_message * vmbus_msghc_wait_result(struct vmbus_softc *, struct vmbus_msghc *); +const struct vmbus_message * + vmbus_msghc_poll_result(struct vmbus_softc *, + struct vmbus_msghc *); void vmbus_msghc_wakeup(struct vmbus_softc *, const struct vmbus_message *); void vmbus_msghc_reset(struct vmbus_msghc *, size_t);