[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 12/38] moxie: fix qemu-system-moxie failing to s
From: |
Philippe Mathieu-Daudé |
Subject: |
Re: [Qemu-devel] [PATCH 12/38] moxie: fix qemu-system-moxie failing to start with CLI "-cpu MoxieLite" |
Date: |
Tue, 3 Oct 2017 10:37:00 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 |
On 10/02/2017 06:07 AM, Igor Mammedov wrote:
> 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>
> ---
> CC: 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 5ea8dd3..01b9f34 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 30bd44f..d4626a1 100644
> --- a/target/moxie/cpu.c
> +++ b/target/moxie/cpu.c
> @@ -89,7 +89,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;
>
- [Qemu-devel] [PATCH 09/38] m68k: cleanup cpu type name composition, (continued)
- [Qemu-devel] [PATCH 09/38] m68k: cleanup cpu type name composition, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 10/38] m68k: an5206: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 14/38] moxie: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 12/38] moxie: fix qemu-system-moxie failing to start with CLI "-cpu MoxieLite", Igor Mammedov, 2017/10/02
- Re: [Qemu-devel] [PATCH 12/38] moxie: fix qemu-system-moxie failing to start with CLI "-cpu MoxieLite",
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH 13/38] moxie: cleanup cpu type name composition, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 17/38] sh4: r2d: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 16/38] openrisc: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 18/38] sh4: shix: use generic cpu_model parsing, Igor Mammedov, 2017/10/02
- [Qemu-devel] [PATCH 15/38] openrisc: cleanup cpu type name composition, Igor Mammedov, 2017/10/02