[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC 21/25] kvm: x86 KVM accelerator subclass
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [RFC 21/25] kvm: x86 KVM accelerator subclass |
Date: |
Wed, 9 Jul 2014 19:04:18 -0300 |
Implements TYPE_X86_ACCEL.
Signed-off-by: Eduardo Habkost <address@hidden>
---
include/sysemu/kvm.h | 3 +++
kvm-all.c | 2 --
target-i386/kvm.c | 19 +++++++++++++++++++
3 files changed, 22 insertions(+), 2 deletions(-)
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 7b95bfd..34b4dfe 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -414,4 +414,7 @@ int kvm_set_one_reg(CPUState *cs, uint64_t id, void
*source);
* Returns: 0 on success, or a negative errno on failure.
*/
int kvm_get_one_reg(CPUState *cs, uint64_t id, void *target);
+
+#define TYPE_KVM_ACCEL "kvm-accel"
+
#endif
diff --git a/kvm-all.c b/kvm-all.c
index 9185a62..c03b4e7 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -113,8 +113,6 @@ typedef struct KVMState
#endif
} KVMState;
-#define TYPE_KVM_ACCEL "kvm-accel"
-
#define KVM_STATE(obj) \
OBJECT_CHECK(KVMState, (obj), TYPE_KVM_ACCEL)
diff --git a/target-i386/kvm.c b/target-i386/kvm.c
index 097fe11..6221794 100644
--- a/target-i386/kvm.c
+++ b/target-i386/kvm.c
@@ -28,6 +28,7 @@
#include "exec/gdbstub.h"
#include "qemu/host-utils.h"
#include "qemu/config-file.h"
+#include "hw/i386/accel.h"
#include "hw/i386/pc.h"
#include "hw/i386/apic.h"
#include "hw/i386/apic_internal.h"
@@ -2591,3 +2592,21 @@ int kvm_device_msix_deassign(KVMState *s, uint32_t
dev_id)
return kvm_deassign_irq_internal(s, dev_id, KVM_DEV_IRQ_GUEST_MSIX |
KVM_DEV_IRQ_HOST_MSIX);
}
+
+#define TYPE_X86_KVM_ACCEL TARGET_NAME "-kvm-accel"
+
+static const TypeInfo x86_kvm_accel_type = {
+ .name = TYPE_X86_KVM_ACCEL,
+ .parent = TYPE_KVM_ACCEL,
+ .interfaces = (InterfaceInfo[]) {
+ { TYPE_X86_ACCEL },
+ { }
+ },
+};
+
+static void x86_kvm_type_init(void)
+{
+ type_register_static(&x86_kvm_accel_type);
+}
+
+type_init(x86_kvm_type_init);
--
1.9.3
- [Qemu-devel] [RFC 14/25] accel: Pass MachineState object to accel init functions, (continued)
- [Qemu-devel] [RFC 14/25] accel: Pass MachineState object to accel init functions, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 12/25] accel: Move accel init/allowed code to separate function, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 16/25] accel: Save AccelState on MachineState when initializing, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 15/25] accel: Create accel object when initializing machine, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 17/25] kvm: Make KVMState be the TYPE_KVM_ACCEL instance struct, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 20/25] accel: TYPE_X86_ACCEL interface, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 24/25] target-i386: Accept "host" as value for CPU vendor, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 23/25] target-i386: Move accelerator-specific code outside X86CPU.instance_init, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 18/25] accel: Get target name as argument when initializing accelerator, Eduardo Habkost, 2014/07/09
- [Qemu-devel] [RFC 25/25] target-i386: Move KVM CPUID hacking to accelerator cpu_post_init hook, Eduardo Habkost, 2014/07/10
- [Qemu-devel] [RFC 21/25] kvm: x86 KVM accelerator subclass,
Eduardo Habkost <=
- [Qemu-devel] [RFC 19/25] accel: Use target-specific accel class if available, Eduardo Habkost, 2014/07/10
- [Qemu-devel] [RFC 22/25] target-i386: Add AccelState parameter to cpu_x86_create(), Eduardo Habkost, 2014/07/10