Am 03.04.2014 20:26, schrieb Alexander Graf: > > On 03.04.2014, at 19:00, Frederic Konrad <fred.kon...@greensocs.com> wrote: > >> On 03/04/2014 17:29, Andreas Färber wrote: >>> Hi Fred, >>> >>> Am 03.04.2014 17:19, schrieb Frederic Konrad: >>>> I tried to boot a mpc85xx smp image with a new platform inside qemu. >>>> >>>> This command line reproduce the issue: >>>> ./ppc-softmmu/qemu-system-ppc -M mpc8544ds -kernel zImage --smp 2 >>>> >>>> This use to work but since this commit: >>>> d197fdbc3b83655f3c145722805f0998c04dce16 >>>> >>>> >>>> target-ppc: Reset SPRs on CPU reset >>>> >>>> >>>> This resets SPR values to defaults on CPU reset. This should help >>>> >>>> with little-endian guests reboot issues. >>>> >>>> I get some errors inside the guest: >>> Is this after today's fix? >>> >>> http://git.qemu-project.org/?p=qemu.git;a=commit;h=87d8354de3560eb705bcee83142d775f703177a6 >>> >>> Regards, >>> Andreas >>> >> Hi Andreas, >> >> I just tried seems it doesn't make any difference for me ;). > > That patch should only have an effect when you're running with KVM which you > probably don't :). > > I can see the same breakage here, but only when my guest kernel is e500v2. > With an e500mc kernel (even for -M mpc8544ds) it works fine. The secondary > core also does get woken up. So it's probably something related to SPE > emulation - hrm.
I think I found it: hw/ppc/e500.c: env->spr[SPR_BOOKE_PIR] = cs->cpu_index = i; With this patch this gets overwritten to spr->default_value, so the CPUs end up having the same value on reset. http://git.qemu-project.org/?p=qemu.git;a=blobdiff;f=target-ppc/translate_init.c;h=954dee3ec27b6a00559c878b8248ec6a07f35d79;hp=6084f40f28a62903e59db40771f33dd3e2c2996d;hb=d197fdbc3b83655f3c145722805f0998c04dce16;hpb=7aaf4957efad2bf6ac449d0caa9a1535f61006bc Regards, Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg