freebsd-dev/sys/x86
Ed Maste fa5f94140a msi: handle error from BUS_REMAP_INTR in msi_assign_cpu
Previously errors from BUS_REMAP_INTR were silently ignored, and we
ended up with non-functional interrupts.

Now we allocate and enable new vectors, but postpone assignment of new
APIC IDs and vectors where we can, until after BUS_REMAP_INTR is
successful.  We then disable and free the old vectors.

If BUS_REMAP_INTR fails we restore the old configuration, and disable
and free the new, unused vectors.

Thanks to AMD for providing hardware (with APIC IDs above 255) for
testing.

Reviewed by:	jhb
MFC after:	1 month
Sponsored by:	The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D41455
2023-08-17 20:03:48 -04:00
..
acpica sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
bios sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
conf sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
cpufreq sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
include sys: Remove $FreeBSD$: one-line .c comment pattern 2023-08-16 11:54:24 -06:00
iommu sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
isa sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
linux sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
pci sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
x86 msi: handle error from BUS_REMAP_INTR in msi_assign_cpu 2023-08-17 20:03:48 -04:00
xen sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00