opnsense-src/sys/dev/pci
Colin Percival 2187ec93ad pci: Add hw.pci.intx_reroute sysctl/tunable
INTRng can leak resources when INTx interrupts are re-routed, which is
typically harmless but can be fatal when devices are (repeatedly) hot
plugged into PCI buses on INTRng systems.  Re-routing INTx interrupts
is nonetheless still necessary on some systems, and identifying whether
the re-routing should be enabled or disabled seems to be nontrivial.

Add a hw.pci.intx_reroute sysctl/tunable so systems which don't want
legacy PCI interrupt re-routing can turn it off.  This is probably not
the best fix but it's something which can be safely included in FreeBSD
14.3.

Co-Authored-by:	jhb
Reviewed by:	bz, jhb
MFC after:	3 days
Sponsored by:	Amazon
Differential Revision:	https://reviews.freebsd.org/D49849
2025-04-23 08:19:28 -07:00
..
controller Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
fixup_pci.c fixup_pci: Remove unused attach DEVMETHOD 2024-10-31 15:49:05 -04:00
hostb_pci.c Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
ignore_pci.c ignore_pci: Add a proper stub attach routine 2024-10-31 15:49:27 -04:00
isa_pci.c Replace calls to bus_generic_probe with bus_identify_children 2024-12-06 17:26:05 -05:00
pci.c pci: Add hw.pci.intx_reroute sysctl/tunable 2025-04-23 08:19:28 -07:00
pci_dw.c newbus: globally replace device_add_child(..., -1) with DEVICE_UNIT_ANY 2024-07-24 22:22:58 -06:00
pci_dw.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pci_dw_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
pci_dw_mv.c Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
pci_host_generic.c pci_host_generic: Use SYS_RES_MEMORY for the parent of I/O resource ranges 2025-01-21 11:02:34 -05:00
pci_host_generic.h pci: avoid accidental clobbering of regs on some fdt platforms 2024-12-28 21:57:03 -06:00
pci_host_generic_acpi.c sys: Make the iommu xref uintptr_t 2025-04-08 11:48:22 +01:00
pci_host_generic_acpi.h pci_host_generic:Add pcib_request_feature on ACPI 2024-12-12 18:00:23 +00:00
pci_host_generic_den0115.c Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
pci_host_generic_fdt.c sys: Make the iommu xref uintptr_t 2025-04-08 11:48:22 +01:00
pci_host_generic_fdt.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pci_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
pci_iov.c Replace calls to bus_generic_attach with bus_attach_children 2024-12-06 17:26:16 -05:00
pci_iov.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pci_iov_if.m sys: Remove $FreeBSD$: one-line sh pattern 2023-08-16 11:54:58 -06:00
pci_iov_private.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
pci_iov_schema.c iovctl: allow vlan restrictions to be passed to the driver 2024-06-17 10:50:15 +02:00
pci_pci.c pcib: Clear any pending slot status events during attach 2025-04-21 22:08:17 -04:00
pci_private.h pci: Renove #ifdef PCI_IOV from declarations now used unconditionally 2024-08-08 23:35:09 +01:00
pci_subr.c Retire unused non-PCI_RES_BUS code 2024-07-18 18:55:33 +01:00
pci_user.c pci_user.c: Cosmetic fixes 2024-11-13 11:10:27 -05:00
pcib_if.m pci: Fix typo (triple S) 2023-12-27 20:24:31 -07:00
pcib_private.h Retire unused non-PCI_RES_BUS code 2024-07-18 18:55:33 +01:00
pcib_support.c sys: Remove $FreeBSD$: one-line .c pattern 2023-08-16 11:54:36 -06:00
pcireg.h pci: Don't cache the count of MSI/MSI-X messages before allocation 2025-02-11 09:11:48 -05:00
pcivar.h sys: Make the iommu xref uintptr_t 2025-04-08 11:48:22 +01:00
schema_private.h sys: Remove $FreeBSD$: two-line .h pattern 2023-08-16 11:54:11 -06:00
vga_pci.c Use the new bus_generic_detach directly in place of home-grown versions 2025-01-02 13:22:20 -05:00