diff options
author | neel <neel@FreeBSD.org> | 2013-02-01 02:41:47 +0000 |
---|---|---|
committer | neel <neel@FreeBSD.org> | 2013-02-01 02:41:47 +0000 |
commit | 803db8c37c2516174b23103ab861a500599042dc (patch) | |
tree | 1ac97e1077d1065ad76a96893001e6ea94de8ada /usr.sbin/bhyve/pci_emul.h | |
parent | c9a45ab898c8adbadbd15cf73d00a9dbf1d4ba52 (diff) | |
download | FreeBSD-src-803db8c37c2516174b23103ab861a500599042dc.zip FreeBSD-src-803db8c37c2516174b23103ab861a500599042dc.tar.gz |
Fix a bug in the passthru implementation where it would assume that all
devices are MSI-X capable. This in turn would lead it to treat bar 0 as
the MSI-X table bar even if the underlying device did not support MSI-X.
Fix this by providing an API to query the MSI-X table index of the emulated
device. If the underlying device does not support MSI-X then this API will
return -1.
Obtained from: NetApp
Diffstat (limited to 'usr.sbin/bhyve/pci_emul.h')
-rw-r--r-- | usr.sbin/bhyve/pci_emul.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/usr.sbin/bhyve/pci_emul.h b/usr.sbin/bhyve/pci_emul.h index 5338aec..8c6260c 100644 --- a/usr.sbin/bhyve/pci_emul.h +++ b/usr.sbin/bhyve/pci_emul.h @@ -169,6 +169,8 @@ void pci_lintr_deassert(struct pci_devinst *pi); int pci_lintr_request(struct pci_devinst *pi, int ivec); int pci_msi_enabled(struct pci_devinst *pi); int pci_msix_enabled(struct pci_devinst *pi); +int pci_msix_table_bar(struct pci_devinst *pi); +int pci_msix_pba_bar(struct pci_devinst *pi); int pci_msi_msgnum(struct pci_devinst *pi); void pci_parse_slot(char *opt, int legacy); void pci_populate_msicap(struct msicap *cap, int msgs, int nextptr); |