milkymist: Store LM32 in ResetInfo

Allows us to use cpu_reset() in place of cpu_state_reset() in
main_cpu_reset().

Signed-off-by: Andreas Färber <afaerber@suse.de>
Acked-by: Michael Walle <michael@walle.cc>
This commit is contained in:
Andreas Färber 2012-05-04 19:05:02 +02:00
parent 1328cc01f1
commit f6932a867d

View File

@ -37,7 +37,7 @@
#define KERNEL_LOAD_ADDR 0x40000000 #define KERNEL_LOAD_ADDR 0x40000000
typedef struct { typedef struct {
CPULM32State *env; LM32CPU *cpu;
target_phys_addr_t bootstrap_pc; target_phys_addr_t bootstrap_pc;
target_phys_addr_t flash_base; target_phys_addr_t flash_base;
target_phys_addr_t initrd_base; target_phys_addr_t initrd_base;
@ -59,9 +59,9 @@ static void cpu_irq_handler(void *opaque, int irq, int level)
static void main_cpu_reset(void *opaque) static void main_cpu_reset(void *opaque)
{ {
ResetInfo *reset_info = opaque; ResetInfo *reset_info = opaque;
CPULM32State *env = reset_info->env; CPULM32State *env = &reset_info->cpu->env;
cpu_state_reset(env); cpu_reset(CPU(reset_info->cpu));
/* init defaults */ /* init defaults */
env->pc = reset_info->bootstrap_pc; env->pc = reset_info->bootstrap_pc;
@ -108,7 +108,7 @@ milkymist_init(ram_addr_t ram_size_not_used,
} }
cpu = cpu_lm32_init(cpu_model); cpu = cpu_lm32_init(cpu_model);
env = &cpu->env; env = &cpu->env;
reset_info->env = env; reset_info->cpu = cpu;
cpu_lm32_set_phys_msb_ignore(env, 1); cpu_lm32_set_phys_msb_ignore(env, 1);