From: Eduardo Habkost <ehabkost@redhat.com>
To: qemu-devel@nongnu.org
Cc: "Michael Mueller" <mimu@linux.vnet.ibm.com>,
"Marcel Apfelbaum" <marcel.a@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Alexander Graf" <agraf@suse.de>,
"Christian Borntraeger" <borntraeger@de.ibm.com>,
"Jason J. Herne" <jjherne@linux.vnet.ibm.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Andreas Färber" <afaerber@suse.de>
Subject: [Qemu-devel] [PATCH v3 14/17] accel: Rename 'init' method to 'init_machine'
Date: Fri, 26 Sep 2014 17:45:29 -0300 [thread overview]
Message-ID: <1411764332-23265-15-git-send-email-ehabkost@redhat.com> (raw)
In-Reply-To: <1411764332-23265-1-git-send-email-ehabkost@redhat.com>
Today, all accelerator init functions affect some global state:
* tcg_init() calls tcg_exec_init() and affects globals such as tcg_tcx,
page size globals, and possibly others;
* kvm_init() changes the kvm_state global, cpu_interrupt_handler, and possibly
others;
* xen_init() changes the xen_xc global, and registers a change state handler.
With the new accelerator QOM classes, initialization may now be split in two
steps:
* instance_init() will do basic initialization that doesn't affect any global
state and don't need MachineState or MachineClass data. This will allow
probing code to safely create multiple accelerator objects on the fly just
for reporting host/accelerator capabilities, for example.
* accel_init_machine()/init_machine() will save the accelerator object in
MachineState, and do initialization steps which still affect global state,
machine state, or that need data from MachineClass or MachineState.
To clarify the difference between those two steps, rename init() to
init_machine().
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
Changes v2 -> v3:
* Clarify reasoning for the method rename on commit message.
---
accel.c | 8 ++++----
include/sysemu/accel.h | 2 +-
kvm-all.c | 2 +-
qtest.c | 2 +-
xen-common.c | 2 +-
5 files changed, 8 insertions(+), 8 deletions(-)
diff --git a/accel.c b/accel.c
index 9241967..b151d55 100644
--- a/accel.c
+++ b/accel.c
@@ -57,11 +57,11 @@ static AccelClass *accel_find(const char *opt_name)
return ac;
}
-static int accel_init(AccelClass *acc, MachineClass *mc)
+static int accel_init_machine(AccelClass *acc, MachineClass *mc)
{
int ret;
*(acc->allowed) = true;
- ret = acc->init(mc);
+ ret = acc->init_machine(mc);
if (ret < 0) {
*(acc->allowed) = false;
}
@@ -98,7 +98,7 @@ int configure_accelerator(MachineClass *mc)
acc->name);
continue;
}
- ret = accel_init(acc, mc);
+ ret = accel_init_machine(acc, mc);
if (ret < 0) {
init_failed = true;
fprintf(stderr, "failed to initialize %s: %s\n",
@@ -128,7 +128,7 @@ static void tcg_accel_class_init(ObjectClass *oc, void *data)
{
AccelClass *ac = ACCEL_CLASS(oc);
ac->name = "tcg";
- ac->init = tcg_init;
+ ac->init_machine = tcg_init;
ac->allowed = &tcg_allowed;
}
diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h
index 120ca0e..8812cda 100644
--- a/include/sysemu/accel.h
+++ b/include/sysemu/accel.h
@@ -39,7 +39,7 @@ typedef struct AccelClass {
const char *opt_name;
const char *name;
int (*available)(void);
- int (*init)(MachineClass *mc);
+ int (*init_machine)(MachineClass *mc);
bool *allowed;
} AccelClass;
diff --git a/kvm-all.c b/kvm-all.c
index 009c0dc..97f1261 100644
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -2235,7 +2235,7 @@ static void kvm_accel_class_init(ObjectClass *oc, void *data)
{
AccelClass *ac = ACCEL_CLASS(oc);
ac->name = "KVM";
- ac->init = kvm_init;
+ ac->init_machine = kvm_init;
ac->allowed = &kvm_allowed;
}
diff --git a/qtest.c b/qtest.c
index 0af8b74..18e26fc 100644
--- a/qtest.c
+++ b/qtest.c
@@ -564,7 +564,7 @@ static void qtest_accel_class_init(ObjectClass *oc, void *data)
AccelClass *ac = ACCEL_CLASS(oc);
ac->name = "QTest";
ac->available = qtest_available;
- ac->init = qtest_init_accel;
+ ac->init_machine = qtest_init_accel;
ac->allowed = &qtest_allowed;
}
diff --git a/xen-common.c b/xen-common.c
index acc64d5..acb738f 100644
--- a/xen-common.c
+++ b/xen-common.c
@@ -126,7 +126,7 @@ static void xen_accel_class_init(ObjectClass *oc, void *data)
{
AccelClass *ac = ACCEL_CLASS(oc);
ac->name = "Xen";
- ac->init = xen_init;
+ ac->init_machine = xen_init;
ac->allowed = &xen_allowed;
}
--
1.9.3
next prev parent reply other threads:[~2014-09-26 20:47 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-09-26 20:45 [Qemu-devel] [PATCH v3 00/17] QOMify accelerator code Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 01/17] vl.c: Small coding style fix Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 02/17] accel: Move accel code to accel.c Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 03/17] accel: Create AccelType typedef Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 04/17] accel: Simplify configure_accelerator() using AccelType *acc variable Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 05/17] accel: Move accel name lookup to separate function Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 06/17] accel: Use QOM classes for accel types Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 07/17] accel: Make AccelClass.available() optional Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 08/17] accel: Report unknown accelerator as "not found" instead of "does not exist" Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 09/17] accel: Move KVM accel registration to kvm-all.c Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 10/17] accel: Move Xen registration code to xen-common.c Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 11/17] accel: Move qtest accel registration to qtest.c Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 12/17] accel: Remove tcg_available() function Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 13/17] accel: Move accel init/allowed code to separate function Eduardo Habkost
2014-09-26 20:45 ` Eduardo Habkost [this message]
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 15/17] accel: Pass MachineState object to accel init functions Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 16/17] accel: Create accel object when initializing machine Eduardo Habkost
2014-09-26 20:45 ` [Qemu-devel] [PATCH v3 17/17] kvm: Make KVMState be the TYPE_KVM_ACCEL instance struct Eduardo Habkost
2014-09-29 21:56 ` [Qemu-devel] [PATCH v3 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=1411764332-23265-15-git-send-email-ehabkost@redhat.com \
--to=ehabkost@redhat.com \
--cc=afaerber@suse.de \
--cc=agraf@suse.de \
--cc=borntraeger@de.ibm.com \
--cc=jjherne@linux.vnet.ibm.com \
--cc=marcel.a@redhat.com \
--cc=mimu@linux.vnet.ibm.com \
--cc=mst@redhat.com \
--cc=pbonzini@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).