freebsd-src/usr.sbin/bhyve
Neel Natu b5b28fc9dc Add support for level triggered interrupt pins on the vioapic. Prior to this
commit level triggered interrupts would work as long as the pin was not shared
among multiple interrupt sources.

The vlapic now keeps track of level triggered interrupts in the trigger mode
register and will forward the EOI for a level triggered interrupt to the
vioapic. The vioapic in turn uses the EOI to sample the level on the pin and
re-inject the vector if the pin is still asserted.

The vhpet is the first consumer of level triggered interrupts and advertises
that it can generate interrupts on pins 20 through 23 of the vioapic.

Discussed with:	grehan@
2013-11-27 22:18:08 +00:00
..
acpi.c Add support for level triggered interrupt pins on the vioapic. Prior to this 2013-11-27 22:18:08 +00:00
acpi.h Make the virtual ioapic available unconditionally in a bhyve virtual machine. 2013-10-31 05:44:45 +00:00
ahci.h Import Zhixiang Yu's GSoC'13 AHCI emulation: 2013-10-04 18:31:38 +00:00
atpic.c Allow 8259 registers to be read. This is a transient condition 2013-06-28 06:25:04 +00:00
bhyverun.c Move the ioapic device model from userspace into vmm.ko. This is needed for 2013-11-12 22:51:03 +00:00
bhyverun.h Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
block_if.c Add the VM name to the process name with setproctitle(). 2013-11-06 00:25:17 +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
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 Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
legacy_irq.c Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
legacy_irq.h Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
Makefile Move the ioapic device model from userspace into vmm.ko. This is needed for 2013-11-12 22:51:03 +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.c Add the VM name to the process name with setproctitle(). 2013-11-06 00:25:17 +00:00
mevent.h Add simplistic periodic timer support to mevent using kqueue's 2013-09-19 04:48:26 +00:00
mevent_test.c Add simplistic periodic timer support to mevent using kqueue's 2013-09-19 04:48:26 +00:00
mptbl.c Add support for level triggered interrupt pins on the vioapic. Prior to this 2013-11-27 22:18:08 +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 The Data Byte Count (DBC) field of a Physical Region Descriptor 2013-11-26 03:00:54 +00:00
pci_emul.c Add an ioctl to assert and deassert an ioapic pin atomically. This will be used 2013-11-23 03:56:03 +00:00
pci_emul.h Add an ioctl to assert and deassert an ioapic pin atomically. This will be used 2013-11-23 03:56:03 +00:00
pci_hostbridge.c Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
pci_lpc.c Add an ioctl to assert and deassert an ioapic pin atomically. This will be used 2013-11-23 03:56:03 +00:00
pci_lpc.h Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
pci_passthru.c Convert the offset into the bar that contains the MSI-X table to an offset 2013-03-11 17:36:37 +00:00
pci_uart.c Add support for PCI-to-ISA LPC bridge emulation. If the LPC bus is attached 2013-10-29 00:18:11 +00:00
pci_virtio_block.c Export the block size capability to guests. 2013-10-23 18:54:58 +00:00
pci_virtio_net.c Add the VM name to the process name with setproctitle(). 2013-11-06 00:25:17 +00:00
pit_8254.c Add an ioctl to assert and deassert an ioapic pin atomically. This will be used 2013-11-23 03:56:03 +00:00
pit_8254.h
pmtmr.c Unsynchronized TSCs on the host require special handling in bhyve: 2013-04-10 05:59:07 +00:00
post.c
rtc.c Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +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 Pass the number of supported vectors to pci_emul_add_msicap() and 2013-09-17 18:42:13 +00:00
virtio.h Major rework of the virtio code. Split out common parts, and modify 2013-07-17 23:37:33 +00:00
xmsr.c
xmsr.h