freebsd-skq/usr.sbin/bhyve
John Baldwin b3e9732a76 Implement a PCI interrupt router to route PCI legacy INTx interrupts to
the legacy 8259A PICs.
- Implement an ICH-comptabile PCI interrupt router on the lpc device with
  8 steerable pins configured via config space access to byte-wide
  registers at 0x60-63 and 0x68-6b.
- For each configured PCI INTx interrupt, route it to both an I/O APIC
  pin and a PCI interrupt router pin.  When a PCI INTx interrupt is
  asserted, ensure that both pins are asserted.
- Provide an initial routing of PCI interrupt router (PIRQ) pins to
  8259A pins (ISA IRQs) and initialize the interrupt line config register
  for the corresponding PCI function with the ISA IRQ as this matches
  existing hardware.
- Add a global _PIC method for OSPM to select the desired interrupt routing
  configuration.
- Update the _PRT methods for PCI bridges to provide both APIC and legacy
  PRT tables and return the appropriate table based on the configured
  routing configuration.  Note that if the lpc device is not configured, no
  routing information is provided.
- When the lpc device is enabled, provide ACPI PCI link devices corresponding
  to each PIRQ pin.
- Add a VMM ioctl to adjust the trigger mode (edge vs level) for 8259A
  pins via the ELCR.
- Mark the power management SCI as level triggered.
- Don't hardcode the number of elements in Packages in the source for
  the DSDT.  iasl(8) will fill in the actual number of elements, and
  this makes it simpler to generate a Package with a variable number of
  elements.

Reviewed by:	tycho
2014-05-15 14:16:55 +00:00
..
acpi.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
acpi.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
ahci.h Import Zhixiang Yu's GSoC'13 AHCI emulation: 2013-10-04 18:31:38 +00:00
atkbdc.c Provide a very basic stub for the 8042 PS/2 keyboard controller. 2014-04-25 13:38:18 +00:00
bhyve.8 Don't include the guest memory segments in the bhyve(8) process core dump. 2014-05-13 16:40:27 +00:00
bhyverun.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
bhyverun.h Use 'cpuset_t' to represent the vcpus active in a virtual machine. 2014-03-20 18:15:37 +00:00
block_if.c Use calloc() in favor of malloc + memset. 2014-04-22 18:55:21 +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 Handle single-byte reads from the bvmcons port (0x220) by returning 2014-04-08 21:02:03 +00:00
dbgport.c Mark the I/O ports used by the bhyve console and debug devices as system 2014-02-07 20:53:41 +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
inout.c Factor out common ioport handler code for better hygiene -- pointed 2014-04-22 16:13:56 +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 Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +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 Re-adding an event to a kqueue modifies the parameters of the original event. 2014-05-05 16:30:03 +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 Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +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 Implement legacy interrupts for the AHCI device emulation 2014-04-28 18:41:25 +00:00
pci_emul.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
pci_emul.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
pci_hostbridge.c Changes required for OpenBSD/amd64: 2013-10-17 22:01:17 +00:00
pci_irq.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
pci_irq.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
pci_lpc.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
pci_lpc.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
pci_passthru.c Use calloc() in favor of malloc + memset. 2014-04-22 18:55:21 +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 Use calloc() in favor of malloc + memset. 2014-04-22 18:55:21 +00:00
pci_virtio_net.c Use calloc() in favor of malloc + memset. 2014-04-22 18:55:21 +00:00
pci_virtio_rnd.c Use calloc() in favor of malloc + memset. 2014-04-22 18:55:21 +00:00
pm.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +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
smbiostbl.c Add SMBIOS support. 2014-03-04 17:12:06 +00:00
smbiostbl.h Add SMBIOS support. 2014-03-04 17:12:06 +00:00
spinup_ap.c Use 'cpuset_t' to represent the vcpus active in a virtual machine. 2014-03-20 18:15:37 +00:00
spinup_ap.h
uart_emul.c Disable the 'uart_drain()' callback when the emulated receive FIFO is full. 2014-05-05 23:54:13 +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 Add support for the virtio RNG entropy-source device. 2014-04-02 20:18:17 +00:00
xmsr.c Ignore writes to microcode update MSR. This MSR is accessed by RHEL7 guest. 2014-04-30 02:08:27 +00:00
xmsr.h Add an option to ignore accesses by the guest to unimplemented MSRs. 2013-12-19 22:27:28 +00:00