From: Alexander Graf Date: Thu, 3 Apr 2014 18:45:27 +0000 (+0200) Subject: PPC: E500: Set PIR default reset value rather than SPR value X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=6a450df9b8369c0cff7a1d6774d56f0862abd4e3;p=qemu.git PPC: E500: Set PIR default reset value rather than SPR value 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 Signed-off-by: Alexander Graf Tested-by: KONRAD Frederic --- diff --git a/hw/ppc/e500.c b/hw/ppc/e500.c index d7ba25f379..f984b3e9a9 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;