diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2019-05-02 17:17:09 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2019-05-02 17:17:10 +0100 |
| commit | f62d632f4328fab02682335ba1ccfdbd9893d33d (patch) | |
| tree | cca49d78c7df6ac7ab137c7139f812b3ec6ef101 /accel | |
| parent | 8482ff2eb3bb95020eb2f370a9b3ea26511e41df (diff) | |
| parent | aff39be0ed9753c9c323f64a14f5533dd5c43525 (diff) | |
| download | focaccia-qemu-f62d632f4328fab02682335ba1ccfdbd9893d33d.tar.gz focaccia-qemu-f62d632f4328fab02682335ba1ccfdbd9893d33d.zip | |
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2019-05-02' into staging
- Move qtest accel code to accel/qtest.c, get rid of AccelClass->available - Test TCG interpreter in gitlab-ci - Small improvements to the configure script - Use object_initialize_child in hw/pci-host # gpg: Signature made Thu 02 May 2019 17:07:34 BST # gpg: using RSA key 2ED9D774FE702DB5 # gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full] # gpg: aka "Thomas Huth <thuth@redhat.com>" [full] # gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full] # gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown] # Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5 * remotes/huth-gitlab/tags/pull-request-2019-05-02: hw/pci-host: Use object_initialize_child for correct reference counting configure: Relax check for libseccomp configure: Remove old *-config-devices.mak.d files when running configure configure: Add -Wno-typedef-redefinition to CFLAGS (for Clang) accel: Remove unused AccelClass::available field qtest: Don't compile qtest accel on non-POSIX systems qtest: Move accel code to accel/qtest.c gitlab-ci.yml: Test the TCG interpreter in a CI pipeline Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'accel')
| -rw-r--r-- | accel/Makefile.objs | 1 | ||||
| -rw-r--r-- | accel/accel.c | 5 | ||||
| -rw-r--r-- | accel/qtest.c | 54 |
3 files changed, 55 insertions, 5 deletions
diff --git a/accel/Makefile.objs b/accel/Makefile.objs index c3718a10c5..8b498d39d8 100644 --- a/accel/Makefile.objs +++ b/accel/Makefile.objs @@ -1,4 +1,5 @@ obj-$(CONFIG_SOFTMMU) += accel.o +obj-$(call land,$(CONFIG_SOFTMMU),$(CONFIG_POSIX)) += qtest.o obj-$(CONFIG_KVM) += kvm/ obj-$(CONFIG_TCG) += tcg/ obj-y += stubs/ 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; diff --git a/accel/qtest.c b/accel/qtest.c new file mode 100644 index 0000000000..5b88f55921 --- /dev/null +++ b/accel/qtest.c @@ -0,0 +1,54 @@ +/* + * 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->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); |