Add HPET device emulation to bhyve.
authorneel <neel@FreeBSD.org>
Mon, 25 Nov 2013 19:04:51 +0000 (19:04 +0000)
committerneel <neel@FreeBSD.org>
Mon, 25 Nov 2013 19:04:51 +0000 (19:04 +0000)
commit89dbc92028f9ab8548675d88e47f08f520ecde12
tree5d29fe534d31ddc45fa2bf63ae3f535aec050003
parent2f61636cf871204be51aed93531356162b74c261
Add HPET device emulation to bhyve.

bhyve supports a single timer block with 8 timers. The timers are all 32-bit
and capable of being operated in periodic mode. All timers support interrupt
delivery using MSI. Timers 0 and 1 also support legacy interrupt routing.

At the moment the timers are not connected to any ioapic pins but that will
be addressed in a subsequent commit.

This change is based on a patch from Tycho Nightingale (tycho.nightingale@pluribusnetworks.com).
lib/libvmmapi/vmmapi.c
lib/libvmmapi/vmmapi.h
sys/amd64/include/vmm.h
sys/amd64/include/vmm_dev.h
sys/amd64/vmm/io/vhpet.c [new file with mode: 0644]
sys/amd64/vmm/io/vhpet.h [copied from sys/amd64/vmm/io/vioapic.h with 71% similarity]
sys/amd64/vmm/io/vioapic.h
sys/amd64/vmm/vmm.c
sys/amd64/vmm/vmm_dev.c
sys/modules/vmm/Makefile
usr.sbin/bhyve/acpi.c