diff options
author | John Baldwin <jhb@FreeBSD.org> | 2014-01-29 14:56:48 +0000 |
---|---|---|
committer | John Baldwin <jhb@FreeBSD.org> | 2014-01-29 14:56:48 +0000 |
commit | 3cbf3585cbab66fad22dbdc3fe5f983ee86f02d3 (patch) | |
tree | 09685dd2341b1fb3a81952684f6e4b12e50ee984 /usr.sbin/bhyve/pci_uart.c | |
parent | 819c6bfc81b20fb71c21876abefbc0b7ca527ba4 (diff) |
Enhance the support for PCI legacy INTx interrupts and enable them in
the virtio backends.
- Add a new ioctl to export the count of pins on the I/O APIC from vmm
to the hypervisor.
- Use pins on the I/O APIC >= 16 for PCI interrupts leaving 0-15 for
ISA interrupts.
- Populate the MP Table with I/O interrupt entries for any PCI INTx
interrupts.
- Create a _PRT table under the PCI root bridge in ACPI to route any
PCI INTx interrupts appropriately.
- Track which INTx interrupts are in use per-slot so that functions
that share a slot attempt to distribute their INTx interrupts across
the four available pins.
- Implicitly mask INTx interrupts if either MSI or MSI-X is enabled
and when the INTx DIS bit is set in a function's PCI command register.
Either assert or deassert the associated I/O APIC pin when the
state of one of those conditions changes.
- Add INTx support to the virtio backends.
- Always advertise the MSI capability in the virtio backends.
Submitted by: neel (7)
Reviewed by: neel
MFC after: 2 weeks
Notes
Notes:
svn path=/head/; revision=261268
Diffstat (limited to 'usr.sbin/bhyve/pci_uart.c')
-rw-r--r-- | usr.sbin/bhyve/pci_uart.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/usr.sbin/bhyve/pci_uart.c b/usr.sbin/bhyve/pci_uart.c index 38df83279ad8..21b93bfd696b 100644 --- a/usr.sbin/bhyve/pci_uart.c +++ b/usr.sbin/bhyve/pci_uart.c @@ -91,7 +91,7 @@ pci_uart_init(struct vmctx *ctx, struct pci_devinst *pi, char *opts) struct uart_softc *sc; pci_emul_alloc_bar(pi, 0, PCIBAR_IO, UART_IO_BAR_SIZE); - pci_lintr_request(pi, -1); + pci_lintr_request(pi); /* initialize config space */ pci_set_cfgdata16(pi, PCIR_DEVICE, COM_DEV); |