[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] softmmu/vl: Be less verbose about missing KVM when running t
From: |
Alexander Bulekov |
Subject: |
Re: [PATCH] softmmu/vl: Be less verbose about missing KVM when running the qtests |
Date: |
Fri, 10 Jul 2020 09:23:30 -0400 |
User-agent: |
NeoMutt/20180716 |
On 200710 1050, Thomas Huth wrote:
> Some of the qtests use "-accel kvm -accel tcg" to run real guest code.
> This causes some error messages when kvm is not available. We do not
> really care about these messages since the fallback to tcg is expected
> here. So let's silence them to avoid that they spoil the output of
> the tests.
>
> Unfortunately, we can not use the qtest_enabled() wrapper in this case,
> since the qtest accelerator itself is not initialized. Thus we have to
> test for the qtest_chrdev variable instead.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
Reviewed-by: Alexander Bulekov <alxndr@bu.edu>
> ---
> softmmu/vl.c | 19 ++++++++++++-------
> 1 file changed, 12 insertions(+), 7 deletions(-)
>
> diff --git a/softmmu/vl.c b/softmmu/vl.c
> index 3f58ffd4dc..0066f50fb2 100644
> --- a/softmmu/vl.c
> +++ b/softmmu/vl.c
> @@ -164,8 +164,9 @@ bool boot_strict;
> uint8_t *boot_splash_filedata;
> int only_migratable; /* turn it off unless user states otherwise */
> bool wakeup_suspend_enabled;
> -
> int icount_align_option;
> +static const char *qtest_chrdev;
> +static const char *qtest_log;
>
> /* The bytes in qemu_uuid are in the order specified by RFC4122, _not_ in the
> * little-endian "wire format" described in the SMBIOS 2.6 specification.
> @@ -2693,10 +2694,15 @@ static int do_configure_accelerator(void *opaque,
> QemuOpts *opts, Error **errp)
> AccelClass *ac = accel_find(acc);
> AccelState *accel;
> int ret;
> + bool qtest_with_kvm;
> +
> + qtest_with_kvm = g_str_equal(acc, "kvm") && qtest_chrdev != NULL;
>
> if (!ac) {
> *p_init_failed = true;
> - error_report("invalid accelerator %s", acc);
> + if (!qtest_with_kvm) {
> + error_report("invalid accelerator %s", acc);
> + }
> return 0;
> }
> accel = ACCEL(object_new_with_class(OBJECT_CLASS(ac)));
> @@ -2708,8 +2714,9 @@ static int do_configure_accelerator(void *opaque,
> QemuOpts *opts, Error **errp)
> ret = accel_init_machine(accel, current_machine);
> if (ret < 0) {
> *p_init_failed = true;
> - error_report("failed to initialize %s: %s",
> - acc, strerror(-ret));
> + if (!qtest_with_kvm || ret != -ENOENT) {
> + error_report("failed to initialize %s: %s", acc, strerror(-ret));
> + }
> return 0;
> }
>
> @@ -2780,7 +2787,7 @@ static void configure_accelerators(const char *progname)
> exit(1);
> }
>
> - if (init_failed) {
> + if (init_failed && !qtest_chrdev) {
> AccelClass *ac = ACCEL_GET_CLASS(current_accel());
> error_report("falling back to %s", ac->name);
> }
> @@ -2830,8 +2837,6 @@ void qemu_init(int argc, char **argv, char **envp)
> MachineClass *machine_class;
> const char *cpu_option;
> const char *vga_model = NULL;
> - const char *qtest_chrdev = NULL;
> - const char *qtest_log = NULL;
> const char *incoming = NULL;
> bool userconfig = true;
> bool nographic = false;
> --
> 2.18.1
>
>