Am 03.04.2014 20:48, schrieb Alexander Graf: > We now reset SPRs to their reset values on CPU reset. So if we want > to have an SPR persistently changed, we need to change its default > reset value rather than the value itself manually. > > Do this for SPR_BOOKE_PIR, fixing e500v2 SMP boot. > > Reported-by: Frederic Konrad <fred.kon...@greensocs.com>
Suggested-by: Andreas Färber <afaer...@suse.de> > Signed-off-by: Alexander Graf <ag...@suse.de> > --- > hw/ppc/e500.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c > index d7ba25f..f984b3e 100644 > --- a/hw/ppc/e500.c > +++ b/hw/ppc/e500.c > @@ -649,7 +649,7 @@ void ppce500_init(QEMUMachineInitArgs *args, > PPCE500Params *params) > input = (qemu_irq *)env->irq_inputs; > irqs[i][OPENPIC_OUTPUT_INT] = input[PPCE500_INPUT_INT]; > irqs[i][OPENPIC_OUTPUT_CINT] = input[PPCE500_INPUT_CINT]; > - env->spr[SPR_BOOKE_PIR] = cs->cpu_index = i; > + env->spr_cb[SPR_BOOKE_PIR].default_value = cs->cpu_index = i; > env->mpic_iack = MPC8544_CCSRBAR_BASE + > MPC8544_MPIC_REGS_OFFSET + 0xa0; > .default_value then. ;) Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg