[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] x86/irq: rename NR_HVM_IRQS and break it's dependency on VIOAPIC_NUM_PINS
commit fa645b31536995c5a8ff7943fa6222deaceba49a Author: Roger Pau Monné <roger.pau@xxxxxxxxxx> AuthorDate: Tue Apr 4 12:39:42 2017 +0200 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Tue Apr 4 12:39:42 2017 +0200 x86/irq: rename NR_HVM_IRQS and break it's dependency on VIOAPIC_NUM_PINS Rename it to NR_HVM_DOMU_IRQS, and get it's value from the size of the DomU vIO APIC redirection table. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/arch/x86/physdev.c | 6 ++++-- xen/drivers/passthrough/io.c | 2 +- xen/include/xen/hvm/irq.h | 4 ++-- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/xen/arch/x86/physdev.c b/xen/arch/x86/physdev.c index 6c15f9b..eec4a41 100644 --- a/xen/arch/x86/physdev.c +++ b/xen/arch/x86/physdev.c @@ -32,6 +32,8 @@ static int physdev_hvm_map_pirq( { int ret = 0; + ASSERT(!is_hardware_domain(d)); + spin_lock(&d->event_lock); switch ( type ) { @@ -39,7 +41,7 @@ static int physdev_hvm_map_pirq( const struct hvm_irq_dpci *hvm_irq_dpci; unsigned int machine_gsi = 0; - if ( *index < 0 || *index >= NR_HVM_IRQS ) + if ( *index < 0 || *index >= NR_HVM_DOMU_IRQS ) { ret = -EINVAL; break; @@ -52,7 +54,7 @@ static int physdev_hvm_map_pirq( { const struct hvm_girq_dpci_mapping *girq; - BUILD_BUG_ON(ARRAY_SIZE(hvm_irq_dpci->girq) < NR_HVM_IRQS); + BUILD_BUG_ON(ARRAY_SIZE(hvm_irq_dpci->girq) < NR_HVM_DOMU_IRQS); list_for_each_entry ( girq, &hvm_irq_dpci->girq[*index], list ) diff --git a/xen/drivers/passthrough/io.c b/xen/drivers/passthrough/io.c index f48eb31..83e0961 100644 --- a/xen/drivers/passthrough/io.c +++ b/xen/drivers/passthrough/io.c @@ -330,7 +330,7 @@ int pt_irq_create_bind( spin_unlock(&d->event_lock); return -ENOMEM; } - for ( i = 0; i < NR_HVM_IRQS; i++ ) + for ( i = 0; i < NR_HVM_DOMU_IRQS; i++ ) INIT_LIST_HEAD(&hvm_irq_dpci->girq[i]); hvm_domain_irq(d)->dpci = hvm_irq_dpci; diff --git a/xen/include/xen/hvm/irq.h b/xen/include/xen/hvm/irq.h index d3f8623..f041252 100644 --- a/xen/include/xen/hvm/irq.h +++ b/xen/include/xen/hvm/irq.h @@ -76,13 +76,13 @@ struct hvm_girq_dpci_mapping { #define NR_ISAIRQS 16 #define NR_LINK 4 #if defined(CONFIG_X86) -# define NR_HVM_IRQS VIOAPIC_NUM_PINS +# define NR_HVM_DOMU_IRQS ARRAY_SIZE(((struct hvm_hw_vioapic *)0)->redirtbl) #endif /* Protected by domain's event_lock */ struct hvm_irq_dpci { /* Guest IRQ to guest device/intx mapping. */ - struct list_head girq[NR_HVM_IRQS]; + struct list_head girq[NR_HVM_DOMU_IRQS]; /* Record of mapped ISA IRQs */ DECLARE_BITMAP(isairq_map, NR_ISAIRQS); /* Record of mapped Links */ -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |