[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 01/19] target-i386: split out CPU creation and f
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH 01/19] target-i386: split out CPU creation and features parsing into cpu_x86_create() |
Date: |
Thu, 11 Apr 2013 14:03:48 -0300 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
On Thu, Apr 11, 2013 at 04:51:40PM +0200, Igor Mammedov wrote:
> Move CPU creation and features parsing into a separate cpu_x86_create()
> function, so that board would be able to set board specific CPU
> properties before CPU is realized.
>
> Keep cpu_x86_init() for compatibility with the code that uses cpu_init()
> and doesn't need to modify CPU properties.
>
> Signed-off-by: Igor Mammedov <address@hidden>
Nice, much simpler to review than v1. :-)
Reviewed-by: Eduardo Habkost <address@hidden>
> ---
> v2:
> * use error_propagate() to rise error up stack
> ---
> target-i386/cpu.c | 18 +++++++++++++++---
> target-i386/cpu.h | 1 +
> 2 files changed, 16 insertions(+), 3 deletions(-)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index f1ccc72..c28436c 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1564,7 +1564,7 @@ static void cpu_x86_register(X86CPU *cpu, const char
> *name, Error **errp)
> object_property_set_str(OBJECT(cpu), def->model_id, "model-id", errp);
> }
>
> -X86CPU *cpu_x86_init(const char *cpu_model)
> +X86CPU *cpu_x86_create(const char *cpu_model, Error **errp)
> {
> X86CPU *cpu = NULL;
> CPUX86State *env;
> @@ -1594,13 +1594,25 @@ X86CPU *cpu_x86_init(const char *cpu_model)
> goto out;
> }
>
> - object_property_set_bool(OBJECT(cpu), true, "realized", &error);
> +out:
> + error_propagate(errp, error);
> + g_strfreev(model_pieces);
> + return cpu;
> +}
> +
> +X86CPU *cpu_x86_init(const char *cpu_model)
> +{
> + Error *error = NULL;
> + X86CPU *cpu;
> +
> + cpu = cpu_x86_create(cpu_model, &error);
> if (error) {
> goto out;
> }
>
> + object_property_set_bool(OBJECT(cpu), true, "realized", &error);
> +
> out:
> - g_strfreev(model_pieces);
> if (error) {
> fprintf(stderr, "%s\n", error_get_pretty(error));
> error_free(error);
> diff --git a/target-i386/cpu.h b/target-i386/cpu.h
> index 2b4e319..cf1b05c 100644
> --- a/target-i386/cpu.h
> +++ b/target-i386/cpu.h
> @@ -896,6 +896,7 @@ typedef struct CPUX86State {
> #include "cpu-qom.h"
>
> X86CPU *cpu_x86_init(const char *cpu_model);
> +X86CPU *cpu_x86_create(const char *cpu_model, Error **errp);
> int cpu_x86_exec(CPUX86State *s);
> void x86_cpu_list(FILE *f, fprintf_function cpu_fprintf);
> void x86_cpudef_setup(void);
> --
> 1.8.2
>
--
Eduardo
- [Qemu-devel] [PATCH 04/19] cpu: call cpu_synchronize_post_init() from CPUClass.realize() if hotplugged, (continued)
- [Qemu-devel] [PATCH 15/19] target-i386: move APIC to ICC bus, Igor Mammedov, 2013/04/11
- [Qemu-devel] [PATCH 13/19] target-i386: cpu: attach ICC bus to CPU on its creation, Igor Mammedov, 2013/04/11
- [Qemu-devel] [PATCH 05/19] cpu: resume CPU from CPUClass.cpu_common_realizefn() when it is hot-plugged, Igor Mammedov, 2013/04/11
- [Qemu-devel] [PATCH 01/19] target-i386: split out CPU creation and features parsing into cpu_x86_create(), Igor Mammedov, 2013/04/11
- [Qemu-devel] [PATCH 16/19] target-i386: move IOAPIC to ICC bus, Igor Mammedov, 2013/04/11
- [Qemu-devel] [PATCH 12/19] introduce ICC bus/device/bridge, Igor Mammedov, 2013/04/11
- [Qemu-devel] [PATCH 18/19] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Igor Mammedov, 2013/04/11
- Re: [Qemu-devel] [PATCH 18/19] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Eduardo Habkost, 2013/04/11
- Re: [Qemu-devel] [PATCH 18/19] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Igor Mammedov, 2013/04/12
- Re: [Qemu-devel] [PATCH 18/19] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Eduardo Habkost, 2013/04/12
- Re: [Qemu-devel] [PATCH 18/19] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Igor Mammedov, 2013/04/15
- Re: [Qemu-devel] [PATCH 18/19] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Eduardo Habkost, 2013/04/15
- Re: [Qemu-devel] [PATCH 18/19] target-i386: expose all possible CPUs as /machine/icc-bridge/cpu[0..N] links, Igor Mammedov, 2013/04/15