[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [PULL 57/60] target/ppc: add HV support for
From: |
David Gibson |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [PULL 57/60] target/ppc: add HV support for POWER9 |
Date: |
Tue, 2 Jul 2019 10:14:22 +1000 |
User-agent: |
Mutt/1.12.0 (2019-05-25) |
On Mon, Jul 01, 2019 at 11:45:23AM +0200, Philippe Mathieu-Daudé wrote:
> 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" <address@hidden>
> >>>>> 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 <address@hidden>
> >>>>>>>>
> >>>>>>>> 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 <address@hidden>
> >>>>>>>> Message-Id: <address@hidden>
> >>>>>>>> Signed-off-by: David Gibson <address@hidden>
> >>>>>>>> ---
> >>>>>>>> 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.
Hm, except apparently turning off the Spectre options doesn't change
that, so I wonder what change in the newer machine type is causing the
breakage.
--
David Gibson | I'll have my music baroque, and my code
david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_
| _way_ _around_!
http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature