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

Reply via email to