Re: [PATCH v7 09/22] s390: vfio-ap: register matrix device with VFIO mdev framework

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 1 Aug 2018 17:34:26 -0400
Tony Krowiak <akrowiak@xxxxxxxxxxxxx> wrote:

> On 07/27/2018 07:26 AM, Halil Pasic wrote:
> >
> >
> > On 07/27/2018 01:17 PM, Cornelia Huck wrote:  
> >> On Fri, 27 Jul 2018 13:13:40 +0200
> >> Halil Pasic <pasic@xxxxxxxxxxxxx> wrote:
> >>  
> >>>>> @@ -65,6 +66,21 @@ static int vfio_ap_matrix_dev_create(void)
> >>>>>    {
> >>>>>        int ret;
> >>>>>    +    mutex_init(&matrix_dev.lock);
> >>>>> +    INIT_LIST_HEAD(&matrix_dev.mdev_list);
> >>>>> +
> >>>>> +    /* Test if PQAP(QCI) instruction is available */
> >>>>> +    if (test_facility(12)) {
> >>>>> +        ret = ap_qci(&matrix_dev.info);
> >>>>> +        if (ret && (ret != -EOPNOTSUPP)) {  
> >>>>
> >>>> So, is facility 12 a pre-req for PQAP(QCI)? Can the code work if
> >>>> matrix_dev.info is not populated?  
> >>>
> >>> Yes and yes. It's basically only used in vfio_ap_matrix_init() and it
> >>> has fallbacks.  
> >>
> >> Ok. So facility 12 is required but not sufficient for PQAP(QCI) to be
> >> available? (Just asking as I cannot check the doc; if it works with
> >> fallbacks I'm fine.)  
> 
> I took a look at the ap_qci() function. It returns:
> 
>      0:           success
>      -EOPNOTSUPP: returned when an exception occurs executing the
>                   PQAP(QCI) instruction
> 
> I conclude that if STFLE.12 is set, then the PQAP(QCI) instruction
> should work. If -ENOPNOTSUPP is returned, then this would be a
> serious error and I think we should return an error from this function.

Sounds reasonable to me.

> 
> >>  
> >
> > AFAIR it should be sufficient in our case. My guess is that the non 0
> > return code stands for program exceptions that are not related to the
> > availability of QCI.  
> 
> 
> 
> 




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux