summaryrefslogtreecommitdiff
path: root/kvm.h
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2011-02-01 15:23:24 -0600
committerAnthony Liguori <aliguori@us.ibm.com>2011-02-01 15:32:18 -0600
commitb3a98367eec7b2d87acca54ef5e4de3b0e0a7ed5 (patch)
tree22b6121e6f81c09c7dd780ed211afef7b9ebb92d /kvm.h
parent9363ee31ab53fc0fd39fbe5936d9c00a2f4e54a4 (diff)
parentc5999bfcfdf66390c98115044cb6fd174fbcf36d (diff)
downloadqemu-b3a98367eec7b2d87acca54ef5e4de3b0e0a7ed5.tar.gz
Merge remote branch 'qemu-kvm/uq/master' into staging
aliguori: fix build with !defined(KVM_CAP_ASYNC_PF) Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'kvm.h')
-rw-r--r--kvm.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/kvm.h b/kvm.h
index ce08d42756..ca57517af2 100644
--- a/kvm.h
+++ b/kvm.h
@@ -32,9 +32,17 @@ 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(int smp_cpus);
+int kvm_init(void);
int kvm_has_sync_mmu(void);
int kvm_has_vcpu_events(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);
@@ -105,7 +115,7 @@ int kvm_arch_get_registers(CPUState *env);
int kvm_arch_put_registers(CPUState *env, int level);
-int kvm_arch_init(KVMState *s, int smp_cpus);
+int kvm_arch_init(KVMState *s);
int kvm_arch_init_vcpu(CPUState *env);