Messages in this thread | | | Date | Thu, 30 Nov 2006 16:44:25 +0100 | From | Ingo Molnar <> | Subject | Re: [PATCH 1/38] KVM: Create kvm-intel.ko module |
| |
* Christoph Hellwig <hch@infradead.org> wrote:
> > please move this from drivers/kvm/ to kernel/kvm/ [or even into a > > toplevel kvm/ directory] - KVM is not a "driver", KVM enhances the > > core Linux kernel with hypervisor functionality. > > Actually it's exactly a driver. It's a character driver that exposes > the virtualization features of modern x86 hardware. [...]
you are fundamentally wrong. In the end KVM is a fundamental and complex infrastructure that enables Linux to provide full hardware capabilities to another OS via the resources of this OS. This concept justifies a system call and a place in linux/kernel/. It's not fundamentally limited to x86 either. Full virtualization (and paravirtualization) makes sense on any platform. And there's no reason KVM be limited to full virtualization alone - both paravirtualization and accelerated guest drivers need a sane hypercall API.
> [...] Pretty similar to things like the msr or mtrr driver that expose > cpu features as character drivers aswell.
you can expose everything as character drivers and ioctls, but that doesnt make it the right solution. It might /start out/ as a driver, because that's an easy to hack model, but the moment something becomes important enough (and virtualization certainly is such a model) it demands a system call.
Just like inotify started out as an ioctl hack, but then was (rightfully) moved to the system-call space. [ Which btw. was on your request ;-) ]
Ingo - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |