HomeFreeBSD

Add an ioapic_get_rid() function to obtain PCIe TLP requester-id for

Description

Add an ioapic_get_rid() function to obtain PCIe TLP requester-id for
the interrupt messages from given IOAPIC, if the IOAPIC can be
enumerated on PCI bus.

If IOAPIC has PCI binding, match the PCI device against MADT
enumerated IOAPIC. Match is done first by registers window physical
address, then by IOAPIC ID as read from the APIC ID register.

PCI bsf address of the matched PCI device is the rid.

Reviewed by: jhb
Sponsored by: The FreeBSD Foundation
Hardware provided by: Intel
MFC after: 2 weeks
X-Differential revision: https://reviews.freebsd.org/D12205

Details

Provenance
kibAuthored on
Reviewer
jhb
Parents
rS323324: Add a constant specifying the min size of the IOAPIC registers window.
Branches
Unknown
Tags
Unknown