Commit 5f5e3350 authored by Andreas Färber's avatar Andreas Färber
Browse files

target-alpha: Let cpu_alpha_init() return AlphaCPU



Replace cpu_init() macro with inline function for backwards
compatibility.

Signed-off-by: default avatarAndreas Färber <afaerber@suse.de>
Acked-by: default avatarRichard Henderson <rth@twiddle.net>
parent 914606d2
Loading
Loading
Loading
Loading
+11 −2
Original line number Diff line number Diff line
@@ -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
+2 −2
Original line number Diff line number Diff line
@@ -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)