On 7/21/25 17:39, Collin Walling wrote:
> On 7/21/25 17:26, Collin Walling wrote:
>> On 7/11/25 17:10, Zhuoying Cai wrote:
> 
> [...]
> 
>>> diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
>>> index 8f655a4b7f..d5b3694600 100644
>>> --- a/target/s390x/kvm/kvm.c
>>> +++ b/target/s390x/kvm/kvm.c
>>> @@ -98,6 +98,7 @@
>>>  #define DIAG_TIMEREVENT                 0x288
>>>  #define DIAG_IPL                        0x308
>>>  #define DIAG_SET_CONTROL_PROGRAM_CODES  0x318
>>> +#define DIAG_CERT_STORE                 0x320
>>>  #define DIAG_KVM_HYPERCALL              0x500
>>>  #define DIAG_KVM_BREAKPOINT             0x501
>>>  
>>> @@ -1560,6 +1561,16 @@ static void handle_diag_318(S390CPU *cpu, struct 
>>> kvm_run *run)
>>>      }
>>>  }
>>>  
>>> +static void kvm_handle_diag_320(S390CPU *cpu, struct kvm_run *run)
>>> +{
>>> +    uint64_t r1, r3;
>>> +
>>> +    r1 = (run->s390_sieic.ipa & 0x00f0) >> 4;
>>> +    r3 = run->s390_sieic.ipa & 0x000f;
>>> +
>>> +    handle_diag_320(&cpu->env, r1, r3, RA_IGNORED);
>>> +}
> 
> One more piece I forgot to add here:
> 
> This handler function should check if the required facilities are
> installed for DIAG 320.  For now, the Certificate Store facility is used
> to indicate DIAG 320 is provided and possibly subcodes 0-3 are
> available.  Please add a feature check here and throw a program
> specification interrupt if the facility is not available before
> handle_diag_320 is called.
> 

Ack, sorry.  I think I was too far into the weeds w.r.t. to fencing this
off that I more-or-less duplicated this feedback in another spot.  I
realize now that fencing this feature off in handle_diag_320() makes
more sense, as TCG also invokes it and should handled for that case as well.

My other sentence in the previous reply "In patch 4, you introduce the
feature bit for DIAG 320" should be disregarded, as I see it's already
there in that function.  My bad.

>>> +
>>>  #define DIAG_KVM_CODE_MASK 0x000000000000ffff
>>>  
>>>  static int handle_diag(S390CPU *cpu, struct kvm_run *run, uint32_t ipb)
> 
> [...]
> 


-- 
Regards,
  Collin

Reply via email to