[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 02/25] accel: Introduce current_accel_name()
From: |
Peter Maydell |
Subject: |
[PULL 02/25] accel: Introduce current_accel_name() |
Date: |
Mon, 27 Jun 2022 11:22:13 +0100 |
From: Alexander Graf <agraf@csgraf.de>
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 <agraf@csgraf.de>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20220620192242.70573-1-agraf@csgraf.de
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
include/qemu/accel.h | 1 +
accel/accel-common.c | 8 ++++++++
softmmu/vl.c | 3 +--
3 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/include/qemu/accel.h b/include/qemu/accel.h
index 4f4c283f6fc..be56da1b999 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/accel/accel-common.c b/accel/accel-common.c
index 7b8ec7e0f72..50035bda55d 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/softmmu/vl.c b/softmmu/vl.c
index 54e920ada1a..3dca5936c76 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()) {
--
2.25.1
- [PULL 00/25] target-arm queue, Peter Maydell, 2022/06/27
- [PULL 07/25] target/arm: Add ARM_CP_SME, Peter Maydell, 2022/06/27
- [PULL 02/25] accel: Introduce current_accel_name(),
Peter Maydell <=
- [PULL 10/25] target/arm: Add SMIDR_EL1, SMPRI_EL1, SMPRIMAP_EL2, Peter Maydell, 2022/06/27
- [PULL 04/25] target/arm: Implement TPIDR2_EL0, Peter Maydell, 2022/06/27
- [PULL 06/25] target/arm: Add syn_smetrap, Peter Maydell, 2022/06/27
- [PULL 11/25] target/arm: Add PSTATE.{SM,ZA} to TB flags, Peter Maydell, 2022/06/27
- [PULL 12/25] target/arm: Add the SME ZA storage to CPUARMState, Peter Maydell, 2022/06/27
- [PULL 16/25] target/arm: Generalize cpu_arm_{get,set}_vq, Peter Maydell, 2022/06/27
- [PULL 15/25] target/arm: Create ARMVQMap, Peter Maydell, 2022/06/27
- [PULL 05/25] target/arm: Add SMEEXC_EL to TB flags, Peter Maydell, 2022/06/27
- [PULL 09/25] target/arm: Add SMCR_ELx, Peter Maydell, 2022/06/27
- [PULL 13/25] target/arm: Implement SMSTART, SMSTOP, Peter Maydell, 2022/06/27