target-xtensa: Let cpu_xtensa_init() return XtensaCPU

Make the include paths for cpu-qom.h consistent to allow using XtensaCPU
in cpu.h.

Turn cpu_init macro into a static inline function returning
CPUXtensaState for backwards compatibility.

Signed-off-by: Andreas Färber <afaerber@suse.de>
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
master
Andreas Färber 2012-05-06 12:41:53 +02:00
parent f6932a867d
commit 15be317139
3 changed files with 16 additions and 6 deletions

View File

@ -28,7 +28,7 @@
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "cpu-qom.h" #include "cpu.h"
#include "qemu-common.h" #include "qemu-common.h"

View File

@ -344,13 +344,24 @@ typedef struct CPUXtensaState {
CPU_COMMON CPU_COMMON
} CPUXtensaState; } CPUXtensaState;
#define cpu_init cpu_xtensa_init #include "cpu-qom.h"
#define cpu_exec cpu_xtensa_exec #define cpu_exec cpu_xtensa_exec
#define cpu_gen_code cpu_xtensa_gen_code #define cpu_gen_code cpu_xtensa_gen_code
#define cpu_signal_handler cpu_xtensa_signal_handler #define cpu_signal_handler cpu_xtensa_signal_handler
#define cpu_list xtensa_cpu_list #define cpu_list xtensa_cpu_list
CPUXtensaState *cpu_xtensa_init(const char *cpu_model); XtensaCPU *cpu_xtensa_init(const char *cpu_model);
static inline CPUXtensaState *cpu_init(const char *cpu_model)
{
XtensaCPU *cpu = cpu_xtensa_init(cpu_model);
if (cpu == NULL) {
return NULL;
}
return &cpu->env;
}
void xtensa_translate_init(void); void xtensa_translate_init(void);
int cpu_xtensa_exec(CPUXtensaState *s); int cpu_xtensa_exec(CPUXtensaState *s);
void xtensa_register_core(XtensaConfigList *node); void xtensa_register_core(XtensaConfigList *node);
@ -471,7 +482,6 @@ static inline void cpu_get_tb_cpu_state(CPUXtensaState *env, target_ulong *pc,
} }
#include "cpu-all.h" #include "cpu-all.h"
#include "cpu-qom.h"
#include "exec-all.h" #include "exec-all.h"
static inline int cpu_has_work(CPUXtensaState *env) static inline int cpu_has_work(CPUXtensaState *env)

View File

@ -80,7 +80,7 @@ static void breakpoint_handler(CPUXtensaState *env)
} }
} }
CPUXtensaState *cpu_xtensa_init(const char *cpu_model) XtensaCPU *cpu_xtensa_init(const char *cpu_model)
{ {
static int tcg_inited; static int tcg_inited;
static int debug_handler_inited; static int debug_handler_inited;
@ -116,7 +116,7 @@ CPUXtensaState *cpu_xtensa_init(const char *cpu_model)
xtensa_irq_init(env); xtensa_irq_init(env);
qemu_init_vcpu(env); qemu_init_vcpu(env);
return env; return cpu;
} }