From 94a8d39afd8ccfdbf578af04c3385fdb5f545af1 Mon Sep 17 00:00:00 2001 From: Jan Kiszka Date: Fri, 21 Jan 2011 21:48:17 +0100 Subject: kvm: Consolidate must-have capability checks Instead of splattering the code with #ifdefs and runtime checks for capabilities we cannot work without anyway, provide central test infrastructure for verifying their availability both at build and runtime. Signed-off-by: Jan Kiszka Signed-off-by: Marcelo Tosatti --- kvm.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'kvm.h') diff --git a/kvm.h b/kvm.h index a971752..ca57517 100644 --- a/kvm.h +++ b/kvm.h @@ -32,6 +32,14 @@ extern int kvm_allowed; struct kvm_run; +typedef struct KVMCapabilityInfo { + const char *name; + int value; +} KVMCapabilityInfo; + +#define KVM_CAP_INFO(CAP) { "KVM_CAP_" stringify(CAP), KVM_CAP_##CAP } +#define KVM_CAP_LAST_INFO { NULL, 0 } + /* external API */ int kvm_init(void); @@ -86,6 +94,8 @@ int kvm_vcpu_ioctl(CPUState *env, int type, ...); /* Arch specific hooks */ +extern const KVMCapabilityInfo kvm_arch_required_capabilities[]; + int kvm_arch_post_run(CPUState *env, struct kvm_run *run); int kvm_arch_handle_exit(CPUState *env, struct kvm_run *run); -- cgit v1.1