Re: [PATCH] KVM: s390x: add debug statement for diag 318 CPNC data

From: Collin Walling
Date: Wed Oct 27 2021 - 10:06:50 EST


On 10/27/21 01:37, Christian Borntraeger wrote:
> Am 27.10.21 um 04:54 schrieb Collin Walling:
>> The diag 318 data contains values that denote information regarding the
>> guest's environment. Currently, it is unecessarily difficult to observe
>> this value (either manually-inserted debug statements, gdb stepping, mem
>> dumping etc). It's useful to observe this information to obtain an
>> at-a-glance view of the guest's environment, so lets add a simple VCPU
>> event that prints the CPNC to the s390dbf logs.
>>
>> Signed-off-by: Collin Walling <walling@xxxxxxxxxxxxx>
>
> Acked-by: Christian Borntraeger <borntraeger@xxxxxxxxxx>
>
> And it even finds a bug in QEMU. We clear the CPNC on local CPU resets.
> Can you have a look? I think we just have to move the cpnc in the env
> field from the normal/initial reset range to the full reset range.

I'll take a look at this right away.

>> ---
>>   arch/s390/kvm/kvm-s390.c | 1 +
>>   1 file changed, 1 insertion(+)
>>
>> diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
>> index 6a6dd5e1daf6..da3ff24eabd0 100644
>> --- a/arch/s390/kvm/kvm-s390.c
>> +++ b/arch/s390/kvm/kvm-s390.c
>> @@ -4254,6 +4254,7 @@ static void sync_regs_fmt2(struct kvm_vcpu *vcpu)
>>       if (kvm_run->kvm_dirty_regs & KVM_SYNC_DIAG318) {
>>           vcpu->arch.diag318_info.val = kvm_run->s.regs.diag318;
>>           vcpu->arch.sie_block->cpnc = vcpu->arch.diag318_info.cpnc;
>> +        VCPU_EVENT(vcpu, 2, "setting cpnc to %d",
>> vcpu->arch.diag318_info.cpnc);
>>       }
>>       /*
>>        * If userspace sets the riccb (e.g. after migration) to a valid
>> state,
>>


--
Regards,
Collin

Stay safe and stay healthy