Module Name: src Committed By: mlelstv Date: Sat Mar 25 11:04:34 UTC 2023
Modified Files: src/sys/dev/pci: viomb.c viornd.c vioscsi.c Log Message: Mark as MPSAFE. To generate a diff of this commit: cvs rdiff -u -r1.16 -r1.17 src/sys/dev/pci/viomb.c cvs rdiff -u -r1.20 -r1.21 src/sys/dev/pci/viornd.c cvs rdiff -u -r1.35 -r1.36 src/sys/dev/pci/vioscsi.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/sys/dev/pci/viomb.c diff -u src/sys/dev/pci/viomb.c:1.16 src/sys/dev/pci/viomb.c:1.17 --- src/sys/dev/pci/viomb.c:1.16 Sat Mar 25 11:00:35 2023 +++ src/sys/dev/pci/viomb.c Sat Mar 25 11:04:34 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: viomb.c,v 1.16 2023/03/25 11:00:35 mlelstv Exp $ */ +/* $NetBSD: viomb.c,v 1.17 2023/03/25 11:04:34 mlelstv Exp $ */ /* * Copyright (c) 2010 Minoura Makoto. @@ -26,7 +26,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: viomb.c,v 1.16 2023/03/25 11:00:35 mlelstv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: viomb.c,v 1.17 2023/03/25 11:04:34 mlelstv Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -192,7 +192,7 @@ viomb_attach(device_t parent, device_t s } if (virtio_child_attach_finish(vsc, sc->sc_vq, __arraycount(sc->sc_vq), - viomb_config_change, 0) != 0) + viomb_config_change, VIRTIO_F_INTR_MPSAFE) != 0) goto err_out; if (kthread_create(PRI_IDLE, KTHREAD_MPSAFE, NULL, Index: src/sys/dev/pci/viornd.c diff -u src/sys/dev/pci/viornd.c:1.20 src/sys/dev/pci/viornd.c:1.21 --- src/sys/dev/pci/viornd.c:1.20 Thu Mar 23 03:55:11 2023 +++ src/sys/dev/pci/viornd.c Sat Mar 25 11:04:34 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: viornd.c,v 1.20 2023/03/23 03:55:11 yamaguchi Exp $ */ +/* $NetBSD: viornd.c,v 1.21 2023/03/25 11:04:34 mlelstv Exp $ */ /* $OpenBSD: viornd.c,v 1.1 2014/01/21 21:14:58 sf Exp $ */ /* @@ -191,7 +191,7 @@ viornd_attach(device_t parent, device_t sc->sc_vq.vq_done = viornd_vq_done; error = virtio_child_attach_finish(vsc, &sc->sc_vq, 1, - NULL, 0); + NULL, VIRTIO_F_INTR_MPSAFE); if (error) { virtio_free_vq(vsc, &sc->sc_vq); goto vio_failed; Index: src/sys/dev/pci/vioscsi.c diff -u src/sys/dev/pci/vioscsi.c:1.35 src/sys/dev/pci/vioscsi.c:1.36 --- src/sys/dev/pci/vioscsi.c:1.35 Sat Mar 25 09:03:47 2023 +++ src/sys/dev/pci/vioscsi.c Sat Mar 25 11:04:34 2023 @@ -1,4 +1,4 @@ -/* $NetBSD: vioscsi.c,v 1.35 2023/03/25 09:03:47 mlelstv Exp $ */ +/* $NetBSD: vioscsi.c,v 1.36 2023/03/25 11:04:34 mlelstv Exp $ */ /* $OpenBSD: vioscsi.c,v 1.3 2015/03/14 03:38:49 jsg Exp $ */ /* @@ -18,7 +18,7 @@ */ #include <sys/cdefs.h> -__KERNEL_RCSID(0, "$NetBSD: vioscsi.c,v 1.35 2023/03/25 09:03:47 mlelstv Exp $"); +__KERNEL_RCSID(0, "$NetBSD: vioscsi.c,v 1.36 2023/03/25 11:04:34 mlelstv Exp $"); #include <sys/param.h> #include <sys/systm.h> @@ -173,7 +173,8 @@ vioscsi_attach(device_t parent, device_t cmd_per_lun, qsize, seg_max, max_target, max_lun); if (virtio_child_attach_finish(vsc, sc->sc_vqs, - __arraycount(sc->sc_vqs), NULL, VIRTIO_F_INTR_MSIX) != 0) + __arraycount(sc->sc_vqs), NULL, + VIRTIO_F_INTR_MSIX | VIRTIO_F_INTR_MPSAFE) != 0) goto err; /* @@ -186,6 +187,7 @@ vioscsi_attach(device_t parent, device_t adapt->adapt_max_periph = adapt->adapt_openings; adapt->adapt_request = vioscsi_scsipi_request; adapt->adapt_minphys = minphys; + adapt->adapt_flags = SCSIPI_ADAPT_MPSAFE; /* * Fill in the scsipi_channel.