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

Re: [Xen-devel] [PATCH V3 22/29] x86/vioapic: extend vioapic_get_vector() to support remapping format RTE



On Thu, Oct 19, 2017 at 09:56:34AM -0600, Jan Beulich wrote:
>>>> On 19.10.17 at 17:49, <roger.pau@xxxxxxxxxx> wrote:
>> On Thu, Sep 21, 2017 at 11:02:03PM -0400, Lan Tianyu wrote:
>>> --- a/xen/arch/x86/hvm/vioapic.c
>>> +++ b/xen/arch/x86/hvm/vioapic.c
>>> @@ -561,11 +561,25 @@ int vioapic_get_vector(const struct domain *d, 
>>> unsigned int gsi)
>>>  {
>>>      unsigned int pin;
>>>      const struct hvm_vioapic *vioapic = gsi_vioapic(d, gsi, &pin);
>>> +    struct arch_irq_remapping_request request;
>>>  
>>>      if ( !vioapic )
>>>          return -EINVAL;
>>>  
>>> -    return vioapic->redirtbl[pin].fields.vector;
>>> +    irq_request_ioapic_fill(&request, vioapic->id, 
>>> vioapic->redirtbl[pin].bits);
>>> +    if ( viommu_check_irq_remapping(vioapic->domain, &request) )
>>> +    {
>>> +        int err;
>>> +        struct arch_irq_remapping_info info;
>>> +
>>> +        err = viommu_get_irq_info(vioapic->domain, &request, &info);
>>> +        return !err ? info.vector : err;
>> 
>> You can simplify this as return err :? info.vector;
>
>At which point the local variable becomes pretty pointless.

Maybe we can remove 'err' and return
unlikely(viommu_get_irq_info(...)) ?: info.vector;

Thanks
Chao

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

 


Rackspace

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