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

Re: [Xen-devel] [PATCH v3 20/24] xen/passthrough: Extend XEN_DOMCTL_assign_device to support DT device



On 29/01/15 15:03, Stefano Stabellini wrote:
> On Thu, 29 Jan 2015, Julien Grall wrote:
>> On 29/01/15 12:09, Stefano Stabellini wrote:
>>> On Thu, 29 Jan 2015, Julien Grall wrote:
>>>> Hi Stefano,
>>>>
>>>> On 29/01/15 10:29, Stefano Stabellini wrote:
>>>>>> +static bool_t iommu_dt_device_is_assigned(const struct dt_device_node 
>>>>>> *dev)
>>>>>> +{
>>>>>> +    bool_t assigned = 0;
>>>>>> +
>>>>>> +    if ( !dt_device_is_protected(dev) )
>>>>>> +        return 1;
>>>>>
>>>>> Why return true here?
>>>>
>>>> Because any device not protected cannot be assigned to another guest.
>>>> This could be used by the toolstack to know whether the device is
>>>> assigned or not.
>>>
>>> I understand that much.
>>>
>>>
>>>> IHMO, returning 0 would be a false negative.
>>>
>>> Why? Returning 0 means that the device is not assigned, that would be
>>> correct. From this statement I think that actually you are thinking as
>>> if this function actually returned whether a given device is assignable.
>>
>> 0 means the device is not assigned and therefore can be used for
>> passthrough.
> 
> I disagree on the "therefore".
> 0 means (or should mean that) the device is not assigned and stop there.
> 
> 
>> This function is used in the DOMCTL test_assign_device. That would mean
>> we will return 0 for non-protected device. That doesn't sound right as a
>> such device can never be assigned.
> 
> assigned -> passed through to a VM
> assignable -> can potentially be assigned
> 
> A non-assignable device cannot be assigned by definition. It does not
> make sense to returned true for it, if the question is "is it
> assigned?".

Ok. I will return 0 in when the device is not protected.

Regards,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.