opnsense-src/sys/dev/pci
Chandrakanth Patil f795179987 pci_iov: Support dynamic subordinate bus growth during VF creation
Certain SR-IOV devices enumerate Virtual Functions (VFs) on a different
PCIe bus than their parent Physical Function (PF).  In such cases, the
default subordinate bus range assigned by BIOS may be insufficient to cover
all VFs.

This patch dynamically expands the subordinate bus range by:
- Allocating additional bus numbers using bus_alloc_resource() when VFs are
  initialized
- Releasing the reserved bus range during VF deletion via
  bus_release_resource()

Reviewed by:	jhb
2025-07-29 15:09:53 -04: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: Save MSIX ctrl value before pci_mask_msix call 2025-06-17 21:17:21 +02:00
pci_dw.c sys: Reduce where we include sys/devmap.h 2025-05-02 16:39:04 +01: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 sys: Reduce where we include sys/devmap.h 2025-05-02 16:39:04 +01: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 newbus: replace leftover device unit wildcards 2025-06-21 05:57:45 +03: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 pci_iov: Support dynamic subordinate bus growth during VF creation 2025-07-29 15:09:53 -04: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 pci_iov: Support dynamic subordinate bus growth during VF creation 2025-07-29 15:09:53 -04:00
pci_iov_schema.c machine/stdarg.h -> sys/stdarg.h 2025-06-11 17:39:02 +01: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