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: Fri, 28 Jun 2019 15:20:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0

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) |
>>>>>> --
>>>>>> 2.20.1
>>>>>>
>>>>>>
>>>>>
>>>>> 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

> 
> C.
> 
>>
>> - Cleber.
>>
>>> Thanks,
>>> - Cleber.
>>>
>>>>> FIY, by using a "power8" CPU the Fedora 29 kernel boots successfully.
>>>>> For a reproducer, please refer to [2].
>>>>
>>>>
>>>> Thanks,
>>>>
>>>> C.
>>>>
>>>>
>>>>> Thanks,
>>>>> - Cleber.
>>>>>
>>>>> [1] -
>>>>> https://download.fedoraproject.org/pub/fedora-secondary/releases/29/Everything/ppc64le/os/ppc/ppc64/vmlinuz
>>>>>
>>>>> [2] -
>>>>> https://github.com/clebergnu/qemu/blob/sent/target_arch_v4/tests/acceptance/boot_linux_console.py#L138
>>>>>
>>>>
>>>



reply via email to

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