qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PULL 57/60] target/ppc: add HV support for POWER9


From: Philippe Mathieu-Daudé
Subject: Re: [Qemu-devel] [PULL 57/60] target/ppc: add HV support for POWER9
Date: Tue, 2 Jul 2019 11:22:28 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0

On 7/2/19 8:13 AM, Cédric Le Goater wrote:
> On 02/07/2019 02:14, David Gibson wrote:
>> 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.

Can this be an effect of the u-boot update?

> 
> I don't see such an issue on David's ppc-for-4.1 branch.
> 
> C.
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]