svn commit: r302549 - head/sys/dev/hyperv/vmbus
Sepherosa Ziehau
sephe at FreeBSD.org
Mon Jul 11 06:55:03 UTC 2016
Author: sephe
Date: Mon Jul 11 06:55:02 2016
New Revision: 302549
URL: https://svnweb.freebsd.org/changeset/base/302549
Log:
hyperv/vmbus: Add sysctl to expose vmbus version.
Requested by: Hongxiong Xian <v-hoxian microsoft com>
MFC after: 1 week
Sponsored by: Microsoft OSTC
Differential Revision: https://reviews.freebsd.org/D6860
Modified:
head/sys/dev/hyperv/vmbus/vmbus.c
Modified: head/sys/dev/hyperv/vmbus/vmbus.c
==============================================================================
--- head/sys/dev/hyperv/vmbus/vmbus.c Mon Jul 11 06:49:56 2016 (r302548)
+++ head/sys/dev/hyperv/vmbus/vmbus.c Mon Jul 11 06:55:02 2016 (r302549)
@@ -100,6 +100,8 @@ static int vmbus_init_contact(struct v
uint32_t);
static int vmbus_req_channels(struct vmbus_softc *sc);
+static int vmbus_sysctl_version(SYSCTL_HANDLER_ARGS);
+
static struct vmbus_msghc_ctx *vmbus_msghc_ctx_create(bus_dma_tag_t);
static void vmbus_msghc_ctx_destroy(
struct vmbus_msghc_ctx *);
@@ -948,6 +950,17 @@ hv_vmbus_child_device_unregister(struct
}
static int
+vmbus_sysctl_version(SYSCTL_HANDLER_ARGS)
+{
+ char verstr[16];
+
+ snprintf(verstr, sizeof(verstr), "%u.%u",
+ hv_vmbus_protocal_version >> 16,
+ hv_vmbus_protocal_version & 0xffff);
+ return sysctl_handle_string(oidp, verstr, sizeof(verstr), req);
+}
+
+static int
vmbus_probe(device_t dev)
{
char *id[] = { "VMBUS", NULL };
@@ -977,6 +990,8 @@ vmbus_probe(device_t dev)
static int
vmbus_doattach(struct vmbus_softc *sc)
{
+ struct sysctl_oid_list *child;
+ struct sysctl_ctx_list *ctx;
int ret;
if (sc->vmbus_flags & VMBUS_FLAG_ATTACHED)
@@ -1040,6 +1055,12 @@ vmbus_doattach(struct vmbus_softc *sc)
bus_generic_attach(sc->vmbus_dev);
device_printf(sc->vmbus_dev, "device scan, probe and attach done\n");
+ ctx = device_get_sysctl_ctx(sc->vmbus_dev);
+ child = SYSCTL_CHILDREN(device_get_sysctl_tree(sc->vmbus_dev));
+ SYSCTL_ADD_PROC(ctx, child, OID_AUTO, "version",
+ CTLTYPE_STRING | CTLFLAG_RD | CTLFLAG_MPSAFE, NULL, 0,
+ vmbus_sysctl_version, "A", "vmbus version");
+
return (ret);
cleanup:
More information about the svn-src-head
mailing list