8a68ae80f6
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
125 lines
2.0 KiB
Makefile
125 lines
2.0 KiB
Makefile
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
.include <src.opts.mk>
|
|
CFLAGS+=-I${SRCTOP}/sys
|
|
.PATH: ${SRCTOP}/sys/cam/ctl
|
|
|
|
PROG= bhyve
|
|
PACKAGE= bhyve
|
|
|
|
MAN= bhyve.8
|
|
|
|
BHYVE_SYSDIR?=${SRCTOP}
|
|
|
|
SRCS= \
|
|
atkbdc.c \
|
|
acpi.c \
|
|
audio.c \
|
|
bhyvegc.c \
|
|
bhyverun.c \
|
|
block_if.c \
|
|
bootrom.c \
|
|
console.c \
|
|
consport.c \
|
|
ctl_util.c \
|
|
ctl_scsi_all.c \
|
|
dbgport.c \
|
|
fwctl.c \
|
|
gdb.c \
|
|
hda_codec.c \
|
|
inout.c \
|
|
ioapic.c \
|
|
kernemu_dev.c \
|
|
mem.c \
|
|
mevent.c \
|
|
mptbl.c \
|
|
net_backends.c \
|
|
net_utils.c \
|
|
pci_ahci.c \
|
|
pci_e82545.c \
|
|
pci_emul.c \
|
|
pci_hda.c \
|
|
pci_fbuf.c \
|
|
pci_hostbridge.c \
|
|
pci_irq.c \
|
|
pci_lpc.c \
|
|
pci_nvme.c \
|
|
pci_passthru.c \
|
|
pci_virtio_block.c \
|
|
pci_virtio_console.c \
|
|
pci_virtio_net.c \
|
|
pci_virtio_rnd.c \
|
|
pci_virtio_scsi.c \
|
|
pci_uart.c \
|
|
pci_xhci.c \
|
|
pm.c \
|
|
post.c \
|
|
ps2kbd.c \
|
|
ps2mouse.c \
|
|
rfb.c \
|
|
rtc.c \
|
|
smbiostbl.c \
|
|
sockstream.c \
|
|
task_switch.c \
|
|
uart_emul.c \
|
|
usb_emul.c \
|
|
usb_mouse.c \
|
|
virtio.c \
|
|
vga.c \
|
|
vmgenc.c \
|
|
xmsr.c \
|
|
spinup_ap.c \
|
|
iov.c
|
|
|
|
.if ${MK_BHYVE_SNAPSHOT} != "no"
|
|
SRCS+= snapshot.c
|
|
.endif
|
|
|
|
CFLAGS.kernemu_dev.c+= -I${SRCTOP}/sys/amd64
|
|
|
|
.PATH: ${BHYVE_SYSDIR}/sys/amd64/vmm
|
|
SRCS+= vmm_instruction_emul.c
|
|
|
|
LIBADD= vmmapi md pthread z util sbuf cam
|
|
.if ${MK_BHYVE_SNAPSHOT} != "no"
|
|
LIBADD+= ucl xo
|
|
.endif
|
|
|
|
.if ${MK_INET_SUPPORT} != "no"
|
|
CFLAGS+=-DINET
|
|
.endif
|
|
.if ${MK_INET6_SUPPORT} != "no"
|
|
CFLAGS+=-DINET6
|
|
.endif
|
|
.if ${MK_NETGRAPH_SUPPORT} != "no"
|
|
CFLAGS+=-DNETGRAPH
|
|
LIBADD+= netgraph
|
|
.endif
|
|
.if ${MK_OPENSSL} == "no"
|
|
CFLAGS+=-DNO_OPENSSL
|
|
.else
|
|
LIBADD+= crypto
|
|
.endif
|
|
|
|
CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/e1000
|
|
CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/mii
|
|
CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/usb/controller
|
|
.if ${MK_BHYVE_SNAPSHOT} != "no"
|
|
CFLAGS+= -I${SRCTOP}/contrib/libucl/include
|
|
|
|
# Temporary disable capsicum, until we integrate checkpoint code with it.
|
|
CFLAGS+= -DWITHOUT_CAPSICUM
|
|
|
|
CFLAGS+= -DBHYVE_SNAPSHOT
|
|
.endif
|
|
|
|
.ifdef GDB_LOG
|
|
CFLAGS+=-DGDB_LOG
|
|
.endif
|
|
|
|
WARNS?= 2
|
|
|
|
.include <bsd.prog.mk>
|