freebsd-nq/sys/x86
John Baldwin f36411145e Fix two off-by-one errors when allocating MSI and MSI-X interrupts.
x86 enforces an (arbitray) limit on the number of available MSI and
MSI-X interrupts to simplify code (in particular, interrupt_source[]
is statically sized).  This means that an attempt to allocate an MSI
vector needs to fail if it would go beyond the limit, but the checks
for exceeding the limit had an off-by-one error.  In the case of MSI-X
which allocates interrupts one at a time this meant that IRQ 768 kept
getting handed out multiple times for msix_alloc() instead of failing
because all MSI IRQs were in use.

Tested by:	lidl
MFC after:	1 week
2018-04-18 18:45:34 +00:00
..
acpica i386 4/4G split. 2018-04-13 20:30:49 +00:00
bios sys/x86: further adoption of SPDX licensing ID tags. 2017-11-27 15:11:47 +00:00
cpufreq cpufreq: Remove error-prone table terminators in favor of automatic sizing 2018-04-14 03:15:05 +00:00
include x86: improve reservation of AP trampoline memory 2018-04-05 14:39:51 +00:00
iommu Don't include DMAR map entry zone items in kernel dumps. 2018-02-18 16:03:50 +00:00
isa ANSIfy sys/x86 2018-03-17 01:40:09 +00:00
pci Add ISA PNP tables to ISA drivers. Fix a few incidental comments. 2018-01-29 00:22:30 +00:00
x86 Fix two off-by-one errors when allocating MSI and MSI-X interrupts. 2018-04-18 18:45:34 +00:00
xen Restore r331606 with a bugfix to setup cpuset_domain[] earlier on all 2018-03-28 18:47:35 +00:00