[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL v2 11/39] moxie: fix qemu-system-moxie failing to sta
From: |
Eduardo Habkost |
Subject: |
[Qemu-devel] [PULL v2 11/39] moxie: fix qemu-system-moxie failing to start with CLI "-cpu MoxieLite" |
Date: |
Fri, 27 Oct 2017 16:20:39 +0200 |
From: Igor Mammedov <address@hidden>
It 'works' with default CPU only because of bug in
moxie_cpu_class_by_name() where it treats cpu_model
as type name and default cpu_model also happens to be
type name. But specifying explicitly cpu on CLI,
ex: '-cpu MoxieLite', makes QEMU fail since
moxie_cpu_class_by_name() doesn't traslate cpu_model
to cpu type and fails to find corresponding object class.
Fix moxie_cpu_class_by_name() to do proper
cpu_model -> cpu type
translation and fix default cpu_model to be cpu_model
instead of being typename.
Signed-off-by: Igor Mammedov <address@hidden>
Reviewed-by: Philippe Mathieu-Daudé <address@hidden>
Message-Id: <address@hidden>
Signed-off-by: Eduardo Habkost <address@hidden>
---
hw/moxie/moxiesim.c | 2 +-
target/moxie/cpu.c | 7 ++++++-
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/hw/moxie/moxiesim.c b/hw/moxie/moxiesim.c
index 5ea8dd3a93..01b9f34f87 100644
--- a/hw/moxie/moxiesim.c
+++ b/hw/moxie/moxiesim.c
@@ -116,7 +116,7 @@ static void moxiesim_init(MachineState *machine)
/* Init CPUs. */
if (cpu_model == NULL) {
- cpu_model = "MoxieLite-moxie-cpu";
+ cpu_model = "MoxieLite";
}
cpu = MOXIE_CPU(cpu_generic_init(TYPE_MOXIE_CPU, cpu_model));
env = &cpu->env;
diff --git a/target/moxie/cpu.c b/target/moxie/cpu.c
index 24ab3f3708..44441b2cf2 100644
--- a/target/moxie/cpu.c
+++ b/target/moxie/cpu.c
@@ -83,7 +83,12 @@ static void moxie_cpu_initfn(Object *obj)
static ObjectClass *moxie_cpu_class_by_name(const char *cpu_model)
{
- ObjectClass *oc = object_class_by_name(cpu_model);
+ ObjectClass *oc;
+ char *typename;
+
+ typename = g_strdup_printf("%s-" TYPE_MOXIE_CPU, cpu_model);
+ oc = object_class_by_name(typename);
+ g_free(typename);
if (oc != NULL && (!object_class_dynamic_cast(oc, TYPE_MOXIE_CPU) ||
object_class_is_abstract(oc))) {
return NULL;
--
2.13.6
- [Qemu-devel] [PULL v2 01/39] alpha: cleanup cpu type name composition, (continued)
- [Qemu-devel] [PULL v2 01/39] alpha: cleanup cpu type name composition, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 02/39] alpha: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 03/39] cris: cleanup cpu type name composition, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 04/39] cris: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 05/39] lm32: cleanup cpu type name composition, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 06/39] lm32: milkymist: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 07/39] lm32: lm32_boards: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 08/39] m68k: cleanup cpu type name composition, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 09/39] m68k: an5206: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 10/39] m68k: mcf5208: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 11/39] moxie: fix qemu-system-moxie failing to start with CLI "-cpu MoxieLite",
Eduardo Habkost <=
- [Qemu-devel] [PULL v2 12/39] moxie: cleanup cpu type name composition, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 13/39] moxie: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 14/39] openrisc: cleanup cpu type name composition, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 15/39] openrisc: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 16/39] sh4: r2d: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 17/39] sh4: shix: use generic cpu_model parsing, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 18/39] sh4: cleanup cpu type name composition, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 19/39] sh4: simplify superh_cpu_class_by_name(), Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 20/39] sh4: remove SuperHCPUClass::name field, Eduardo Habkost, 2017/10/27
- [Qemu-devel] [PULL v2 21/39] xtensa: cleanup cpu type name composition, Eduardo Habkost, 2017/10/27