summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAvi Kivity <avi@qumranet.com>2006-12-22 01:06:02 -0800
committerLinus Torvalds <torvalds@woody.osdl.org>2006-12-22 08:55:46 -0800
commit0b76e20b27d20f7cb240e6b1b2dbebaa1b7f9b60 (patch)
tree409d8ca0f46500b5998aca9400c3419f9ebb789f
parent0f8e3d365a30a8788d4c348e2885bac9640bf4d0 (diff)
downloadlinux-0b76e20b27d20f7cb240e6b1b2dbebaa1b7f9b60.tar.gz
linux-0b76e20b27d20f7cb240e6b1b2dbebaa1b7f9b60.tar.bz2
linux-0b76e20b27d20f7cb240e6b1b2dbebaa1b7f9b60.zip
[PATCH] KVM: API versioning
Add compile-time and run-time API versioning. Signed-off-by: Avi Kivity <avi@qumranet.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--drivers/kvm/kvm_main.c3
-rw-r--r--include/linux/kvm.h3
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/kvm/kvm_main.c b/drivers/kvm/kvm_main.c
index bc2e6c19f855..9f24f22e4cb2 100644
--- a/drivers/kvm/kvm_main.c
+++ b/drivers/kvm/kvm_main.c
@@ -1603,6 +1603,9 @@ static long kvm_dev_ioctl(struct file *filp,
int r = -EINVAL;
switch (ioctl) {
+ case KVM_GET_API_VERSION:
+ r = KVM_API_VERSION;
+ break;
case KVM_CREATE_VCPU: {
r = kvm_dev_ioctl_create_vcpu(kvm, arg);
if (r)
diff --git a/include/linux/kvm.h b/include/linux/kvm.h
index 5bb2c3c585c1..28fdce1ac1db 100644
--- a/include/linux/kvm.h
+++ b/include/linux/kvm.h
@@ -11,6 +11,8 @@
#include <asm/types.h>
#include <linux/ioctl.h>
+#define KVM_API_VERSION 1
+
/*
* Architectural interrupt line count, and the size of the bitmap needed
* to hold them.
@@ -209,6 +211,7 @@ struct kvm_dirty_log {
#define KVMIO 0xAE
+#define KVM_GET_API_VERSION _IO(KVMIO, 1)
#define KVM_RUN _IOWR(KVMIO, 2, struct kvm_run)
#define KVM_GET_REGS _IOWR(KVMIO, 3, struct kvm_regs)
#define KVM_SET_REGS _IOW(KVMIO, 4, struct kvm_regs)