From 55bd445c4195966675236936c0a8642f1965dddb Mon Sep 17 00:00:00 2001 From: Alexander Graf Date: Fri, 24 Jun 2022 15:42:56 +0100 Subject: [PATCH] accel: Introduce current_accel_name() We need to fetch the name of the current accelerator in flexible error messages more going forward. Let's create a helper that gives it to us without casting in the target code. Signed-off-by: Alexander Graf Reviewed-by: Richard Henderson Message-id: 20220620192242.70573-1-agraf@csgraf.de Signed-off-by: Peter Maydell --- accel/accel-common.c | 8 ++++++++ include/qemu/accel.h | 1 + softmmu/vl.c | 3 +-- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/accel/accel-common.c b/accel/accel-common.c index 7b8ec7e0f7..50035bda55 100644 --- a/accel/accel-common.c +++ b/accel/accel-common.c @@ -49,6 +49,14 @@ AccelClass *accel_find(const char *opt_name) return ac; } +/* Return the name of the current accelerator */ +const char *current_accel_name(void) +{ + AccelClass *ac = ACCEL_GET_CLASS(current_accel()); + + return ac->name; +} + static void accel_init_cpu_int_aux(ObjectClass *klass, void *opaque) { CPUClass *cc = CPU_CLASS(klass); diff --git a/include/qemu/accel.h b/include/qemu/accel.h index 4f4c283f6f..be56da1b99 100644 --- a/include/qemu/accel.h +++ b/include/qemu/accel.h @@ -68,6 +68,7 @@ typedef struct AccelClass { AccelClass *accel_find(const char *opt_name); AccelState *current_accel(void); +const char *current_accel_name(void); void accel_init_interfaces(AccelClass *ac); diff --git a/softmmu/vl.c b/softmmu/vl.c index 54e920ada1..3dca5936c7 100644 --- a/softmmu/vl.c +++ b/softmmu/vl.c @@ -2271,8 +2271,7 @@ static void configure_accelerators(const char *progname) } if (init_failed && !qtest_chrdev) { - AccelClass *ac = ACCEL_GET_CLASS(current_accel()); - error_report("falling back to %s", ac->name); + error_report("falling back to %s", current_accel_name()); } if (icount_enabled() && !tcg_enabled()) {