Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

misc: Reserve minor for VFIO

VFIO currently allocates it's own dynamic chardev range, reserving the
first minor for the control part of the interface (/dev/vfio/vfio) and
the remainder for VFIO groups (/dev/vfio/$GROUP). This works, but it
doesn't support auto loading. For instance when libvirt checks for
VFIO support it looks for /dev/vfio/vfio, which currently doesn't
exist unless the vfio module is loaded. By converting the control
device to a misc driver and reserving a static minor, we can enable
auto loading.

Reserving the minor is a prerequist to that conversion. Minor 196
is unused by anything currently in the kernel.

Suggested-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

+2
+1
Documentation/devices.txt
··· 409 409 193 = /dev/d7s SPARC 7-segment display 410 410 194 = /dev/zkshim Zero-Knowledge network shim control 411 411 195 = /dev/elographics/e2201 Elographics touchscreen E271-2201 412 + 196 = /dev/vfio/vfio VFIO userspace driver interface 412 413 198 = /dev/sexec Signed executable interface 413 414 199 = /dev/scanners/cuecat :CueCat barcode scanner 414 415 200 = /dev/net/tun TAP/TUN network device
+1
include/linux/miscdevice.h
··· 30 30 #define STORE_QUEUE_MINOR 155 31 31 #define I2O_MINOR 166 32 32 #define MICROCODE_MINOR 184 33 + #define VFIO_MINOR 196 33 34 #define TUN_MINOR 200 34 35 #define CUSE_MINOR 203 35 36 #define MWAVE_MINOR 219 /* ACP/Mwave Modem */