From 0b39d72d0491c77e3e9883015b1fac46663c71de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20V=C3=B6lker?= Date: Sat, 4 Apr 2026 16:49:54 +0200 Subject: [PATCH] virtio: use modern mode for transitional device by default This patch changes the default value of the loader tunable hw.virtio.pci.transitional to 1. This means, virtio uses the modern mode for transitional devices by default. The return values of vtpci_modern_probe() and vtpci_legacy_probei() were chosen to prefer modern mode, but hw.virtio.pci.transitional=0 prevents modern mode. Setting hw.virtio.pci.transitional to 1 by default seems a better fit. Reviewed by: tuexen Differential Revision: https://reviews.freebsd.org/D55894 --- share/man/man4/virtio.4 | 2 +- sys/dev/virtio/pci/virtio_pci_modern.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/share/man/man4/virtio.4 b/share/man/man4/virtio.4 index 8252cc1b795..6af6300b1ce 100644 --- a/share/man/man4/virtio.4 +++ b/share/man/man4/virtio.4 @@ -114,7 +114,7 @@ use the legacy .Nm driver .Pq 0 . -The default value is 0. +The default value is 1. .El .Sh SEE ALSO .Xr virtio_balloon 4 , diff --git a/sys/dev/virtio/pci/virtio_pci_modern.c b/sys/dev/virtio/pci/virtio_pci_modern.c index 108fd2b5f8e..baf7c448bb9 100644 --- a/sys/dev/virtio/pci/virtio_pci_modern.c +++ b/sys/dev/virtio/pci/virtio_pci_modern.c @@ -191,7 +191,7 @@ static void vtpci_modern_write_device_8(struct vtpci_modern_softc *, /* Tunables. */ SYSCTL_DECL(_hw_virtio_pci); -static int vtpci_modern_transitional = 0; +static int vtpci_modern_transitional = 1; SYSCTL_INT(_hw_virtio_pci, OID_AUTO, transitional, CTLFLAG_RDTUN, &vtpci_modern_transitional, 0, "If 0, a transitional VirtIO device is used in legacy mode; otherwise, in modern mode.");