qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 0/3] Remove AccelClass::available field
@ 2019-04-22 21:04 Eduardo Habkost
  2019-04-22 21:04 ` Eduardo Habkost
                   ` (3 more replies)
  0 siblings, 4 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Thomas Huth, Laurent Vivier, Paolo Bonzini

The only user of AccelClass::available was the qtest accelerator,
to make it unavailable on non-POSIX systems.  We can drop the
field if we simply not compile the accelerator code on those
systems.

Eduardo Habkost (3):
  qtest: Move accel code to accel/qtest.c
  qtest: Don't compile qtest accel on non-POSIX systems
  accel: Remove unused AccelClass::available field

 include/sysemu/accel.h |  1 -
 include/sysemu/qtest.h |  9 -------
 accel/accel.c          |  5 ----
 accel/qtest.c          | 54 ++++++++++++++++++++++++++++++++++++++++++
 qtest.c                | 34 --------------------------
 accel/Makefile.objs    |  1 +
 6 files changed, 55 insertions(+), 49 deletions(-)
 create mode 100644 accel/qtest.c

-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH 0/3] Remove AccelClass::available field
  2019-04-22 21:04 [Qemu-devel] [PATCH 0/3] Remove AccelClass::available field Eduardo Habkost
@ 2019-04-22 21:04 ` Eduardo Habkost
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c Eduardo Habkost
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

The only user of AccelClass::available was the qtest accelerator,
to make it unavailable on non-POSIX systems.  We can drop the
field if we simply not compile the accelerator code on those
systems.

Eduardo Habkost (3):
  qtest: Move accel code to accel/qtest.c
  qtest: Don't compile qtest accel on non-POSIX systems
  accel: Remove unused AccelClass::available field

 include/sysemu/accel.h |  1 -
 include/sysemu/qtest.h |  9 -------
 accel/accel.c          |  5 ----
 accel/qtest.c          | 54 ++++++++++++++++++++++++++++++++++++++++++
 qtest.c                | 34 --------------------------
 accel/Makefile.objs    |  1 +
 6 files changed, 55 insertions(+), 49 deletions(-)
 create mode 100644 accel/qtest.c

-- 
2.18.0.rc1.1.g3f1ff2140



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 21:04 [Qemu-devel] [PATCH 0/3] Remove AccelClass::available field Eduardo Habkost
  2019-04-22 21:04 ` Eduardo Habkost
@ 2019-04-22 21:04 ` Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
                     ` (2 more replies)
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems Eduardo Habkost
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field Eduardo Habkost
  3 siblings, 3 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Thomas Huth, Laurent Vivier, Paolo Bonzini

QTest has two parts: the server (-qtest) and the accelerator
(-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
due to its usage of sigwait(), but the server doesn't.

Move the accel code to accel/qtest.c.  Later we will disable
compilation of accel/qtest.c on non-POSIX systems.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++
 qtest.c             | 34 ----------------------------
 accel/Makefile.objs |  1 +
 3 files changed, 56 insertions(+), 34 deletions(-)
 create mode 100644 accel/qtest.c

diff --git a/accel/qtest.c b/accel/qtest.c
new file mode 100644
index 0000000000..a02b3c26c7
--- /dev/null
+++ b/accel/qtest.c
@@ -0,0 +1,55 @@
+/*
+ * QTest accelerator code
+ *
+ * Copyright IBM, Corp. 2011
+ *
+ * Authors:
+ *  Anthony Liguori   <aliguori@us.ibm.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include "qemu/osdep.h"
+#include "qapi/error.h"
+#include "qemu/module.h"
+#include "qemu/option.h"
+#include "qemu/config-file.h"
+#include "sysemu/accel.h"
+#include "sysemu/qtest.h"
+#include "sysemu/cpus.h"
+
+static int qtest_init_accel(MachineState *ms)
+{
+    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
+                                      &error_abort);
+    qemu_opt_set(opts, "shift", "0", &error_abort);
+    configure_icount(opts, &error_abort);
+    qemu_opts_del(opts);
+    return 0;
+}
+
+static void qtest_accel_class_init(ObjectClass *oc, void *data)
+{
+    AccelClass *ac = ACCEL_CLASS(oc);
+    ac->name = "QTest";
+    ac->available = qtest_available;
+    ac->init_machine = qtest_init_accel;
+    ac->allowed = &qtest_allowed;
+}
+
+#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
+
+static const TypeInfo qtest_accel_type = {
+    .name = TYPE_QTEST_ACCEL,
+    .parent = TYPE_ACCEL,
+    .class_init = qtest_accel_class_init,
+};
+
+static void qtest_type_init(void)
+{
+    type_register_static(&qtest_accel_type);
+}
+
+type_init(qtest_type_init);
diff --git a/qtest.c b/qtest.c
index 527141785f..f2e2f27778 100644
--- a/qtest.c
+++ b/qtest.c
@@ -749,16 +749,6 @@ static void qtest_event(void *opaque, int event)
     }
 }
 
-static int qtest_init_accel(MachineState *ms)
-{
-    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
-                                      &error_abort);
-    qemu_opt_set(opts, "shift", "0", &error_abort);
-    configure_icount(opts, &error_abort);
-    qemu_opts_del(opts);
-    return 0;
-}
-
 void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp)
 {
     Chardev *chr;
@@ -791,27 +781,3 @@ bool qtest_driver(void)
 {
     return qtest_chr.chr != NULL;
 }
-
-static void qtest_accel_class_init(ObjectClass *oc, void *data)
-{
-    AccelClass *ac = ACCEL_CLASS(oc);
-    ac->name = "QTest";
-    ac->available = qtest_available;
-    ac->init_machine = qtest_init_accel;
-    ac->allowed = &qtest_allowed;
-}
-
-#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
-
-static const TypeInfo qtest_accel_type = {
-    .name = TYPE_QTEST_ACCEL,
-    .parent = TYPE_ACCEL,
-    .class_init = qtest_accel_class_init,
-};
-
-static void qtest_type_init(void)
-{
-    type_register_static(&qtest_accel_type);
-}
-
-type_init(qtest_type_init);
diff --git a/accel/Makefile.objs b/accel/Makefile.objs
index c3718a10c5..2a5ed46940 100644
--- a/accel/Makefile.objs
+++ b/accel/Makefile.objs
@@ -1,4 +1,5 @@
 obj-$(CONFIG_SOFTMMU) += accel.o
+obj-$(CONFIG_SOFTMMU) += qtest.o
 obj-$(CONFIG_KVM) += kvm/
 obj-$(CONFIG_TCG) += tcg/
 obj-y += stubs/
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c Eduardo Habkost
@ 2019-04-22 21:04   ` Eduardo Habkost
  2019-04-22 21:56   ` Philippe Mathieu-Daudé
  2019-04-23  5:07   ` Thomas Huth
  2 siblings, 0 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

QTest has two parts: the server (-qtest) and the accelerator
(-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
due to its usage of sigwait(), but the server doesn't.

Move the accel code to accel/qtest.c.  Later we will disable
compilation of accel/qtest.c on non-POSIX systems.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++
 qtest.c             | 34 ----------------------------
 accel/Makefile.objs |  1 +
 3 files changed, 56 insertions(+), 34 deletions(-)
 create mode 100644 accel/qtest.c

diff --git a/accel/qtest.c b/accel/qtest.c
new file mode 100644
index 0000000000..a02b3c26c7
--- /dev/null
+++ b/accel/qtest.c
@@ -0,0 +1,55 @@
+/*
+ * QTest accelerator code
+ *
+ * Copyright IBM, Corp. 2011
+ *
+ * Authors:
+ *  Anthony Liguori   <aliguori@us.ibm.com>
+ *
+ * This work is licensed under the terms of the GNU GPL, version 2 or later.
+ * See the COPYING file in the top-level directory.
+ *
+ */
+
+#include "qemu/osdep.h"
+#include "qapi/error.h"
+#include "qemu/module.h"
+#include "qemu/option.h"
+#include "qemu/config-file.h"
+#include "sysemu/accel.h"
+#include "sysemu/qtest.h"
+#include "sysemu/cpus.h"
+
+static int qtest_init_accel(MachineState *ms)
+{
+    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
+                                      &error_abort);
+    qemu_opt_set(opts, "shift", "0", &error_abort);
+    configure_icount(opts, &error_abort);
+    qemu_opts_del(opts);
+    return 0;
+}
+
+static void qtest_accel_class_init(ObjectClass *oc, void *data)
+{
+    AccelClass *ac = ACCEL_CLASS(oc);
+    ac->name = "QTest";
+    ac->available = qtest_available;
+    ac->init_machine = qtest_init_accel;
+    ac->allowed = &qtest_allowed;
+}
+
+#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
+
+static const TypeInfo qtest_accel_type = {
+    .name = TYPE_QTEST_ACCEL,
+    .parent = TYPE_ACCEL,
+    .class_init = qtest_accel_class_init,
+};
+
+static void qtest_type_init(void)
+{
+    type_register_static(&qtest_accel_type);
+}
+
+type_init(qtest_type_init);
diff --git a/qtest.c b/qtest.c
index 527141785f..f2e2f27778 100644
--- a/qtest.c
+++ b/qtest.c
@@ -749,16 +749,6 @@ static void qtest_event(void *opaque, int event)
     }
 }
 
-static int qtest_init_accel(MachineState *ms)
-{
-    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
-                                      &error_abort);
-    qemu_opt_set(opts, "shift", "0", &error_abort);
-    configure_icount(opts, &error_abort);
-    qemu_opts_del(opts);
-    return 0;
-}
-
 void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp)
 {
     Chardev *chr;
@@ -791,27 +781,3 @@ bool qtest_driver(void)
 {
     return qtest_chr.chr != NULL;
 }
-
-static void qtest_accel_class_init(ObjectClass *oc, void *data)
-{
-    AccelClass *ac = ACCEL_CLASS(oc);
-    ac->name = "QTest";
-    ac->available = qtest_available;
-    ac->init_machine = qtest_init_accel;
-    ac->allowed = &qtest_allowed;
-}
-
-#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
-
-static const TypeInfo qtest_accel_type = {
-    .name = TYPE_QTEST_ACCEL,
-    .parent = TYPE_ACCEL,
-    .class_init = qtest_accel_class_init,
-};
-
-static void qtest_type_init(void)
-{
-    type_register_static(&qtest_accel_type);
-}
-
-type_init(qtest_type_init);
diff --git a/accel/Makefile.objs b/accel/Makefile.objs
index c3718a10c5..2a5ed46940 100644
--- a/accel/Makefile.objs
+++ b/accel/Makefile.objs
@@ -1,4 +1,5 @@
 obj-$(CONFIG_SOFTMMU) += accel.o
+obj-$(CONFIG_SOFTMMU) += qtest.o
 obj-$(CONFIG_KVM) += kvm/
 obj-$(CONFIG_TCG) += tcg/
 obj-y += stubs/
-- 
2.18.0.rc1.1.g3f1ff2140



^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems
  2019-04-22 21:04 [Qemu-devel] [PATCH 0/3] Remove AccelClass::available field Eduardo Habkost
  2019-04-22 21:04 ` Eduardo Habkost
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c Eduardo Habkost
@ 2019-04-22 21:04 ` Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
                     ` (2 more replies)
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field Eduardo Habkost
  3 siblings, 3 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Thomas Huth, Laurent Vivier, Paolo Bonzini

qtest_available() will always return 0 on non-POSIX systems.
It's simpler to just not compile the accelerator code on those
systems instead of relying on the AccelClass::available function.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 include/sysemu/qtest.h | 9 ---------
 accel/qtest.c          | 1 -
 accel/Makefile.objs    | 2 +-
 3 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/include/sysemu/qtest.h b/include/sysemu/qtest.h
index 70aa40aa72..096ddfc20c 100644
--- a/include/sysemu/qtest.h
+++ b/include/sysemu/qtest.h
@@ -27,13 +27,4 @@ bool qtest_driver(void);
 
 void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
 
-static inline int qtest_available(void)
-{
-#ifdef CONFIG_POSIX
-    return 1;
-#else
-    return 0;
-#endif
-}
-
 #endif
diff --git a/accel/qtest.c b/accel/qtest.c
index a02b3c26c7..5b88f55921 100644
--- a/accel/qtest.c
+++ b/accel/qtest.c
@@ -34,7 +34,6 @@ static void qtest_accel_class_init(ObjectClass *oc, void *data)
 {
     AccelClass *ac = ACCEL_CLASS(oc);
     ac->name = "QTest";
-    ac->available = qtest_available;
     ac->init_machine = qtest_init_accel;
     ac->allowed = &qtest_allowed;
 }
diff --git a/accel/Makefile.objs b/accel/Makefile.objs
index 2a5ed46940..8b498d39d8 100644
--- a/accel/Makefile.objs
+++ b/accel/Makefile.objs
@@ -1,5 +1,5 @@
 obj-$(CONFIG_SOFTMMU) += accel.o
-obj-$(CONFIG_SOFTMMU) += qtest.o
+obj-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_POSIX)) += qtest.o
 obj-$(CONFIG_KVM) += kvm/
 obj-$(CONFIG_TCG) += tcg/
 obj-y += stubs/
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems Eduardo Habkost
@ 2019-04-22 21:04   ` Eduardo Habkost
  2019-04-22 22:20   ` Philippe Mathieu-Daudé
  2019-04-23  5:09   ` Thomas Huth
  2 siblings, 0 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

qtest_available() will always return 0 on non-POSIX systems.
It's simpler to just not compile the accelerator code on those
systems instead of relying on the AccelClass::available function.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 include/sysemu/qtest.h | 9 ---------
 accel/qtest.c          | 1 -
 accel/Makefile.objs    | 2 +-
 3 files changed, 1 insertion(+), 11 deletions(-)

diff --git a/include/sysemu/qtest.h b/include/sysemu/qtest.h
index 70aa40aa72..096ddfc20c 100644
--- a/include/sysemu/qtest.h
+++ b/include/sysemu/qtest.h
@@ -27,13 +27,4 @@ bool qtest_driver(void);
 
 void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
 
-static inline int qtest_available(void)
-{
-#ifdef CONFIG_POSIX
-    return 1;
-#else
-    return 0;
-#endif
-}
-
 #endif
diff --git a/accel/qtest.c b/accel/qtest.c
index a02b3c26c7..5b88f55921 100644
--- a/accel/qtest.c
+++ b/accel/qtest.c
@@ -34,7 +34,6 @@ static void qtest_accel_class_init(ObjectClass *oc, void *data)
 {
     AccelClass *ac = ACCEL_CLASS(oc);
     ac->name = "QTest";
-    ac->available = qtest_available;
     ac->init_machine = qtest_init_accel;
     ac->allowed = &qtest_allowed;
 }
diff --git a/accel/Makefile.objs b/accel/Makefile.objs
index 2a5ed46940..8b498d39d8 100644
--- a/accel/Makefile.objs
+++ b/accel/Makefile.objs
@@ -1,5 +1,5 @@
 obj-$(CONFIG_SOFTMMU) += accel.o
-obj-$(CONFIG_SOFTMMU) += qtest.o
+obj-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_POSIX)) += qtest.o
 obj-$(CONFIG_KVM) += kvm/
 obj-$(CONFIG_TCG) += tcg/
 obj-y += stubs/
-- 
2.18.0.rc1.1.g3f1ff2140



^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field
  2019-04-22 21:04 [Qemu-devel] [PATCH 0/3] Remove AccelClass::available field Eduardo Habkost
                   ` (2 preceding siblings ...)
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems Eduardo Habkost
@ 2019-04-22 21:04 ` Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
                     ` (2 more replies)
  3 siblings, 3 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Thomas Huth, Laurent Vivier, Paolo Bonzini

The field is not used anymore, we can remove it.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 include/sysemu/accel.h | 1 -
 accel/accel.c          | 5 -----
 2 files changed, 6 deletions(-)

diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h
index 5565e00a96..70e9e2f2a1 100644
--- a/include/sysemu/accel.h
+++ b/include/sysemu/accel.h
@@ -38,7 +38,6 @@ typedef struct AccelClass {
 
     const char *opt_name;
     const char *name;
-    int (*available)(void);
     int (*init_machine)(MachineState *ms);
     void (*setup_post)(MachineState *ms, AccelState *accel);
     bool *allowed;
diff --git a/accel/accel.c b/accel/accel.c
index 454fef9d92..5fa31717b4 100644
--- a/accel/accel.c
+++ b/accel/accel.c
@@ -107,11 +107,6 @@ void configure_accelerator(MachineState *ms, const char *progname)
         if (!acc) {
             continue;
         }
-        if (acc->available && !acc->available()) {
-            printf("%s not supported for this target\n",
-                   acc->name);
-            continue;
-        }
         ret = accel_init_machine(acc, ms);
         if (ret < 0) {
             init_failed = true;
-- 
2.18.0.rc1.1.g3f1ff2140

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field Eduardo Habkost
@ 2019-04-22 21:04   ` Eduardo Habkost
  2019-04-22 22:20   ` Philippe Mathieu-Daudé
  2019-04-23  5:09   ` Thomas Huth
  2 siblings, 0 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 21:04 UTC (permalink / raw)
  To: qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

The field is not used anymore, we can remove it.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 include/sysemu/accel.h | 1 -
 accel/accel.c          | 5 -----
 2 files changed, 6 deletions(-)

diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h
index 5565e00a96..70e9e2f2a1 100644
--- a/include/sysemu/accel.h
+++ b/include/sysemu/accel.h
@@ -38,7 +38,6 @@ typedef struct AccelClass {
 
     const char *opt_name;
     const char *name;
-    int (*available)(void);
     int (*init_machine)(MachineState *ms);
     void (*setup_post)(MachineState *ms, AccelState *accel);
     bool *allowed;
diff --git a/accel/accel.c b/accel/accel.c
index 454fef9d92..5fa31717b4 100644
--- a/accel/accel.c
+++ b/accel/accel.c
@@ -107,11 +107,6 @@ void configure_accelerator(MachineState *ms, const char *progname)
         if (!acc) {
             continue;
         }
-        if (acc->available && !acc->available()) {
-            printf("%s not supported for this target\n",
-                   acc->name);
-            continue;
-        }
         ret = accel_init_machine(acc, ms);
         if (ret < 0) {
             init_failed = true;
-- 
2.18.0.rc1.1.g3f1ff2140



^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
@ 2019-04-22 21:56   ` Philippe Mathieu-Daudé
  2019-04-22 21:56     ` Philippe Mathieu-Daudé
  2019-04-22 22:08     ` Eduardo Habkost
  2019-04-23  5:07   ` Thomas Huth
  2 siblings, 2 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-22 21:56 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

Hi Eduardo,

On 4/22/19 11:04 PM, Eduardo Habkost wrote:
> QTest has two parts: the server (-qtest) and the accelerator
> (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
> due to its usage of sigwait(), but the server doesn't.
> 
> Move the accel code to accel/qtest.c.  Later we will disable
> compilation of accel/qtest.c on non-POSIX systems.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++
>  qtest.c             | 34 ----------------------------
>  accel/Makefile.objs |  1 +
>  3 files changed, 56 insertions(+), 34 deletions(-)
>  create mode 100644 accel/qtest.c
> 
> diff --git a/accel/qtest.c b/accel/qtest.c
> new file mode 100644
> index 0000000000..a02b3c26c7
> --- /dev/null
> +++ b/accel/qtest.c
> @@ -0,0 +1,55 @@
> +/*
> + * QTest accelerator code
> + *
> + * Copyright IBM, Corp. 2011
> + *
> + * Authors:
> + *  Anthony Liguori   <aliguori@us.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +#include "qemu/osdep.h"
> +#include "qapi/error.h"
> +#include "qemu/module.h"

Why include "qemu/module.h"?
I guess you don't need it.

> +#include "qemu/option.h"
> +#include "qemu/config-file.h"
> +#include "sysemu/accel.h"
> +#include "sysemu/qtest.h"
> +#include "sysemu/cpus.h"
> +
> +static int qtest_init_accel(MachineState *ms)
> +{
> +    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
> +                                      &error_abort);
> +    qemu_opt_set(opts, "shift", "0", &error_abort);
> +    configure_icount(opts, &error_abort);
> +    qemu_opts_del(opts);
> +    return 0;
> +}
> +
> +static void qtest_accel_class_init(ObjectClass *oc, void *data)
> +{
> +    AccelClass *ac = ACCEL_CLASS(oc);
> +    ac->name = "QTest";
> +    ac->available = qtest_available;
> +    ac->init_machine = qtest_init_accel;
> +    ac->allowed = &qtest_allowed;
> +}
> +
> +#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
> +
> +static const TypeInfo qtest_accel_type = {
> +    .name = TYPE_QTEST_ACCEL,
> +    .parent = TYPE_ACCEL,
> +    .class_init = qtest_accel_class_init,
> +};
> +
> +static void qtest_type_init(void)
> +{
> +    type_register_static(&qtest_accel_type);
> +}
> +
> +type_init(qtest_type_init);
> diff --git a/qtest.c b/qtest.c
> index 527141785f..f2e2f27778 100644
> --- a/qtest.c
> +++ b/qtest.c
> @@ -749,16 +749,6 @@ static void qtest_event(void *opaque, int event)
>      }
>  }
>  
> -static int qtest_init_accel(MachineState *ms)
> -{
> -    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
> -                                      &error_abort);
> -    qemu_opt_set(opts, "shift", "0", &error_abort);
> -    configure_icount(opts, &error_abort);
> -    qemu_opts_del(opts);
> -    return 0;
> -}
> -
>  void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp)
>  {
>      Chardev *chr;
> @@ -791,27 +781,3 @@ bool qtest_driver(void)
>  {
>      return qtest_chr.chr != NULL;
>  }
> -
> -static void qtest_accel_class_init(ObjectClass *oc, void *data)
> -{
> -    AccelClass *ac = ACCEL_CLASS(oc);
> -    ac->name = "QTest";
> -    ac->available = qtest_available;
> -    ac->init_machine = qtest_init_accel;
> -    ac->allowed = &qtest_allowed;
> -}
> -
> -#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
> -
> -static const TypeInfo qtest_accel_type = {
> -    .name = TYPE_QTEST_ACCEL,
> -    .parent = TYPE_ACCEL,
> -    .class_init = qtest_accel_class_init,
> -};
> -
> -static void qtest_type_init(void)
> -{
> -    type_register_static(&qtest_accel_type);
> -}
> -
> -type_init(qtest_type_init);
> diff --git a/accel/Makefile.objs b/accel/Makefile.objs
> index c3718a10c5..2a5ed46940 100644
> --- a/accel/Makefile.objs
> +++ b/accel/Makefile.objs
> @@ -1,4 +1,5 @@
>  obj-$(CONFIG_SOFTMMU) += accel.o
> +obj-$(CONFIG_SOFTMMU) += qtest.o
>  obj-$(CONFIG_KVM) += kvm/
>  obj-$(CONFIG_TCG) += tcg/
>  obj-y += stubs/
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 21:56   ` Philippe Mathieu-Daudé
@ 2019-04-22 21:56     ` Philippe Mathieu-Daudé
  2019-04-22 22:08     ` Eduardo Habkost
  1 sibling, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-22 21:56 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

Hi Eduardo,

On 4/22/19 11:04 PM, Eduardo Habkost wrote:
> QTest has two parts: the server (-qtest) and the accelerator
> (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
> due to its usage of sigwait(), but the server doesn't.
> 
> Move the accel code to accel/qtest.c.  Later we will disable
> compilation of accel/qtest.c on non-POSIX systems.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++
>  qtest.c             | 34 ----------------------------
>  accel/Makefile.objs |  1 +
>  3 files changed, 56 insertions(+), 34 deletions(-)
>  create mode 100644 accel/qtest.c
> 
> diff --git a/accel/qtest.c b/accel/qtest.c
> new file mode 100644
> index 0000000000..a02b3c26c7
> --- /dev/null
> +++ b/accel/qtest.c
> @@ -0,0 +1,55 @@
> +/*
> + * QTest accelerator code
> + *
> + * Copyright IBM, Corp. 2011
> + *
> + * Authors:
> + *  Anthony Liguori   <aliguori@us.ibm.com>
> + *
> + * This work is licensed under the terms of the GNU GPL, version 2 or later.
> + * See the COPYING file in the top-level directory.
> + *
> + */
> +
> +#include "qemu/osdep.h"
> +#include "qapi/error.h"
> +#include "qemu/module.h"

Why include "qemu/module.h"?
I guess you don't need it.

> +#include "qemu/option.h"
> +#include "qemu/config-file.h"
> +#include "sysemu/accel.h"
> +#include "sysemu/qtest.h"
> +#include "sysemu/cpus.h"
> +
> +static int qtest_init_accel(MachineState *ms)
> +{
> +    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
> +                                      &error_abort);
> +    qemu_opt_set(opts, "shift", "0", &error_abort);
> +    configure_icount(opts, &error_abort);
> +    qemu_opts_del(opts);
> +    return 0;
> +}
> +
> +static void qtest_accel_class_init(ObjectClass *oc, void *data)
> +{
> +    AccelClass *ac = ACCEL_CLASS(oc);
> +    ac->name = "QTest";
> +    ac->available = qtest_available;
> +    ac->init_machine = qtest_init_accel;
> +    ac->allowed = &qtest_allowed;
> +}
> +
> +#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
> +
> +static const TypeInfo qtest_accel_type = {
> +    .name = TYPE_QTEST_ACCEL,
> +    .parent = TYPE_ACCEL,
> +    .class_init = qtest_accel_class_init,
> +};
> +
> +static void qtest_type_init(void)
> +{
> +    type_register_static(&qtest_accel_type);
> +}
> +
> +type_init(qtest_type_init);
> diff --git a/qtest.c b/qtest.c
> index 527141785f..f2e2f27778 100644
> --- a/qtest.c
> +++ b/qtest.c
> @@ -749,16 +749,6 @@ static void qtest_event(void *opaque, int event)
>      }
>  }
>  
> -static int qtest_init_accel(MachineState *ms)
> -{
> -    QemuOpts *opts = qemu_opts_create(qemu_find_opts("icount"), NULL, 0,
> -                                      &error_abort);
> -    qemu_opt_set(opts, "shift", "0", &error_abort);
> -    configure_icount(opts, &error_abort);
> -    qemu_opts_del(opts);
> -    return 0;
> -}
> -
>  void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp)
>  {
>      Chardev *chr;
> @@ -791,27 +781,3 @@ bool qtest_driver(void)
>  {
>      return qtest_chr.chr != NULL;
>  }
> -
> -static void qtest_accel_class_init(ObjectClass *oc, void *data)
> -{
> -    AccelClass *ac = ACCEL_CLASS(oc);
> -    ac->name = "QTest";
> -    ac->available = qtest_available;
> -    ac->init_machine = qtest_init_accel;
> -    ac->allowed = &qtest_allowed;
> -}
> -
> -#define TYPE_QTEST_ACCEL ACCEL_CLASS_NAME("qtest")
> -
> -static const TypeInfo qtest_accel_type = {
> -    .name = TYPE_QTEST_ACCEL,
> -    .parent = TYPE_ACCEL,
> -    .class_init = qtest_accel_class_init,
> -};
> -
> -static void qtest_type_init(void)
> -{
> -    type_register_static(&qtest_accel_type);
> -}
> -
> -type_init(qtest_type_init);
> diff --git a/accel/Makefile.objs b/accel/Makefile.objs
> index c3718a10c5..2a5ed46940 100644
> --- a/accel/Makefile.objs
> +++ b/accel/Makefile.objs
> @@ -1,4 +1,5 @@
>  obj-$(CONFIG_SOFTMMU) += accel.o
> +obj-$(CONFIG_SOFTMMU) += qtest.o
>  obj-$(CONFIG_KVM) += kvm/
>  obj-$(CONFIG_TCG) += tcg/
>  obj-y += stubs/
> 

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 21:56   ` Philippe Mathieu-Daudé
  2019-04-22 21:56     ` Philippe Mathieu-Daudé
@ 2019-04-22 22:08     ` Eduardo Habkost
  2019-04-22 22:08       ` Eduardo Habkost
  2019-04-22 22:17       ` Philippe Mathieu-Daudé
  1 sibling, 2 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 22:08 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: qemu-devel, Laurent Vivier, Paolo Bonzini, Thomas Huth

On Mon, Apr 22, 2019 at 11:56:18PM +0200, Philippe Mathieu-Daudé wrote:
> Hi Eduardo,
> 
> On 4/22/19 11:04 PM, Eduardo Habkost wrote:
> > QTest has two parts: the server (-qtest) and the accelerator
> > (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
> > due to its usage of sigwait(), but the server doesn't.
> > 
> > Move the accel code to accel/qtest.c.  Later we will disable
> > compilation of accel/qtest.c on non-POSIX systems.
> > 
[...]
> > +#include "qemu/module.h"
> 
> Why include "qemu/module.h"?
> I guess you don't need it.

That's where the type_init() macro is defined.


> > +type_init(qtest_type_init);
[...]


> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Thanks!

-- 
Eduardo

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 22:08     ` Eduardo Habkost
@ 2019-04-22 22:08       ` Eduardo Habkost
  2019-04-22 22:17       ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-22 22:08 UTC (permalink / raw)
  To: Philippe Mathieu-Daudé
  Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth, qemu-devel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="UTF-8", Size: 817 bytes --]

On Mon, Apr 22, 2019 at 11:56:18PM +0200, Philippe Mathieu-Daudé wrote:
> Hi Eduardo,
> 
> On 4/22/19 11:04 PM, Eduardo Habkost wrote:
> > QTest has two parts: the server (-qtest) and the accelerator
> > (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
> > due to its usage of sigwait(), but the server doesn't.
> > 
> > Move the accel code to accel/qtest.c.  Later we will disable
> > compilation of accel/qtest.c on non-POSIX systems.
> > 
[...]
> > +#include "qemu/module.h"
> 
> Why include "qemu/module.h"?
> I guess you don't need it.

That's where the type_init() macro is defined.


> > +type_init(qtest_type_init);
[...]


> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

Thanks!

-- 
Eduardo


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 22:08     ` Eduardo Habkost
  2019-04-22 22:08       ` Eduardo Habkost
@ 2019-04-22 22:17       ` Philippe Mathieu-Daudé
  2019-04-22 22:17         ` Philippe Mathieu-Daudé
  1 sibling, 1 reply; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-22 22:17 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: qemu-devel, Laurent Vivier, Paolo Bonzini, Thomas Huth

On 4/23/19 12:08 AM, Eduardo Habkost wrote:
> On Mon, Apr 22, 2019 at 11:56:18PM +0200, Philippe Mathieu-Daudé wrote:
>> Hi Eduardo,
>>
>> On 4/22/19 11:04 PM, Eduardo Habkost wrote:
>>> QTest has two parts: the server (-qtest) and the accelerator
>>> (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
>>> due to its usage of sigwait(), but the server doesn't.
>>>
>>> Move the accel code to accel/qtest.c.  Later we will disable
>>> compilation of accel/qtest.c on non-POSIX systems.
>>>
> [...]
>>> +#include "qemu/module.h"
>>
>> Why include "qemu/module.h"?
>> I guess you don't need it.
> 
> That's where the type_init() macro is defined.

Oh correct...

I tried to remove it/compile and it worked because it is pulled by:

"sysemu/cpus.h"
 -> "qemu/timer.h"
     -> "qemu-common.h"
         -> "qemu/module.h"

Thanks!

>>> +type_init(qtest_type_init);
> [...]
> 
> 
>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> Thanks!
> 

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 22:17       ` Philippe Mathieu-Daudé
@ 2019-04-22 22:17         ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-22 22:17 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth, qemu-devel

On 4/23/19 12:08 AM, Eduardo Habkost wrote:
> On Mon, Apr 22, 2019 at 11:56:18PM +0200, Philippe Mathieu-Daudé wrote:
>> Hi Eduardo,
>>
>> On 4/22/19 11:04 PM, Eduardo Habkost wrote:
>>> QTest has two parts: the server (-qtest) and the accelerator
>>> (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
>>> due to its usage of sigwait(), but the server doesn't.
>>>
>>> Move the accel code to accel/qtest.c.  Later we will disable
>>> compilation of accel/qtest.c on non-POSIX systems.
>>>
> [...]
>>> +#include "qemu/module.h"
>>
>> Why include "qemu/module.h"?
>> I guess you don't need it.
> 
> That's where the type_init() macro is defined.

Oh correct...

I tried to remove it/compile and it worked because it is pulled by:

"sysemu/cpus.h"
 -> "qemu/timer.h"
     -> "qemu-common.h"
         -> "qemu/module.h"

Thanks!

>>> +type_init(qtest_type_init);
> [...]
> 
> 
>> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
>> Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> 
> Thanks!
> 


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
@ 2019-04-22 22:20   ` Philippe Mathieu-Daudé
  2019-04-22 22:20     ` Philippe Mathieu-Daudé
  2019-04-23  5:09   ` Thomas Huth
  2 siblings, 1 reply; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-22 22:20 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

On 4/22/19 11:04 PM, Eduardo Habkost wrote:
> qtest_available() will always return 0 on non-POSIX systems.
> It's simpler to just not compile the accelerator code on those
> systems instead of relying on the AccelClass::available function.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
mingw64:
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  include/sysemu/qtest.h | 9 ---------
>  accel/qtest.c          | 1 -
>  accel/Makefile.objs    | 2 +-
>  3 files changed, 1 insertion(+), 11 deletions(-)
> 
> diff --git a/include/sysemu/qtest.h b/include/sysemu/qtest.h
> index 70aa40aa72..096ddfc20c 100644
> --- a/include/sysemu/qtest.h
> +++ b/include/sysemu/qtest.h
> @@ -27,13 +27,4 @@ bool qtest_driver(void);
>  
>  void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
>  
> -static inline int qtest_available(void)
> -{
> -#ifdef CONFIG_POSIX
> -    return 1;
> -#else
> -    return 0;
> -#endif
> -}
> -
>  #endif
> diff --git a/accel/qtest.c b/accel/qtest.c
> index a02b3c26c7..5b88f55921 100644
> --- a/accel/qtest.c
> +++ b/accel/qtest.c
> @@ -34,7 +34,6 @@ static void qtest_accel_class_init(ObjectClass *oc, void *data)
>  {
>      AccelClass *ac = ACCEL_CLASS(oc);
>      ac->name = "QTest";
> -    ac->available = qtest_available;
>      ac->init_machine = qtest_init_accel;
>      ac->allowed = &qtest_allowed;
>  }
> diff --git a/accel/Makefile.objs b/accel/Makefile.objs
> index 2a5ed46940..8b498d39d8 100644
> --- a/accel/Makefile.objs
> +++ b/accel/Makefile.objs
> @@ -1,5 +1,5 @@
>  obj-$(CONFIG_SOFTMMU) += accel.o
> -obj-$(CONFIG_SOFTMMU) += qtest.o
> +obj-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_POSIX)) += qtest.o
>  obj-$(CONFIG_KVM) += kvm/
>  obj-$(CONFIG_TCG) += tcg/
>  obj-y += stubs/
> 

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems
  2019-04-22 22:20   ` Philippe Mathieu-Daudé
@ 2019-04-22 22:20     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-22 22:20 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

On 4/22/19 11:04 PM, Eduardo Habkost wrote:
> qtest_available() will always return 0 on non-POSIX systems.
> It's simpler to just not compile the accelerator code on those
> systems instead of relying on the AccelClass::available function.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
mingw64:
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  include/sysemu/qtest.h | 9 ---------
>  accel/qtest.c          | 1 -
>  accel/Makefile.objs    | 2 +-
>  3 files changed, 1 insertion(+), 11 deletions(-)
> 
> diff --git a/include/sysemu/qtest.h b/include/sysemu/qtest.h
> index 70aa40aa72..096ddfc20c 100644
> --- a/include/sysemu/qtest.h
> +++ b/include/sysemu/qtest.h
> @@ -27,13 +27,4 @@ bool qtest_driver(void);
>  
>  void qtest_init(const char *qtest_chrdev, const char *qtest_log, Error **errp);
>  
> -static inline int qtest_available(void)
> -{
> -#ifdef CONFIG_POSIX
> -    return 1;
> -#else
> -    return 0;
> -#endif
> -}
> -
>  #endif
> diff --git a/accel/qtest.c b/accel/qtest.c
> index a02b3c26c7..5b88f55921 100644
> --- a/accel/qtest.c
> +++ b/accel/qtest.c
> @@ -34,7 +34,6 @@ static void qtest_accel_class_init(ObjectClass *oc, void *data)
>  {
>      AccelClass *ac = ACCEL_CLASS(oc);
>      ac->name = "QTest";
> -    ac->available = qtest_available;
>      ac->init_machine = qtest_init_accel;
>      ac->allowed = &qtest_allowed;
>  }
> diff --git a/accel/Makefile.objs b/accel/Makefile.objs
> index 2a5ed46940..8b498d39d8 100644
> --- a/accel/Makefile.objs
> +++ b/accel/Makefile.objs
> @@ -1,5 +1,5 @@
>  obj-$(CONFIG_SOFTMMU) += accel.o
> -obj-$(CONFIG_SOFTMMU) += qtest.o
> +obj-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_POSIX)) += qtest.o
>  obj-$(CONFIG_KVM) += kvm/
>  obj-$(CONFIG_TCG) += tcg/
>  obj-y += stubs/
> 


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
@ 2019-04-22 22:20   ` Philippe Mathieu-Daudé
  2019-04-22 22:20     ` Philippe Mathieu-Daudé
  2019-04-23  5:09   ` Thomas Huth
  2 siblings, 1 reply; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-22 22:20 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

On 4/22/19 11:04 PM, Eduardo Habkost wrote:
> The field is not used anymore, we can remove it.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
mingw64:
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  include/sysemu/accel.h | 1 -
>  accel/accel.c          | 5 -----
>  2 files changed, 6 deletions(-)
> 
> diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h
> index 5565e00a96..70e9e2f2a1 100644
> --- a/include/sysemu/accel.h
> +++ b/include/sysemu/accel.h
> @@ -38,7 +38,6 @@ typedef struct AccelClass {
>  
>      const char *opt_name;
>      const char *name;
> -    int (*available)(void);
>      int (*init_machine)(MachineState *ms);
>      void (*setup_post)(MachineState *ms, AccelState *accel);
>      bool *allowed;
> diff --git a/accel/accel.c b/accel/accel.c
> index 454fef9d92..5fa31717b4 100644
> --- a/accel/accel.c
> +++ b/accel/accel.c
> @@ -107,11 +107,6 @@ void configure_accelerator(MachineState *ms, const char *progname)
>          if (!acc) {
>              continue;
>          }
> -        if (acc->available && !acc->available()) {
> -            printf("%s not supported for this target\n",
> -                   acc->name);
> -            continue;
> -        }
>          ret = accel_init_machine(acc, ms);
>          if (ret < 0) {
>              init_failed = true;
> 

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field
  2019-04-22 22:20   ` Philippe Mathieu-Daudé
@ 2019-04-22 22:20     ` Philippe Mathieu-Daudé
  0 siblings, 0 replies; 28+ messages in thread
From: Philippe Mathieu-Daudé @ 2019-04-22 22:20 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini, Thomas Huth

On 4/22/19 11:04 PM, Eduardo Habkost wrote:
> The field is not used anymore, we can remove it.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>

Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
mingw64:
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com>

> ---
>  include/sysemu/accel.h | 1 -
>  accel/accel.c          | 5 -----
>  2 files changed, 6 deletions(-)
> 
> diff --git a/include/sysemu/accel.h b/include/sysemu/accel.h
> index 5565e00a96..70e9e2f2a1 100644
> --- a/include/sysemu/accel.h
> +++ b/include/sysemu/accel.h
> @@ -38,7 +38,6 @@ typedef struct AccelClass {
>  
>      const char *opt_name;
>      const char *name;
> -    int (*available)(void);
>      int (*init_machine)(MachineState *ms);
>      void (*setup_post)(MachineState *ms, AccelState *accel);
>      bool *allowed;
> diff --git a/accel/accel.c b/accel/accel.c
> index 454fef9d92..5fa31717b4 100644
> --- a/accel/accel.c
> +++ b/accel/accel.c
> @@ -107,11 +107,6 @@ void configure_accelerator(MachineState *ms, const char *progname)
>          if (!acc) {
>              continue;
>          }
> -        if (acc->available && !acc->available()) {
> -            printf("%s not supported for this target\n",
> -                   acc->name);
> -            continue;
> -        }
>          ret = accel_init_machine(acc, ms);
>          if (ret < 0) {
>              init_failed = true;
> 


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
  2019-04-22 21:56   ` Philippe Mathieu-Daudé
@ 2019-04-23  5:07   ` Thomas Huth
  2019-04-23  5:07     ` Thomas Huth
  2019-04-23 11:08     ` [Qemu-devel] [PATCH] fixup! " Eduardo Habkost
  2 siblings, 2 replies; 28+ messages in thread
From: Thomas Huth @ 2019-04-23  5:07 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini

On 22/04/2019 23.04, Eduardo Habkost wrote:
> QTest has two parts: the server (-qtest) and the accelerator
> (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
> due to its usage of sigwait(), but the server doesn't.
> 
> Move the accel code to accel/qtest.c.  Later we will disable
> compilation of accel/qtest.c on non-POSIX systems.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++

New file ==> You should update MAINTAINERS here as well.

 Thomas

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c
  2019-04-23  5:07   ` Thomas Huth
@ 2019-04-23  5:07     ` Thomas Huth
  2019-04-23 11:08     ` [Qemu-devel] [PATCH] fixup! " Eduardo Habkost
  1 sibling, 0 replies; 28+ messages in thread
From: Thomas Huth @ 2019-04-23  5:07 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini

On 22/04/2019 23.04, Eduardo Habkost wrote:
> QTest has two parts: the server (-qtest) and the accelerator
> (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
> due to its usage of sigwait(), but the server doesn't.
> 
> Move the accel code to accel/qtest.c.  Later we will disable
> compilation of accel/qtest.c on non-POSIX systems.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++

New file ==> You should update MAINTAINERS here as well.

 Thomas


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
  2019-04-22 22:20   ` Philippe Mathieu-Daudé
@ 2019-04-23  5:09   ` Thomas Huth
  2019-04-23  5:09     ` Thomas Huth
  2 siblings, 1 reply; 28+ messages in thread
From: Thomas Huth @ 2019-04-23  5:09 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini

On 22/04/2019 23.04, Eduardo Habkost wrote:
> qtest_available() will always return 0 on non-POSIX systems.
> It's simpler to just not compile the accelerator code on those
> systems instead of relying on the AccelClass::available function.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  include/sysemu/qtest.h | 9 ---------
>  accel/qtest.c          | 1 -
>  accel/Makefile.objs    | 2 +-
>  3 files changed, 1 insertion(+), 11 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems
  2019-04-23  5:09   ` Thomas Huth
@ 2019-04-23  5:09     ` Thomas Huth
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Huth @ 2019-04-23  5:09 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini

On 22/04/2019 23.04, Eduardo Habkost wrote:
> qtest_available() will always return 0 on non-POSIX systems.
> It's simpler to just not compile the accelerator code on those
> systems instead of relying on the AccelClass::available function.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  include/sysemu/qtest.h | 9 ---------
>  accel/qtest.c          | 1 -
>  accel/Makefile.objs    | 2 +-
>  3 files changed, 1 insertion(+), 11 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>


^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field
  2019-04-22 21:04 ` [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field Eduardo Habkost
  2019-04-22 21:04   ` Eduardo Habkost
  2019-04-22 22:20   ` Philippe Mathieu-Daudé
@ 2019-04-23  5:09   ` Thomas Huth
  2019-04-23  5:09     ` Thomas Huth
  2 siblings, 1 reply; 28+ messages in thread
From: Thomas Huth @ 2019-04-23  5:09 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini

On 22/04/2019 23.04, Eduardo Habkost wrote:
> The field is not used anymore, we can remove it.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  include/sysemu/accel.h | 1 -
>  accel/accel.c          | 5 -----
>  2 files changed, 6 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field
  2019-04-23  5:09   ` Thomas Huth
@ 2019-04-23  5:09     ` Thomas Huth
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Huth @ 2019-04-23  5:09 UTC (permalink / raw)
  To: Eduardo Habkost, qemu-devel; +Cc: Laurent Vivier, Paolo Bonzini

On 22/04/2019 23.04, Eduardo Habkost wrote:
> The field is not used anymore, we can remove it.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  include/sysemu/accel.h | 1 -
>  accel/accel.c          | 5 -----
>  2 files changed, 6 deletions(-)

Reviewed-by: Thomas Huth <thuth@redhat.com>


^ permalink raw reply	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH] fixup! qtest: Move accel code to accel/qtest.c
  2019-04-23  5:07   ` Thomas Huth
  2019-04-23  5:07     ` Thomas Huth
@ 2019-04-23 11:08     ` Eduardo Habkost
  2019-04-23 11:08       ` Eduardo Habkost
  2019-04-23 11:29       ` Thomas Huth
  1 sibling, 2 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-23 11:08 UTC (permalink / raw)
  To: Thomas Huth; +Cc: qemu-devel, Laurent Vivier, Paolo Bonzini

On Tue, Apr 23, 2019 at 07:07:06AM +0200, Thomas Huth wrote:
> On 22/04/2019 23.04, Eduardo Habkost wrote:
> > QTest has two parts: the server (-qtest) and the accelerator
> > (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
> > due to its usage of sigwait(), but the server doesn't.
> > 
> > Move the accel code to accel/qtest.c.  Later we will disable
> > compilation of accel/qtest.c on non-POSIX systems.
> > 
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> >  accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++
> 
> New file ==> You should update MAINTAINERS here as well.

Oops, sorry!  Fixup below.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 56139ac8ab..cf3156d952 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2024,6 +2024,7 @@ M: Laurent Vivier <lvivier@redhat.com>
 R: Paolo Bonzini <pbonzini@redhat.com>
 S: Maintained
 F: qtest.c
+F: accel/qtest.c
 F: tests/libqtest.*
 F: tests/libqos/
 F: tests/*-test.c
-- 
2.18.0.rc1.1.g3f1ff2140

-- 
Eduardo

^ permalink raw reply related	[flat|nested] 28+ messages in thread

* [Qemu-devel] [PATCH] fixup! qtest: Move accel code to accel/qtest.c
  2019-04-23 11:08     ` [Qemu-devel] [PATCH] fixup! " Eduardo Habkost
@ 2019-04-23 11:08       ` Eduardo Habkost
  2019-04-23 11:29       ` Thomas Huth
  1 sibling, 0 replies; 28+ messages in thread
From: Eduardo Habkost @ 2019-04-23 11:08 UTC (permalink / raw)
  To: Thomas Huth; +Cc: Laurent Vivier, Paolo Bonzini, qemu-devel

On Tue, Apr 23, 2019 at 07:07:06AM +0200, Thomas Huth wrote:
> On 22/04/2019 23.04, Eduardo Habkost wrote:
> > QTest has two parts: the server (-qtest) and the accelerator
> > (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
> > due to its usage of sigwait(), but the server doesn't.
> > 
> > Move the accel code to accel/qtest.c.  Later we will disable
> > compilation of accel/qtest.c on non-POSIX systems.
> > 
> > Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> > ---
> >  accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++
> 
> New file ==> You should update MAINTAINERS here as well.

Oops, sorry!  Fixup below.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index 56139ac8ab..cf3156d952 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2024,6 +2024,7 @@ M: Laurent Vivier <lvivier@redhat.com>
 R: Paolo Bonzini <pbonzini@redhat.com>
 S: Maintained
 F: qtest.c
+F: accel/qtest.c
 F: tests/libqtest.*
 F: tests/libqos/
 F: tests/*-test.c
-- 
2.18.0.rc1.1.g3f1ff2140

-- 
Eduardo


^ permalink raw reply related	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH] fixup! qtest: Move accel code to accel/qtest.c
  2019-04-23 11:08     ` [Qemu-devel] [PATCH] fixup! " Eduardo Habkost
  2019-04-23 11:08       ` Eduardo Habkost
@ 2019-04-23 11:29       ` Thomas Huth
  2019-04-23 11:29         ` Thomas Huth
  1 sibling, 1 reply; 28+ messages in thread
From: Thomas Huth @ 2019-04-23 11:29 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: qemu-devel, Laurent Vivier, Paolo Bonzini

On 23/04/2019 13.08, Eduardo Habkost wrote:
> On Tue, Apr 23, 2019 at 07:07:06AM +0200, Thomas Huth wrote:
>> On 22/04/2019 23.04, Eduardo Habkost wrote:
>>> QTest has two parts: the server (-qtest) and the accelerator
>>> (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
>>> due to its usage of sigwait(), but the server doesn't.
>>>
>>> Move the accel code to accel/qtest.c.  Later we will disable
>>> compilation of accel/qtest.c on non-POSIX systems.
>>>
>>> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
>>> ---
>>>  accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++
>>
>> New file ==> You should update MAINTAINERS here as well.
> 
> Oops, sorry!  Fixup below.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  MAINTAINERS | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 56139ac8ab..cf3156d952 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2024,6 +2024,7 @@ M: Laurent Vivier <lvivier@redhat.com>
>  R: Paolo Bonzini <pbonzini@redhat.com>
>  S: Maintained
>  F: qtest.c
> +F: accel/qtest.c
>  F: tests/libqtest.*
>  F: tests/libqos/
>  F: tests/*-test.c

All right, queued the patches on my qtest-next branch:

  https://gitlab.com/huth/qemu/tree/qtest-next

 Thanks,
  Thomas

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [Qemu-devel] [PATCH] fixup! qtest: Move accel code to accel/qtest.c
  2019-04-23 11:29       ` Thomas Huth
@ 2019-04-23 11:29         ` Thomas Huth
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Huth @ 2019-04-23 11:29 UTC (permalink / raw)
  To: Eduardo Habkost; +Cc: Laurent Vivier, Paolo Bonzini, qemu-devel

On 23/04/2019 13.08, Eduardo Habkost wrote:
> On Tue, Apr 23, 2019 at 07:07:06AM +0200, Thomas Huth wrote:
>> On 22/04/2019 23.04, Eduardo Habkost wrote:
>>> QTest has two parts: the server (-qtest) and the accelerator
>>> (-machine accel=qtest).  The accelerator depends on CONFIG_POSIX
>>> due to its usage of sigwait(), but the server doesn't.
>>>
>>> Move the accel code to accel/qtest.c.  Later we will disable
>>> compilation of accel/qtest.c on non-POSIX systems.
>>>
>>> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
>>> ---
>>>  accel/qtest.c       | 55 +++++++++++++++++++++++++++++++++++++++++++++
>>
>> New file ==> You should update MAINTAINERS here as well.
> 
> Oops, sorry!  Fixup below.
> 
> Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
> ---
>  MAINTAINERS | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 56139ac8ab..cf3156d952 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -2024,6 +2024,7 @@ M: Laurent Vivier <lvivier@redhat.com>
>  R: Paolo Bonzini <pbonzini@redhat.com>
>  S: Maintained
>  F: qtest.c
> +F: accel/qtest.c
>  F: tests/libqtest.*
>  F: tests/libqos/
>  F: tests/*-test.c

All right, queued the patches on my qtest-next branch:

  https://gitlab.com/huth/qemu/tree/qtest-next

 Thanks,
  Thomas


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2019-04-23 11:30 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-04-22 21:04 [Qemu-devel] [PATCH 0/3] Remove AccelClass::available field Eduardo Habkost
2019-04-22 21:04 ` Eduardo Habkost
2019-04-22 21:04 ` [Qemu-devel] [PATCH 1/3] qtest: Move accel code to accel/qtest.c Eduardo Habkost
2019-04-22 21:04   ` Eduardo Habkost
2019-04-22 21:56   ` Philippe Mathieu-Daudé
2019-04-22 21:56     ` Philippe Mathieu-Daudé
2019-04-22 22:08     ` Eduardo Habkost
2019-04-22 22:08       ` Eduardo Habkost
2019-04-22 22:17       ` Philippe Mathieu-Daudé
2019-04-22 22:17         ` Philippe Mathieu-Daudé
2019-04-23  5:07   ` Thomas Huth
2019-04-23  5:07     ` Thomas Huth
2019-04-23 11:08     ` [Qemu-devel] [PATCH] fixup! " Eduardo Habkost
2019-04-23 11:08       ` Eduardo Habkost
2019-04-23 11:29       ` Thomas Huth
2019-04-23 11:29         ` Thomas Huth
2019-04-22 21:04 ` [Qemu-devel] [PATCH 2/3] qtest: Don't compile qtest accel on non-POSIX systems Eduardo Habkost
2019-04-22 21:04   ` Eduardo Habkost
2019-04-22 22:20   ` Philippe Mathieu-Daudé
2019-04-22 22:20     ` Philippe Mathieu-Daudé
2019-04-23  5:09   ` Thomas Huth
2019-04-23  5:09     ` Thomas Huth
2019-04-22 21:04 ` [Qemu-devel] [PATCH 3/3] accel: Remove unused AccelClass::available field Eduardo Habkost
2019-04-22 21:04   ` Eduardo Habkost
2019-04-22 22:20   ` Philippe Mathieu-Daudé
2019-04-22 22:20     ` Philippe Mathieu-Daudé
2019-04-23  5:09   ` Thomas Huth
2019-04-23  5:09     ` Thomas Huth

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).