]> git.proxmox.com Git - mirror_qemu.git/commitdiff
PPC: E500: Set PIR default reset value rather than SPR value
authorAlexander Graf <agraf@suse.de>
Thu, 3 Apr 2014 18:45:27 +0000 (20:45 +0200)
committerAlexander Graf <agraf@suse.de>
Tue, 8 Apr 2014 09:19:59 +0000 (11:19 +0200)
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.konrad@greensocs.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
Tested-by: KONRAD Frederic <fred.konrad@greensocs.com>
hw/ppc/e500.c

index d7ba25f379b8968c2c44b583e81daaba6cbeb6ac..f984b3e9a9e80b9a4c5c6552ff77e256c0adb4fa 100644 (file)
@@ -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;