HomeFreeBSD

INTRNG: Rework handling with resources. Partially revert r301453.

Description

INTRNG: Rework handling with resources. Partially revert r301453.

  • Read interrupt properties at bus enumeration time and store it into global mapping table.
  • At bus_activate_resource() time, given mapping entry is resolved and connected to real interrupt source. A copy of mapping entry is attached to given resource.
  • At bus_setup_intr() time, mapping entry stored in resource is used for delivery of requested interrupt configuration.
  • For MSI/MSIX interrupts, mapping entry is created within pci_alloc_msi()/pci_alloc_msix() call.
  • For legacy PCI interrupts, mapping entry must be created within pcib_route_interrupt() by pcib driver itself.

Reviewed by: nwhitehorn, andrew
Differential Revision: https://reviews.freebsd.org/D7493