[fedora-virt] how can i see if the running kernel has kvm support?
Eduardo Habkost
ehabkost at redhat.com
Thu Apr 9 16:48:19 UTC 2009
On Thu, Apr 09, 2009 at 12:03:18PM -0400, Robert P. J. Day wrote:
> On Wed, 8 Apr 2009, Eduardo Habkost wrote:
>
> > On Wed, Apr 08, 2009 at 04:05:41PM -0400, Robert P. J. Day wrote:
>
> > > regardless of whether kvm support is built-in or whether it's
> > > modular and the modules have been loaded, is there some indication
> > > -- say under /proc or /sys -- that shows the current state of kvm
> > > support in the kernel?
> > >
> > > if i had the config file for the running kernel, i could of
> > > course look at that, but let's assume that i have no such thing,
> > > and that kvm support is built-in so i can't even check for, say,
> > > /sys/module/kvm. is there a userspace way to probe and determine
> > > kvm support?
> >
> > You can try looking at /sys/class/misc/kvm.
>
> and /dev/kvm as well, as glauber pointed out. i took a quick look
> at the kernel source file virt/kvm/kvm_main.c, and i can see the
> kvm_init() routine which contains the snippet:
>
> =====
>
> ...
> r = kvm_arch_hardware_setup();
> if (r < 0)
> goto out_free_0a;
> ...
>
> r = sysdev_class_register(&kvm_sysdev_class);
> if (r)
> goto out_free_3;
>
> r = sysdev_register(&kvm_sysdev);
> if (r)
> goto out_free_4;
>
> ...
>
> kvm_chardev_ops.owner = module;
> kvm_vm_fops.owner = module;
> kvm_vcpu_fops.owner = module;
>
> r = misc_register(&kvm_dev);
> if (r) {
> printk(KERN_ERR "kvm: misc device register failed\n");
> goto out_free;
> }
> ...
>
> =====
>
> just to clarify, those last few lines appear to create the device
> file /dev/kvm, while the ones above involving sysdev_class_register()
> and sysdev_register() will handle /sys/class/misc/kvm, correct? just
> being curious and nosing around the kernel code.
Both are steps needed for /sys/class/misc/kvm. After that, udev should
create /dev/kvm when it is notified about the new device.
--
Eduardo
More information about the Fedora-virt
mailing list