Date: Fri, 6 Jun 2014 12:56:53 -0500 From: David Young <[email protected]>
Here is the proposal that I came up with many months (a few years?) ago with input from Matt Thomas. I have tried to account for Matt's requirements, but I'm not sure that I have done so. For those ignoramuses among us who remain perplexed by the apparent difficulty of using a new interrupt delivery mechanism, could you add some notes to your proposal about what driver authors would need to know about it and when & how one would use it in a driver? Would all architectures with PCI support bus_msi(9), or would PCI device drivers need to conditionally use it? Why isn't it just a matter of modifying pci_intr_map, or calling pci_intr_map_msi like in OpenBSD? Would there be other non-PCI buses with message-signalled interrupts too? (Still not having done my homework to study what this MSI business is all about, I'll note parenthetically that it seems FreeBSD and OpenBSD have supported MSI for a while, and I understand neither why it was so easy for them nor what advantage they lack by not having bus_msi(9).)
