From: Andreas Färber Date: Thu, 3 May 2012 01:12:35 +0000 (+0200) Subject: target-sparc: Let cpu_sparc_init() return SPARCCPU X-Git-Tag: TizenStudio_2.0_p2.3.2~208^2~4039^2~10 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e59be77a5b88510ceca87335ee9f241ded566ae2;p=sdk%2Femulator%2Fqemu.git target-sparc: Let cpu_sparc_init() return SPARCCPU Make include paths for cpu-qom.h consistent, so that SPARCCPU can be used in cpu.h. Turn cpu_init macro into a static inline function returning CPUSPARCState for backwards compatibility. Signed-off-by: Andreas Färber Acked-by: Blue Swirl --- diff --git a/target-sparc/cpu.c b/target-sparc/cpu.c index 7ac6bdb..8ccac23 100644 --- a/target-sparc/cpu.c +++ b/target-sparc/cpu.c @@ -111,7 +111,7 @@ static int cpu_sparc_register(CPUSPARCState *env, const char *cpu_model) return 0; } -CPUSPARCState *cpu_sparc_init(const char *cpu_model) +SPARCCPU *cpu_sparc_init(const char *cpu_model) { SPARCCPU *cpu; CPUSPARCState *env; @@ -129,7 +129,7 @@ CPUSPARCState *cpu_sparc_init(const char *cpu_model) } qemu_init_vcpu(env); - return env; + return cpu; } void cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu) diff --git a/target-sparc/cpu.h b/target-sparc/cpu.h index 29c63c7..e16b7b3 100644 --- a/target-sparc/cpu.h +++ b/target-sparc/cpu.h @@ -511,9 +511,11 @@ struct CPUSPARCState { uint32_t cache_control; }; +#include "cpu-qom.h" + #ifndef NO_CPU_IO_DEFS /* cpu_init.c */ -CPUSPARCState *cpu_sparc_init(const char *cpu_model); +SPARCCPU *cpu_sparc_init(const char *cpu_model); void cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu); void sparc_cpu_list(FILE *f, fprintf_function cpu_fprintf); /* mmu_helper.c */ @@ -590,7 +592,17 @@ target_phys_addr_t cpu_get_phys_page_nofault(CPUSPARCState *env, target_ulong ad #endif int cpu_sparc_signal_handler(int host_signum, void *pinfo, void *puc); -#define cpu_init cpu_sparc_init +#ifndef NO_CPU_IO_DEFS +static inline CPUSPARCState *cpu_init(const char *cpu_model) +{ + SPARCCPU *cpu = cpu_sparc_init(cpu_model); + if (cpu == NULL) { + return NULL; + } + return &cpu->env; +} +#endif + #define cpu_exec cpu_sparc_exec #define cpu_gen_code cpu_sparc_gen_code #define cpu_signal_handler cpu_sparc_signal_handler @@ -691,7 +703,6 @@ static inline void cpu_clone_regs(CPUSPARCState *env, target_ulong newsp) #endif #include "cpu-all.h" -#include "cpu-qom.h" #ifdef TARGET_SPARC64 /* sun4u.c */