[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 02/17] target-i386: move cpu_x86_init() to cpu.c
From: |
li guang |
Subject: |
Re: [Qemu-devel] [PATCH 02/17] target-i386: move cpu_x86_init() to cpu.c |
Date: |
Wed, 28 Nov 2012 14:02:48 +0800 |
在 2012-11-12一的 19:38 -0200,Eduardo Habkost写道:
> Eventually all of the CPU init code will probably become just a simple
> object_new() call, with some arch-independent function that handles the
> CPU model string parsing. But right now we need to reorder and split
> many of the steps invoved in the CPU model string parsing and CPU object
> creation, and it will be easier to do that inside cpu.c, by now.
>
> Also, make cpu_x86_register() static, as now it is only used inside
> cpu.c.
>
> Signed-off-by: Eduardo Habkost <address@hidden>
> ---
> target-i386/cpu.c | 26 +++++++++++++++++++++++++-
> target-i386/cpu.h | 1 -
> target-i386/helper.c | 24 ------------------------
> 3 files changed, 25 insertions(+), 26 deletions(-)
>
> diff --git a/target-i386/cpu.c b/target-i386/cpu.c
> index fa8b5bd..b50ca8c 100644
> --- a/target-i386/cpu.c
> +++ b/target-i386/cpu.c
> @@ -1423,7 +1423,7 @@ static void filter_features_for_kvm(X86CPU *cpu)
> }
> #endif
>
> -int cpu_x86_register(X86CPU *cpu, const char *cpu_model)
> +static int cpu_x86_register(X86CPU *cpu, const char *cpu_model)
> {
> CPUX86State *env = &cpu->env;
> x86_def_t def1, *def = &def1;
> @@ -1494,6 +1494,30 @@ int cpu_x86_register(X86CPU *cpu, const char
> *cpu_model)
> return 0;
> }
>
> +X86CPU *cpu_x86_init(const char *cpu_model)
> +{
> + X86CPU *cpu;
> + CPUX86State *env;
> + Error *error = NULL;
seems env unused anymore
> +
> + cpu = X86_CPU(object_new(TYPE_X86_CPU));
> + env = &cpu->env;
> + env->cpu_model_str = cpu_model;
> +
> + if (cpu_x86_register(cpu, cpu_model) < 0) {
> + object_delete(OBJECT(cpu));
> + return NULL;
> + }
> +
> + x86_cpu_realize(OBJECT(cpu), &error);
> + if (error) {
> + error_free(error);
> + object_delete(OBJECT(cpu));
> + return NULL;
> + }
> + return cpu;
> +}
> +
> #if !defined(CONFIG_USER_ONLY)
>
> void cpu_clear_apic_feature(CPUX86State *env)
> diff --git a/target-i386/cpu.h b/target-i386/cpu.h
> index cdc59dc..4d5510e 100644
> --- a/target-i386/cpu.h
> +++ b/target-i386/cpu.h
> @@ -956,7 +956,6 @@ int cpu_x86_signal_handler(int host_signum, void *pinfo,
> void cpu_x86_cpuid(CPUX86State *env, uint32_t index, uint32_t count,
> uint32_t *eax, uint32_t *ebx,
> uint32_t *ecx, uint32_t *edx);
> -int cpu_x86_register(X86CPU *cpu, const char *cpu_model);
> void cpu_clear_apic_feature(CPUX86State *env);
> void host_cpuid(uint32_t function, uint32_t count,
> uint32_t *eax, uint32_t *ebx, uint32_t *ecx, uint32_t *edx);
> diff --git a/target-i386/helper.c b/target-i386/helper.c
> index bf206cf..47b53ed 100644
> --- a/target-i386/helper.c
> +++ b/target-i386/helper.c
> @@ -1240,30 +1240,6 @@ int cpu_x86_get_descr_debug(CPUX86State *env, unsigned
> int selector,
> return 1;
> }
>
> -X86CPU *cpu_x86_init(const char *cpu_model)
> -{
> - X86CPU *cpu;
> - CPUX86State *env;
> - Error *error = NULL;
> -
> - cpu = X86_CPU(object_new(TYPE_X86_CPU));
> - env = &cpu->env;
> - env->cpu_model_str = cpu_model;
> -
> - if (cpu_x86_register(cpu, cpu_model) < 0) {
> - object_delete(OBJECT(cpu));
> - return NULL;
> - }
> -
> - x86_cpu_realize(OBJECT(cpu), &error);
> - if (error) {
> - error_free(error);
> - object_delete(OBJECT(cpu));
> - return NULL;
> - }
> - return cpu;
> -}
> -
> #if !defined(CONFIG_USER_ONLY)
> void do_cpu_init(X86CPU *cpu)
> {
--
regards!
li guang
linux kernel team at FNST, china
thinking with brain but heart
living with heart but brain
- [Qemu-devel] [PATCH 00/17] target-i386: CPU init cleanup for CPU classes/properties, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 04/17] target-i386: x86_cpudef_setup(): cosmetic change on comment, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 01/17] target-i386/cpu.c: coding style fix, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 03/17] target-i386: cpu: rename x86_def_t to X86CPUDefinition, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 02/17] target-i386: move cpu_x86_init() to cpu.c, Eduardo Habkost, 2012/11/12
- Re: [Qemu-devel] [PATCH 02/17] target-i386: move cpu_x86_init() to cpu.c,
li guang <=
- [Qemu-devel] [PATCH 05/17] target-i386: cpu_x86_init(): move error handling to end of function, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 06/17] target-i386: cpu_x86_init(): print error message in case of error, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 09/17] target-i386: move out CPU features initialization to separate func, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 10/17] target-i386: kill cpu_x86_register(), Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 12/17] target-i386: cpu_x86_find_by_name(): split CPU model and feature string first, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 14/17] target-i386: cpu_x86_init(): rename cpu_model to cpu_string, Eduardo Habkost, 2012/11/12
- [Qemu-devel] [PATCH 08/17] target-i386: cpu_x86_register(): reorder CPU property setting, Eduardo Habkost, 2012/11/12