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 <pbonz...@redhat.com>
Signed-off-by: Alex Williamson <alex.william...@redhat.com>
---

v2: Plea for ack edition

As Alan suspected, there's been no response from dev...@lanana.org,
so there's probably nobody monitoring it anymore.  I've done due
diligence looking at all the callers of misc_register() in linux-next
and cannot find any conflicts with minor 196.  If anyone wants to toss
me an ack or sign-off I'll be happy to bring this in through my vfio
tree, otherwise I'd appreciate if someone wants to take it directly.
Thanks!

 Documentation/devices.txt  |    1 +
 include/linux/miscdevice.h |    1 +
 2 files changed, 2 insertions(+)

diff --git a/Documentation/devices.txt b/Documentation/devices.txt
index 80b7241..10378cc 100644
--- a/Documentation/devices.txt
+++ b/Documentation/devices.txt
@@ -409,6 +409,7 @@ Your cooperation is appreciated.
                193 = /dev/d7s          SPARC 7-segment display
                194 = /dev/zkshim       Zero-Knowledge network shim control
                195 = /dev/elographics/e2201    Elographics touchscreen 
E271-2201
+               196 = /dev/vfio/vfio    VFIO userspace driver interface
                198 = /dev/sexec        Signed executable interface
                199 = /dev/scanners/cuecat :CueCat barcode scanner
                200 = /dev/net/tun      TAP/TUN network device
diff --git a/include/linux/miscdevice.h b/include/linux/miscdevice.h
index f7eaf2d..3737f72 100644
--- a/include/linux/miscdevice.h
+++ b/include/linux/miscdevice.h
@@ -30,6 +30,7 @@
 #define STORE_QUEUE_MINOR      155
 #define I2O_MINOR              166
 #define MICROCODE_MINOR                184
+#define VFIO_MINOR             196
 #define TUN_MINOR              200
 #define CUSE_MINOR             203
 #define MWAVE_MINOR            219     /* ACP/Mwave Modem */

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to