freebsd-dev/sys/amd64/vmm/io
Peter Grehan a48c333805 Allow the PIC's IMR register to be read before ICW initialisation.
As of git submit e179f6914152eca9, the Linux kernel does a simple
probe of the PIC by writing a pattern to the IMR and then reading it
back, prior to the init sequence of ICW words.

The bhyve PIC emulation wasn't allowing the IMR to be read until
the ICW sequence was complete. This limitation isn't required so
relax the test.

With this change, Linux kernels 3.15-rc2 and later won't hang
on boot when calibrating the local APIC.

Reviewed by:	tychon
MFC after:	3 days
2014-09-27 01:15:24 +00:00
..
iommu.c Re-write bhyve's I/O MMU handling in terms of PCI RID. 2014-04-01 15:54:03 +00:00
iommu.h Re-write bhyve's I/O MMU handling in terms of PCI RID. 2014-04-01 15:54:03 +00:00
ppt.c Re-write bhyve's I/O MMU handling in terms of PCI RID. 2014-04-01 15:54:03 +00:00
ppt.h There is no need to initialize the IOMMU if no passthru devices have been 2014-01-21 03:01:34 +00:00
vatpic.c Allow the PIC's IMR register to be read before ICW initialisation. 2014-09-27 01:15:24 +00:00
vatpic.h Implement a PCI interrupt router to route PCI legacy INTx interrupts to 2014-05-15 14:16:55 +00:00
vatpit.c Add support for the PIT 'readback' command -- based on a patch by grehan@. 2014-04-18 16:05:12 +00:00
vatpit.h Respect the destination operand size of the 'Input from Port' instruction. 2014-04-18 15:22:56 +00:00
vhpet.c Replace the userspace atpic stub with a more functional vmm.ko model. 2014-03-11 16:56:00 +00:00
vhpet.h Add HPET device emulation to bhyve. 2013-11-25 19:04:51 +00:00
vioapic.c Use spinlocks to lock accesses to the vioapic. 2014-02-17 22:57:51 +00:00
vioapic.h Add support for level triggered interrupt pins on the vioapic. Prior to this 2013-11-27 22:18:08 +00:00
vlapic_priv.h Fix a race wherein the source of an interrupt vector is wrongly 2014-03-15 23:09:34 +00:00
vlapic.c Add some more KTR events to help debugging. 2014-09-20 05:13:03 +00:00
vlapic.h Add reserved bit checking when doing %CR8 emulation and inject #GP if required. 2014-06-09 20:51:08 +00:00