Subject: Re: [PATCH 2/4] KVM: PPC: BOOK3S: PR: Doorbell support

From: Alexander Graf <[email-masked]>
Date: Thu, 05 Jun 2014 14:23:50 +0200

On 05.06.14 14:21, Alexander Graf wrote:
>
> On 05.06.14 14:08, Aneesh Kumar K.V wrote:
>> We don't have SMT support yet, hence we should not find a doorbell
>> message generated
>>
>> Signed-off-by: Aneesh Kumar K.V <[email-masked]>
>> ---
>>   arch/powerpc/kvm/book3s_emulate.c | 18 ++++++++++++++++++
>>   1 file changed, 18 insertions(+)
>>
>> diff --git a/arch/powerpc/kvm/book3s_emulate.c 
>> b/arch/powerpc/kvm/book3s_emulate.c
>> index 1bb16a59dcbc..d6c87d085182 100644
>> --- a/arch/powerpc/kvm/book3s_emulate.c
>> +++ b/arch/powerpc/kvm/book3s_emulate.c
>> @@ -28,7 +28,9 @@
>>   #define OP_19_XOP_RFI        50
>>     #define OP_31_XOP_MFMSR        83
>> +#define OP_31_XOP_MSGSNDP    142
>>   #define OP_31_XOP_MTMSR        146
>> +#define OP_31_XOP_MSGCLRP    174
>>   #define OP_31_XOP_MTMSRD    178
>>   #define OP_31_XOP_MTSR        210
>>   #define OP_31_XOP_MTSRIN    242
>> @@ -303,6 +305,22 @@ int kvmppc_core_emulate_op_pr(struct kvm_run 
>> *run, struct kvm_vcpu *vcpu,
>>                 break;
>>           }
>> +        case OP_31_XOP_MSGSNDP:
>> +        {
>> +            /*
>> +             * PR KVM still don't support SMT mode. So we should
>
> still?
>
>> +             * not see a MSGSNDP/MSGCLRP used with PR KVM
>> +             */
>> +            pr_info("KVM: MSGSNDP used in non SMT case\n");
>> +            emulated = EMULATE_FAIL;
>
> What would happen on an HV guest with only 1 thread that MSGSNDs to 
> thread 0? Would the guest get an illegal instruction trap, a 
> self-interrupt or would this be a simple nop?

What I'm trying to say here is that it's ok to treat it as illegal 
instructions, but then we don't need this patch :).

Alex