aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hw/device-assignment.c2
-rw-r--r--kvm-all.c2
-rw-r--r--qemu-kvm-x86.c6
-rw-r--r--qemu-kvm.c18
-rw-r--r--qemu-kvm.h2
5 files changed, 11 insertions, 19 deletions
diff --git a/hw/device-assignment.c b/hw/device-assignment.c
index 88c3baf33..75db54625 100644
--- a/hw/device-assignment.c
+++ b/hw/device-assignment.c
@@ -639,7 +639,7 @@ static int assign_device(AssignedDevInfo *adev)
/* We always enable the IOMMU if present
* (or when not disabled on the command line)
*/
- r = kvm_check_extension(kvm_context, KVM_CAP_IOMMU);
+ r = kvm_check_extension(kvm_state, KVM_CAP_IOMMU);
if (r && !adev->disable_iommu)
assigned_dev_data.flags |= KVM_DEV_ASSIGN_ENABLE_IOMMU;
#endif
diff --git a/kvm-all.c b/kvm-all.c
index 0ec6475a6..b4b5a35f4 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -383,6 +383,7 @@ int kvm_uncoalesce_mmio_region(target_phys_addr_t start, ram_addr_t size)
return ret;
}
+#endif
int kvm_check_extension(KVMState *s, unsigned int extension)
{
int ret;
@@ -394,6 +395,7 @@ int kvm_check_extension(KVMState *s, unsigned int extension)
return ret;
}
+#ifdef KVM_UPSTREAM
int kvm_init(int smp_cpus)
{
diff --git a/qemu-kvm-x86.c b/qemu-kvm-x86.c
index 428e83146..e4ae58293 100644
--- a/qemu-kvm-x86.c
+++ b/qemu-kvm-x86.c
@@ -348,7 +348,7 @@ int kvm_has_pit_state2(kvm_context_t kvm)
int r = 0;
#ifdef KVM_CAP_PIT_STATE2
- r = kvm_check_extension(kvm, KVM_CAP_PIT_STATE2);
+ r = kvm_check_extension(kvm_state, KVM_CAP_PIT_STATE2);
#endif
return r;
}
@@ -702,7 +702,7 @@ uint32_t kvm_get_supported_cpuid(kvm_context_t kvm, uint32_t function, int reg)
uint32_t ret = 0;
uint32_t cpuid_1_edx;
- if (!kvm_check_extension(kvm, KVM_CAP_EXT_CPUID)) {
+ if (!kvm_check_extension(kvm_state, KVM_CAP_EXT_CPUID)) {
return -1U;
}
@@ -1234,7 +1234,7 @@ static int get_para_features(kvm_context_t kvm_context)
int i, features = 0;
for (i = 0; i < ARRAY_SIZE(para_features)-1; i++) {
- if (kvm_check_extension(kvm_context, para_features[i].cap))
+ if (kvm_check_extension(kvm_state, para_features[i].cap))
features |= (1 << para_features[i].feature);
}
diff --git a/qemu-kvm.c b/qemu-kvm.c
index 98cfee071..e200dea9f 100644
--- a/qemu-kvm.c
+++ b/qemu-kvm.c
@@ -589,16 +589,6 @@ static int kvm_create_default_phys_mem(kvm_context_t kvm,
return -1;
}
-int kvm_check_extension(kvm_context_t kvm, int ext)
-{
- int ret;
-
- ret = kvm_ioctl(kvm_state, KVM_CHECK_EXTENSION, ext);
- if (ret > 0)
- return ret;
- return 0;
-}
-
void kvm_create_irqchip(kvm_context_t kvm)
{
int r;
@@ -1345,7 +1335,7 @@ int kvm_has_gsi_routing(kvm_context_t kvm)
int r = 0;
#ifdef KVM_CAP_IRQ_ROUTING
- r = kvm_check_extension(kvm, KVM_CAP_IRQ_ROUTING);
+ r = kvm_check_extension(kvm_state, KVM_CAP_IRQ_ROUTING);
#endif
return r;
}
@@ -1353,7 +1343,7 @@ int kvm_has_gsi_routing(kvm_context_t kvm)
int kvm_get_gsi_count(kvm_context_t kvm)
{
#ifdef KVM_CAP_IRQ_ROUTING
- return kvm_check_extension(kvm, KVM_CAP_IRQ_ROUTING);
+ return kvm_check_extension(kvm_state, KVM_CAP_IRQ_ROUTING);
#else
return -EINVAL;
#endif
@@ -1606,7 +1596,7 @@ int kvm_irqfd(kvm_context_t kvm, int gsi, int flags)
int r;
int fd;
- if (!kvm_check_extension(kvm, KVM_CAP_IRQFD))
+ if (!kvm_check_extension(kvm_state, KVM_CAP_IRQFD))
return -ENOENT;
fd = eventfd(0, 0);
@@ -2381,7 +2371,7 @@ int kvm_setup_guest_memory(void *area, unsigned long size)
int kvm_qemu_check_extension(int ext)
{
- return kvm_check_extension(kvm_context, ext);
+ return kvm_check_extension(kvm_state, ext);
}
int kvm_qemu_init_env(CPUState *cenv)
diff --git a/qemu-kvm.h b/qemu-kvm.h
index 8c9b72f45..ec35f290b 100644
--- a/qemu-kvm.h
+++ b/qemu-kvm.h
@@ -167,7 +167,6 @@ int kvm_create(kvm_context_t kvm,
unsigned long phys_mem_bytes,
void **phys_mem);
int kvm_create_vm(kvm_context_t kvm);
-int kvm_check_extension(kvm_context_t kvm, int ext);
void kvm_create_irqchip(kvm_context_t kvm);
/*!
@@ -1198,5 +1197,6 @@ extern KVMState *kvm_state;
int kvm_ioctl(KVMState *s, int type, ...);
int kvm_vm_ioctl(KVMState *s, int type, ...);
+int kvm_check_extension(KVMState *s, unsigned int ext);
#endif