[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |