commit 8bfd8b54dd79350b2ec286e076c260c97227c505 Author: Ryota Ozaki Date: Mon Mar 17 16:59:20 2025 +0900 vio9p: export tag via sysctl diff --git a/sys/dev/pci/vio9p.c b/sys/dev/pci/vio9p.c index 17189a4988e..6fac6e66cf2 100644 --- a/sys/dev/pci/vio9p.c +++ b/sys/dev/pci/vio9p.c @@ -490,6 +490,7 @@ vio9p_attach(device_t parent, device_t self, void *aux) struct virtio_softc *vsc = device_private(parent); uint64_t features; int error; + const struct sysctlnode *node; if (virtio_child(vsc) != NULL) { aprint_normal(": child already attached for %s; " @@ -553,6 +554,15 @@ vio9p_attach(device_t parent, device_t self, void *aux) vio9p_read_config(sc); aprint_normal_dev(self, "tagged as %s\n", sc->sc_tag); + sysctl_createv(NULL, 0, NULL, &node, 0, CTLTYPE_NODE, + device_xname(self), SYSCTL_DESCR("VirtIO 9p status"), + NULL, 0, NULL, 0, + CTL_HW, CTL_CREATE, CTL_EOL); + sysctl_createv(NULL, 0, NULL, NULL, 0, CTLTYPE_STRING, + "tag", SYSCTL_DESCR("VirtIO 9p tag value"), + NULL, 0, sc->sc_tag, 0, + CTL_HW, node->sysctl_num, CTL_CREATE, CTL_EOL); + error = virtio_child_attach_finish(vsc, sc->sc_vq, __arraycount(sc->sc_vq), NULL, VIRTIO_F_INTR_MPSAFE | VIRTIO_F_INTR_SOFTINT);