Pci Msi x interrupt enumeration

Hi
I wanted to know how do pci function driver knows about how many Msi/ msix interrupts are available on device. do Acpi has that accurate info? In some driver i have seen people creating Interrupt object for MAX_MSI_RANGE.

Thanks

Well, first… you need to know how many interrupts your device supports. You indicate this in your INF file.

Then I/O manager will grant you some sub-set of those interrupts (maybe all of them, maybe less). You figure this out with your EvtDevicePrepareHardware. Exactly how you do this isn’t real clear in the docs.

From our seminar:

image