freebsd-nq/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
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
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
inout.c Factor out common ioport handler code for better hygiene -- pointed 2014-04-22 16:13:56 +00:00
inout.h
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
mem.h
mevent_test.c
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
mptbl.c Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
mptbl.h
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
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
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
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
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