From: Paolo Bonzini <pbonzini@redhat.com>
To: Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org
Cc: "Michael Mueller" <mimu@linux.vnet.ibm.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Marcel Apfelbaum" <marcel.a@redhat.com>,
"Alexander Graf" <agraf@suse.de>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
"Jason J. Herne" <jjherne@linux.vnet.ibm.com>,
"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH v2 08/17] accel: Move KVM accel registration to kvm-all.c
Date: Fri, 26 Sep 2014 17:03:57 +0200 [thread overview]
Message-ID: <5425805D.5020109@redhat.com> (raw)
In-Reply-To: <1409344310-5441-9-git-send-email-ehabkost@redhat.com>
Il 29/08/2014 22:31, Eduardo Habkost ha scritto:
> Note that this has an user-visible side-effect: instead of reporting
> "KVM is not supported for this target", QEMU binaries not supporting KVM
> will report "kvm accelerator does not exist".
>
> As kvm_availble() always return 1 when CONFIG_KVM is enabled, we don't
> need to set AccelClass.available anymore. kvm_enabled() is not being
> completely removed yet only because qmp_query_kvm() still uses it.
>
> This also allows us to make kvm_init() static.
>
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
> hw/core/accel.c | 18 ------------------
> include/sysemu/kvm.h | 2 --
> kvm-all.c | 26 +++++++++++++++++++++++++-
> kvm-stub.c | 5 -----
> 4 files changed, 25 insertions(+), 26 deletions(-)
>
> diff --git a/hw/core/accel.c b/hw/core/accel.c
> index 483bbe8..61dafcb 100644
> --- a/hw/core/accel.c
> +++ b/hw/core/accel.c
> @@ -149,23 +149,6 @@ static const TypeInfo xen_accel_type = {
> .class_init = xen_accel_class_init,
> };
>
> -static void kvm_accel_class_init(ObjectClass *oc, void *data)
> -{
> - AccelClass *ac = ACCEL_CLASS(oc);
> - ac->name = "KVM";
> - ac->available = kvm_available;
> - ac->init = kvm_init;
> - ac->allowed = &kvm_allowed;
> -}
> -
> -#define TYPE_KVM_ACCEL ACCEL_CLASS_NAME("kvm")
> -
> -static const TypeInfo kvm_accel_type = {
> - .name = TYPE_KVM_ACCEL,
> - .parent = TYPE_ACCEL,
> - .class_init = kvm_accel_class_init,
> -};
> -
> static void qtest_accel_class_init(ObjectClass *oc, void *data)
> {
> AccelClass *ac = ACCEL_CLASS(oc);
> @@ -188,7 +171,6 @@ static void register_accel_types(void)
> type_register_static(&accel_type);
> type_register_static(&tcg_accel_type);
> type_register_static(&xen_accel_type);
> - type_register_static(&kvm_accel_type);
> type_register_static(&qtest_accel_type);
> }
>
> diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
> index 174ea36..7b95bfd 100644
> --- a/include/sysemu/kvm.h
> +++ b/include/sysemu/kvm.h
> @@ -163,8 +163,6 @@ extern KVMState *kvm_state;
>
> /* external API */
>
> -int kvm_init(MachineClass *mc);
> -
> int kvm_has_sync_mmu(void);
> int kvm_has_vcpu_events(void);
> int kvm_has_robust_singlestep(void);
> diff --git a/kvm-all.c b/kvm-all.c
> index b240bf8..7db966e 100644
> --- a/kvm-all.c
> +++ b/kvm-all.c
> @@ -26,6 +26,7 @@
> #include "qemu/config-file.h"
> #include "sysemu/sysemu.h"
> #include "hw/hw.h"
> +#include "hw/accel.h"
> #include "hw/pci/msi.h"
> #include "hw/s390x/adapter.h"
> #include "exec/gdbstub.h"
> @@ -110,6 +111,8 @@ struct KVMState
> #endif
> };
>
> +#define TYPE_KVM_ACCEL ACCEL_CLASS_NAME("kvm")
> +
> KVMState *kvm_state;
> bool kvm_kernel_irqchip;
> bool kvm_async_interrupts_allowed;
> @@ -1368,7 +1371,7 @@ static int kvm_max_vcpus(KVMState *s)
> return (ret) ? ret : kvm_recommended_vcpus(s);
> }
>
> -int kvm_init(MachineClass *mc)
> +static int kvm_init(MachineClass *mc)
> {
> static const char upgrade_note[] =
> "Please upgrade to at least kernel 2.6.29 or recent kvm-kmod\n"
> @@ -2213,3 +2216,24 @@ int kvm_get_one_reg(CPUState *cs, uint64_t id, void *target)
> }
> return r;
> }
> +
> +static void kvm_accel_class_init(ObjectClass *oc, void *data)
> +{
> + AccelClass *ac = ACCEL_CLASS(oc);
> + ac->name = "KVM";
> + ac->init = kvm_init;
> + ac->allowed = &kvm_allowed;
> +}
> +
> +static const TypeInfo kvm_accel_type = {
> + .name = TYPE_KVM_ACCEL,
> + .parent = TYPE_ACCEL,
> + .class_init = kvm_accel_class_init,
> +};
> +
> +static void kvm_type_init(void)
> +{
> + type_register_static(&kvm_accel_type);
> +}
> +
> +type_init(kvm_type_init);
> diff --git a/kvm-stub.c b/kvm-stub.c
> index 8e7737c..43fc0dd 100644
> --- a/kvm-stub.c
> +++ b/kvm-stub.c
> @@ -35,11 +35,6 @@ int kvm_init_vcpu(CPUState *cpu)
> return -ENOSYS;
> }
>
> -int kvm_init(MachineClass *mc)
> -{
> - return -ENOSYS;
> -}
> -
> void kvm_flush_coalesced_mmio_buffer(void)
> {
> }
>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
next prev parent reply other threads:[~2014-09-26 15:04 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-08-29 20:31 [Qemu-devel] [PATCH v2 00/17] QOMify accelerator code Eduardo Habkost
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 01/17] vl.c: Small coding style fix Eduardo Habkost
2014-09-26 15:11 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 02/17] accel: Move accel code to accel.c Eduardo Habkost
2014-09-26 15:00 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 03/17] accel: Create AccelType typedef Eduardo Habkost
2014-09-26 15:00 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 04/17] accel: Simplify configure_accelerator() using AccelType *acc variable Eduardo Habkost
2014-09-26 15:00 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 05/17] accel: Move accel name lookup to separate function Eduardo Habkost
2014-09-26 15:01 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 06/17] accel: Use QOM classes for accel types Eduardo Habkost
2014-09-26 15:02 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 07/17] accel: Make AccelClass.available() optional Eduardo Habkost
2014-09-26 15:02 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 08/17] accel: Move KVM accel registration to kvm-all.c Eduardo Habkost
2014-09-26 15:03 ` Paolo Bonzini
2014-09-26 15:03 ` Paolo Bonzini [this message]
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 09/17] accel: Move Xen registration code to xen-common.c Eduardo Habkost
2014-09-26 15:04 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 10/17] accel: Move qtest accel registration to qtest.c Eduardo Habkost
2014-09-26 15:04 ` Paolo Bonzini
2014-09-26 15:06 ` Paolo Bonzini
2014-09-26 19:37 ` Eduardo Habkost
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 11/17] accel: Remove tcg_available() function Eduardo Habkost
2014-09-26 15:05 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 12/17] accel: Move accel init/allowed code to separate function Eduardo Habkost
2014-09-26 15:05 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 13/17] accel: Rename 'init' method to 'init_machine' Eduardo Habkost
2014-09-26 15:09 ` Paolo Bonzini
2014-09-26 16:42 ` Eduardo Habkost
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 14/17] accel: Pass MachineState object to accel init functions Eduardo Habkost
2014-09-26 15:10 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 15/17] accel: Create accel object when initializing machine Eduardo Habkost
2014-09-26 15:10 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 16/17] accel: Save AccelState on MachineState when initializing Eduardo Habkost
2014-09-26 15:11 ` Paolo Bonzini
2014-08-29 20:31 ` [Qemu-devel] [PATCH v2 17/17] kvm: Make KVMState be the TYPE_KVM_ACCEL instance struct Eduardo Habkost
2014-09-26 15:11 ` Paolo Bonzini
2014-09-26 15:12 ` [Qemu-devel] [PATCH v2 00/17] QOMify accelerator code Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5425805D.5020109@redhat.com \
--to=pbonzini@redhat.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=ehabkost@redhat.com \
--cc=jjherne@linux.vnet.ibm.com \
--cc=marcel.a@redhat.com \
--cc=mimu@linux.vnet.ibm.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.