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.