let's not forget my favourite mis-feature of MSI/MSI-X: if you misconfigure the address, interrupts might cause main memory to be corrupted. i've seen this happen, and it was rather difficult to diagnose the real culprit..
i'm a little confused about bus_msi(9) -- pci_intr(9) is already an MD interface, so if it was extended or if we copied the pci_intr_map_msi() functions from elsewhere, it's still MD code we have to write. what does bus_msi(9) add? who would use it? .mrg.
