On 04.07.2017 15:02, Greg Kurz wrote:
> On Tue, 4 Jul 2017 21:41:51 +1000
> David Gibson <da...@gibson.dropbear.id.au> wrote:
> 
>> On Tue, Jul 04, 2017 at 01:15:00PM +0200, Greg Kurz wrote:
>>> On Tue,  4 Jul 2017 13:01:26 +0200
>>> Laurent Vivier <lviv...@redhat.com> wrote:
>>>   
>>>> Commit 5f3066d ("target/ppc: Allow workarounds for POWER9 DD1")
>>>> disables compatibility mode for POWER9 DD1 to allow to
>>>> boot on POWER9 DD1 host with KVM.
>>>>
>>>> As the workaround has been added in kvmppc_host_cpu_class_init(),
>>>> it applies only on CPU created with "-cpu host".
>>>> As we want to be able to use also "-cpu POWER9" on a POWER9 DD1
>>>> host, this patch moves the workaround from kvmppc_host_cpu_class_init()
>>>> to init_proc_POWER9().
>>>>   
>>>
>>> As with ppc_cpu_initfn() in your previous version, init_proc_POWER9() is
>>> called for every CPU instance.. ie, all CPU will adjust the @pcr_supported
>>> class attribute...  
>>
>> Ah.. yeah.. I didn't notice that before.  That's definitely not right.

It's a hack for DD1 which will likely be removed soon again anyway (as
soon as the DD1 hardware is not in use anymore), so I think it's ok for
such a temporary solution?

>>> What about moving the workaround to ppc_POWER9_cpu_family_class_init()
>>> instead ? This would just require to expose mfpvr() in some header.  
>>
>> Yeah, as someone else pointed out using the host PVR is also
>> definitely not right (unless you're in a function specifically
>> connected to the host cpu class).
>>
> 
> I agree but the root issue is that we accept to pass -cpu POWER9 instead of
> -cpu host with -enable-kvm. And the host cpu class isn't involved in this
> case.

Allowing -cpu POWERx with -enable-kvm was likely a bad idea, but we've
agree with libvirt that we support this, so we can't revert this feature
so easily without changing libvirt first.

 Thomas

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to