diff options
author | Jan Kiszka <jan.kiszka@siemens.com> | 2011-01-21 21:48:17 +0100 |
---|---|---|
committer | Marcelo Tosatti <mtosatti@redhat.com> | 2011-01-23 02:27:22 -0200 |
commit | 600ff968d9900ac8ddb7908fd4e60d9d9c327960 (patch) | |
tree | 0271405cd56c03f2a7578169e4682e731d4f80ab /kvm.h | |
parent | 643a70821877a59bd1ae6f1a172edbdcaa31c72b (diff) | |
download | qemu-600ff968d9900ac8ddb7908fd4e60d9d9c327960.tar.gz qemu-600ff968d9900ac8ddb7908fd4e60d9d9c327960.tar.bz2 qemu-600ff968d9900ac8ddb7908fd4e60d9d9c327960.zip |
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 <jan.kiszka@siemens.com>
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
Diffstat (limited to 'kvm.h')
-rw-r--r-- | kvm.h | 10 |
1 files changed, 10 insertions, 0 deletions
@@ -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); |