aboutsummaryrefslogtreecommitdiff
path: root/sys/x86/xen/xen_intr.c
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2018-11-15 18:37:41 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2018-11-15 18:37:41 +0000
commitb6b42932dbeaa0c7f249494fb1840deb4f2b7553 (patch)
tree81646e8327f90ea45ddb74fe3702228aa6412dbc /sys/x86/xen/xen_intr.c
parentaaf1f854e11fbd97bf1bcec98b0e83a95114521d (diff)
downloadsrc-b6b42932dbeaa0c7f249494fb1840deb4f2b7553.tar.gz
src-b6b42932dbeaa0c7f249494fb1840deb4f2b7553.zip
Convert the number of MSI IRQs on x86 from a constant to a tunable.
The number of MSI IRQs still defaults to 512, but it can now be changed at boot time via the machdep.num_msi_irqs tunable. Reviewed by: kib, royger (older version) Reviewed by: markj MFC after: 1 month Relnotes: yes Differential Revision: https://reviews.freebsd.org/D17977
Notes
Notes: svn path=/head/; revision=340460
Diffstat (limited to 'sys/x86/xen/xen_intr.c')
-rw-r--r--sys/x86/xen/xen_intr.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/x86/xen/xen_intr.c b/sys/x86/xen/xen_intr.c
index c1cb0707cde9..d366a61dc9ec 100644
--- a/sys/x86/xen/xen_intr.c
+++ b/sys/x86/xen/xen_intr.c
@@ -690,6 +690,8 @@ void
xen_intr_alloc_irqs(void)
{
+ if (num_io_irqs > UINT_MAX - NR_EVENT_CHANNELS)
+ panic("IRQ allocation overflow (num_msi_irqs too high?)");
first_evtchn_irq = num_io_irqs;
num_io_irqs += NR_EVENT_CHANNELS;
}