From: Peter Crosthwaite <[email protected]> Use cpu_set_pc() for setting program counters when bootloading. This removes an instance of system level code having to reach into the CPU env.
Reviewed-by: Andreas Färber <[email protected]> Signed-off-by: Peter Crosthwaite <[email protected]> [AF: Avoid duplicated CPU() casts through local variable] Signed-off-by: Andreas Färber <[email protected]> --- hw/microblaze/boot.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/hw/microblaze/boot.c b/hw/microblaze/boot.c index 4c44317..3e8820f 100644 --- a/hw/microblaze/boot.c +++ b/hw/microblaze/boot.c @@ -48,13 +48,14 @@ static struct static void main_cpu_reset(void *opaque) { MicroBlazeCPU *cpu = opaque; + CPUState *cs = CPU(cpu); CPUMBState *env = &cpu->env; - cpu_reset(CPU(cpu)); + cpu_reset(cs); env->regs[5] = boot_info.cmdline; env->regs[6] = boot_info.initrd_start; env->regs[7] = boot_info.fdt; - env->sregs[SR_PC] = boot_info.bootstrap_pc; + cpu_set_pc(cs, boot_info.bootstrap_pc); if (boot_info.machine_cpu_reset) { boot_info.machine_cpu_reset(cpu); } -- 2.1.4
