diff options
Diffstat (limited to 'target-alpha')
-rw-r--r-- | target-alpha/cpu.h | 13 | ||||
-rw-r--r-- | target-alpha/translate.c | 4 |
2 files changed, 13 insertions, 4 deletions
diff --git a/target-alpha/cpu.h b/target-alpha/cpu.h index 9939d61ca8..32e3777cdc 100644 --- a/target-alpha/cpu.h +++ b/target-alpha/cpu.h @@ -290,7 +290,6 @@ struct CPUAlphaState { int implver; }; -#define cpu_init cpu_alpha_init #define cpu_exec cpu_alpha_exec #define cpu_gen_code cpu_alpha_gen_code #define cpu_signal_handler cpu_alpha_signal_handler @@ -427,7 +426,17 @@ enum { IR_ZERO = 31, }; -CPUAlphaState * cpu_alpha_init (const char *cpu_model); +AlphaCPU *cpu_alpha_init(const char *cpu_model); + +static inline CPUAlphaState *cpu_init(const char *cpu_model) +{ + AlphaCPU *cpu = cpu_alpha_init(cpu_model); + if (cpu == NULL) { + return NULL; + } + return &cpu->env; +} + int cpu_alpha_exec(CPUAlphaState *s); /* you can call this signal handler from your SIGBUS and SIGSEGV signal handlers to inform the virtual CPU of exceptions. non zero diff --git a/target-alpha/translate.c b/target-alpha/translate.c index 71fe1a1ab0..6f41ef7bfe 100644 --- a/target-alpha/translate.c +++ b/target-alpha/translate.c @@ -3517,7 +3517,7 @@ static const struct cpu_def_t cpu_defs[] = { | AMASK_MVI | AMASK_TRAP | AMASK_PREFETCH), } }; -CPUAlphaState * cpu_alpha_init (const char *cpu_model) +AlphaCPU *cpu_alpha_init(const char *cpu_model) { AlphaCPU *cpu; CPUAlphaState *env; @@ -3546,7 +3546,7 @@ CPUAlphaState * cpu_alpha_init (const char *cpu_model) env->cpu_model_str = cpu_model; qemu_init_vcpu(env); - return env; + return cpu; } void restore_state_to_opc(CPUAlphaState *env, TranslationBlock *tb, int pc_pos) |