freebsd-skq/usr.sbin/bhyve
John Baldwin 3cbf3585cb 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
2014-01-29 14:56:48 +00:00
..
acpi.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
acpi.h Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
ahci.h Import Zhixiang Yu's GSoC'13 AHCI emulation: 2013-10-04 18:31:38 +00:00
atpic.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
bhyve.8 Remove support for legacy PCI devices. These haven't been needed since 2014-01-27 22:26:15 +00:00
bhyverun.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
bhyverun.h Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
block_if.c Increase the block-layer backend maximum number of requests to match 2014-01-22 01:56:49 +00:00
block_if.h Block-layer backend interface for bhyve block-io device emulations. 2013-10-04 16:52:03 +00:00
consport.c Improve PCI BAR emulation: 2013-04-10 02:12:39 +00:00
dbgport.c Improve PCI BAR emulation: 2013-04-10 02:12:39 +00:00
dbgport.h Change the behavior of bhyve such that the gdb listening port is opt-in 2013-10-08 16:36:17 +00:00
elcr.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
inout.c Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
inout.h Support soft power-off via the ACPI S5 state for bhyve guests. 2013-12-24 16:14:19 +00:00
ioapic.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
ioapic.h Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
Makefile Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
mem.c Remove obsolete comment about lack of locking for MMIO range lookup. 2013-04-10 18:53:14 +00:00
mem.h Improve PCI BAR emulation: 2013-04-10 02:12:39 +00:00
mevent_test.c Add simplistic periodic timer support to mevent using kqueue's 2013-09-19 04:48:26 +00:00
mevent.c Extend the ACPI power management support to wire a virtual power button up 2013-12-28 04:01:05 +00:00
mevent.h Extend the ACPI power management support to wire a virtual power button up 2013-12-28 04:01:05 +00:00
mptbl.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
mptbl.h Make the virtual ioapic available unconditionally in a bhyve virtual machine. 2013-10-31 05:44:45 +00:00
pci_ahci.c Fix issue with stale fields from a recycled request pulled off the freelist. 2014-01-22 01:57:52 +00:00
pci_emul.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
pci_emul.h Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
pci_hostbridge.c Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
pci_lpc.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
pci_lpc.h Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
pci_passthru.c Rename the ambiguously named 'vm_setup_msi()' and 'vm_setup_msix()' to 2013-12-18 03:58:51 +00:00
pci_uart.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
pci_virtio_block.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
pci_virtio_net.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
pit_8254.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
pit_8254.h
pm.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
pmtmr.c Extend the ACPI power management support to wire a virtual power button up 2013-12-28 04:01:05 +00:00
post.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
rtc.c Rework the DSDT generation code a bit to generate more accurate info about 2014-01-02 21:26:59 +00:00
rtc.h Implement RTC CMOS nvram. Init some fields that are used 2013-07-11 03:54:35 +00:00
spinup_ap.c Add a new capability, VM_CAP_ENABLE_INVPCID, that can be enabled to expose 2013-10-16 18:20:27 +00:00
spinup_ap.h
uart_emul.c Allow bhyve and bhyveload to attach to tty devices. 2013-11-27 00:21:37 +00:00
uart_emul.h Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
virtio.c Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
virtio.h Enhance the support for PCI legacy INTx interrupts and enable them in 2014-01-29 14:56:48 +00:00
xmsr.c Add an option to ignore accesses by the guest to unimplemented MSRs. 2013-12-19 22:27:28 +00:00
xmsr.h Add an option to ignore accesses by the guest to unimplemented MSRs. 2013-12-19 22:27:28 +00:00