diff options
author | Andreas Färber <afaerber@suse.de> | 2012-05-04 19:31:25 +0200 |
---|---|---|
committer | Andreas Färber <afaerber@suse.de> | 2012-06-04 23:00:41 +0200 |
commit | adbb0f75f0be1d747503e5b19ce6a7efa37cf562 (patch) | |
tree | 573dc41c1b617289f02b5a6d2a864022ae44134f /hw/xtensa_lx60.c | |
parent | 11e7bfd7e04346f3acd77150ac82784f58bbe89f (diff) |
xtensa_lx60: Use cpu_xtensa_init() to obtain XtensaCPU
Allows us to use cpu_reset() in place of cpu_state_reset().
Signed-off-by: Andreas Färber <afaerber@suse.de>
Acked-by: Max Filippov <jcmvbkbc@gmail.com>
Diffstat (limited to 'hw/xtensa_lx60.c')
-rw-r--r-- | hw/xtensa_lx60.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/hw/xtensa_lx60.c b/hw/xtensa_lx60.c index afdef494b2..31f8adc684 100644 --- a/hw/xtensa_lx60.c +++ b/hw/xtensa_lx60.c @@ -164,6 +164,7 @@ static void lx_init(const LxBoardDesc *board, int be = 0; #endif MemoryRegion *system_memory = get_system_memory(); + XtensaCPU *cpu = NULL; CPUXtensaState *env = NULL; MemoryRegion *ram, *rom, *system_io; DriveInfo *dinfo; @@ -175,17 +176,19 @@ static void lx_init(const LxBoardDesc *board, } for (n = 0; n < smp_cpus; n++) { - env = cpu_init(cpu_model); - if (!env) { + cpu = cpu_xtensa_init(cpu_model); + if (cpu == NULL) { fprintf(stderr, "Unable to find CPU definition\n"); exit(1); } + env = &cpu->env; + env->sregs[PRID] = n; qemu_register_reset(lx60_reset, env); /* Need MMU initialized prior to ELF loading, * so that ELF gets loaded into virtual addresses */ - cpu_state_reset(env); + cpu_reset(CPU(cpu)); } ram = g_malloc(sizeof(*ram)); |