On 7/1/19 7:04 AM, David Gibson wrote: > On Fri, Jun 28, 2019 at 03:20:32PM +0200, Philippe Mathieu-Daudé wrote: >> Hi, >> >> On 3/12/19 8:58 PM, Cédric Le Goater wrote: >>> On 3/12/19 8:30 PM, Cleber Rosa wrote: >>>>> From: "Cleber Rosa" <cr...@redhat.com> >>>>> Sent: Tuesday, March 12, 2019 3:14:09 PM >>>>> Subject: Re: [Qemu-devel] [PULL 57/60] target/ppc: add HV support for >>>>> POWER9 >>>>> >>>>> On Tue, Mar 12, 2019 at 07:34:04PM +0100, Cédric Le Goater wrote: >>>>>> On 3/12/19 4:01 PM, Cleber Rosa wrote: >>>>>>> On Sun, Mar 10, 2019 at 07:27:00PM +1100, David Gibson wrote: >>>>>>>> From: Cédric Le Goater <c...@kaod.org> >>>>>>>> >>>>>>>> We now have enough support to boot a PowerNV machine with a POWER9 >>>>>>>> processor. Allow HV mode on POWER9. >>>>>>>> >>>>>>>> Signed-off-by: Cédric Le Goater <c...@kaod.org> >>>>>>>> Message-Id: <20190307223548.20516-16-...@kaod.org> >>>>>>>> Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> >>>>>>>> --- >>>>>>>> target/ppc/translate_init.inc.c | 3 ++- >>>>>>>> 1 file changed, 2 insertions(+), 1 deletion(-) >>>>>>>> >>>>>>>> diff --git a/target/ppc/translate_init.inc.c >>>>>>>> b/target/ppc/translate_init.inc.c >>>>>>>> index af70a3b78c..0bd555eb19 100644 >>>>>>>> --- a/target/ppc/translate_init.inc.c >>>>>>>> +++ b/target/ppc/translate_init.inc.c >>>>>>>> @@ -8895,7 +8895,7 @@ POWERPC_FAMILY(POWER9)(ObjectClass *oc, void >>>>>>>> *data) >>>>>>>> PPC_CACHE | PPC_CACHE_ICBI | PPC_CACHE_DCBZ | >>>>>>>> PPC_MEM_SYNC | PPC_MEM_EIEIO | >>>>>>>> PPC_MEM_TLBSYNC | >>>>>>>> - PPC_64B | PPC_64BX | PPC_ALTIVEC | >>>>>>>> + PPC_64B | PPC_64H | PPC_64BX | PPC_ALTIVEC | >>>>>>>> PPC_SEGMENT_64B | PPC_SLBI | >>>>>>>> PPC_POPCNTB | PPC_POPCNTWD | >>>>>>>> PPC_CILDST; >>>>>>>> @@ -8907,6 +8907,7 @@ POWERPC_FAMILY(POWER9)(ObjectClass *oc, void >>>>>>>> *data) >>>>>>>> PPC2_ISA205 | PPC2_ISA207S | PPC2_FP_CVT_S64 | >>>>>>>> PPC2_TM | PPC2_ISA300 | PPC2_PRCNTL; >>>>>>>> pcc->msr_mask = (1ull << MSR_SF) | >>>>>>>> + (1ull << MSR_SHV) | >>>>>>>> (1ull << MSR_TM) | >>>>>>>> (1ull << MSR_VR) | >>>>>>>> (1ull << MSR_VSX) | >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> This change prevents a Fedora 29 kernel[1] from booting... is this >>>>>>> intended or a known limitation of the Fedora 29 kernel? >>>>>> >>>>>> The default CPU is still power8_v2.0. This is curious. >>>>>> >>>>> >>>>> Are you sure? I'm getting: >>>>> >>>>> $ git rev-parse HEAD >>>>> cfc3fef6b4e493bf1a7ee16790ad584e20dfbbd1 >>>>> $ ./ppc64-softmmu/qemu-system-ppc64 -qmp unix:/tmp/qmp-sock,server >>>>> $ ./scripts/qmp/qom-get -s /tmp/qmp-sock >>>>> /machine/unattached/device[0].type >>>>> power9_v2.0-spapr-cpu-core >>> >>> That's a pseries machine, not a powernv machine. pseries should use P9 >>> processor by default but the patch above should not impact f29 on pseries. >>> If it does, then we have a bug. >>> >>>> Looks like the overall default is "power9_v2.0", and then on pseries-3.1 >>>> and >>>> lower, it's "power8_v2.0", as per 34a6b015a98. >>> >>> I was looking at pnv_machine_class_init() which sets the default CPU : >>> >>> mc->default_cpu_type = POWERPC_CPU_TYPE_NAME("power8_v2.0"); >> >> I found this thread while trying auto-bisection for LP#1834613: >> https://bugs.launchpad.net/bugs/1834613 >> >> When trying the options suggested by Laurent here: >> https://lists.gnu.org/archive/html/qemu-devel/2019-06/msg06209.html >> >> this one hangs: >> >> $ qemu-system-ppc64 \ >> -kernel vmlinuz-vanilla \ >> -nographic -append "console=hvc0" \ >> -M cap-cfpc=broken,cap-sbbc=broken,cap-ibs=broken >> >> but this one works: >> >> $ qemu-system-ppc64 \ >> -kernel vmlinuz-vanilla \ >> -nographic -append "console=hvc0" \ >> -M pseries-3.1 > > Sorry, I missed most of this thread while on holidays. What's the > actual bug here?
I don't think there is a bug, this seems the result of adding a new feature. The commit message is not obvious that old kernels won't work on the default machine type, and we have to add the extra '-M pseries-3.1' command line option to run such images.