|
[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 |