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 <afaerber@suse.de>
Acked-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
Andreas Färber 2012-05-03 03:12:35 +02:00
parent c356a1bcc0
commit e59be77a5b
2 changed files with 16 additions and 5 deletions

View File

@ -111,7 +111,7 @@ static int cpu_sparc_register(CPUSPARCState *env, const char *cpu_model)
return 0; return 0;
} }
CPUSPARCState *cpu_sparc_init(const char *cpu_model) SPARCCPU *cpu_sparc_init(const char *cpu_model)
{ {
SPARCCPU *cpu; SPARCCPU *cpu;
CPUSPARCState *env; CPUSPARCState *env;
@ -129,7 +129,7 @@ CPUSPARCState *cpu_sparc_init(const char *cpu_model)
} }
qemu_init_vcpu(env); qemu_init_vcpu(env);
return env; return cpu;
} }
void cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu) void cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu)

View File

@ -511,9 +511,11 @@ struct CPUSPARCState {
uint32_t cache_control; uint32_t cache_control;
}; };
#include "cpu-qom.h"
#ifndef NO_CPU_IO_DEFS #ifndef NO_CPU_IO_DEFS
/* cpu_init.c */ /* 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 cpu_sparc_set_id(CPUSPARCState *env, unsigned int cpu);
void sparc_cpu_list(FILE *f, fprintf_function cpu_fprintf); void sparc_cpu_list(FILE *f, fprintf_function cpu_fprintf);
/* mmu_helper.c */ /* mmu_helper.c */
@ -590,7 +592,17 @@ target_phys_addr_t cpu_get_phys_page_nofault(CPUSPARCState *env, target_ulong ad
#endif #endif
int cpu_sparc_signal_handler(int host_signum, void *pinfo, void *puc); 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_exec cpu_sparc_exec
#define cpu_gen_code cpu_sparc_gen_code #define cpu_gen_code cpu_sparc_gen_code
#define cpu_signal_handler cpu_sparc_signal_handler #define cpu_signal_handler cpu_sparc_signal_handler
@ -691,7 +703,6 @@ static inline void cpu_clone_regs(CPUSPARCState *env, target_ulong newsp)
#endif #endif
#include "cpu-all.h" #include "cpu-all.h"
#include "cpu-qom.h"
#ifdef TARGET_SPARC64 #ifdef TARGET_SPARC64
/* sun4u.c */ /* sun4u.c */