diff --git a/usr.sbin/bhyve/pci_emul.c b/usr.sbin/bhyve/pci_emul.c --- a/usr.sbin/bhyve/pci_emul.c +++ b/usr.sbin/bhyve/pci_emul.c @@ -1952,7 +1952,8 @@ mte = &pi->pi_msix.table[index]; if ((mte->vector_control & PCIM_MSIX_VCTRL_MASK) == 0) { /* XXX Set PBA bit if interrupt is disabled */ - vm_lapic_msi(pi->pi_vmctx, mte->addr, mte->msg_data); + vm_raise_msi(pi->pi_vmctx, mte->addr, mte->msg_data, + pi->pi_bus, pi->pi_slot, pi->pi_func); } } @@ -1961,8 +1962,9 @@ { if (pci_msi_enabled(pi) && index < pci_msi_maxmsgnum(pi)) { - vm_lapic_msi(pi->pi_vmctx, pi->pi_msi.addr, - pi->pi_msi.msg_data + index); + vm_raise_msi(pi->pi_vmctx, pi->pi_msi.addr, + pi->pi_msi.msg_data + index, + pi->pi_bus, pi->pi_slot, pi->pi_func); } }