vmm(4), bhyve(8): Expose kernel-emulated special devices to userspace
authorConrad Meyer <cem@FreeBSD.org>
Fri, 15 May 2020 15:54:22 +0000 (15:54 +0000)
committerConrad Meyer <cem@FreeBSD.org>
Fri, 15 May 2020 15:54:22 +0000 (15:54 +0000)
commit8a68ae80f67adcb35e6f9712384a3da6dca26de2
tree759861464c206768f72c1a5c998d28a4a180bfb2
parente240ce42bf1fe705bbd2ba78a4761eee675fb786
vmm(4), bhyve(8): Expose kernel-emulated special devices to userspace

Expose the special kernel LAPIC, IOAPIC, and HPET devices to userspace
for use in, e.g., fallback instruction emulation (when userspace has a
newer instruction decode/emulation layer than the kernel vmm(4)).

Plumb the ioctl through libvmmapi and register the memory ranges in
bhyve(8).

Reviewed by: grehan
Differential Revision: https://reviews.freebsd.org/D24525
lib/libvmmapi/vmmapi.c
lib/libvmmapi/vmmapi.h
sys/amd64/include/vmm_dev.h
sys/amd64/vmm/vmm_dev.c
usr.sbin/bhyve/Makefile
usr.sbin/bhyve/bhyverun.c
usr.sbin/bhyve/kernemu_dev.c [new file with mode: 0644]
usr.sbin/bhyve/kernemu_dev.h [new file with mode: 0644]