2011-05-13 04:54:01 +00:00
|
|
|
#
|
|
|
|
# $FreeBSD$
|
|
|
|
#
|
|
|
|
|
2017-06-02 02:35:16 +00:00
|
|
|
.include <src.opts.mk>
|
2018-06-11 02:09:20 +00:00
|
|
|
CFLAGS+=-I${SRCTOP}/sys
|
|
|
|
.PATH: ${SRCTOP}/sys/cam/ctl
|
2017-06-02 02:35:16 +00:00
|
|
|
|
2011-05-13 04:54:01 +00:00
|
|
|
PROG= bhyve
|
2015-03-05 07:30:48 +00:00
|
|
|
PACKAGE= bhyve
|
2011-05-13 04:54:01 +00:00
|
|
|
|
2013-12-13 08:31:13 +00:00
|
|
|
MAN= bhyve.8
|
2014-01-03 19:31:40 +00:00
|
|
|
|
2016-04-20 17:05:32 +00:00
|
|
|
BHYVE_SYSDIR?=${SRCTOP}
|
2016-04-10 05:58:19 +00:00
|
|
|
|
2014-01-03 19:31:40 +00:00
|
|
|
SRCS= \
|
2014-04-25 13:38:18 +00:00
|
|
|
atkbdc.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
acpi.c \
|
2019-06-25 06:14:05 +00:00
|
|
|
audio.c \
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
bhyvegc.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
bhyverun.c \
|
|
|
|
block_if.c \
|
2015-06-18 06:00:17 +00:00
|
|
|
bootrom.c \
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
console.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
consport.c \
|
2018-06-11 02:09:20 +00:00
|
|
|
ctl_util.c \
|
|
|
|
ctl_scsi_all.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
dbgport.c \
|
2015-10-02 21:09:49 +00:00
|
|
|
fwctl.c \
|
2018-05-01 15:17:46 +00:00
|
|
|
gdb.c \
|
2019-06-25 06:14:05 +00:00
|
|
|
hda_codec.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
inout.c \
|
2014-01-29 14:56:48 +00:00
|
|
|
ioapic.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
mem.c \
|
|
|
|
mevent.c \
|
|
|
|
mptbl.c \
|
2019-06-13 17:39:32 +00:00
|
|
|
net_utils.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
pci_ahci.c \
|
2016-07-09 20:41:59 +00:00
|
|
|
pci_e82545.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
pci_emul.c \
|
2019-06-25 06:14:05 +00:00
|
|
|
pci_hda.c \
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
pci_fbuf.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
pci_hostbridge.c \
|
2014-05-15 14:16:55 +00:00
|
|
|
pci_irq.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
pci_lpc.c \
|
- Add bhyve NVMe device emulation.
The initial work on bhyve NVMe device emulation was done by the GSoC student
Shunsuke Mie and was heavily modified in performan, functionality and
guest support by Leon Dang.
bhyve:
-s <n>,nvme,devpath,maxq=#,qsz=#,ioslots=#,sectsz=#,ser=A-Z
accepted devpath:
/dev/blockdev
/path/to/image
ram=size_in_MiB
Tested with guest OS: FreeBSD Head, Linux Fedora fc27, Ubuntu 18.04,
OpenSuse 15.0, Windows Server 2016 Datacenter.
Tested with all accepted device paths: Real nvme, zdev and also with ram.
Tested on: AMD Ryzen Threadripper 1950X 16-Core Processor and
Intel(R) Xeon(R) CPU E5-2609 v2 @ 2.50GHz.
Tests at: https://people.freebsd.org/~araujo/bhyve_nvme/nvme.txt
Submitted by: Shunsuke Mie <sux2mfgj_gmail.com>,
Leon Dang <leon_digitalmsx.com>
Reviewed by: chuck (early version), grehan
Relnotes: Yes
Sponsored by: iXsystems Inc.
Differential Revision: https://reviews.freebsd.org/D14022
2018-07-05 03:33:58 +00:00
|
|
|
pci_nvme.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
pci_passthru.c \
|
|
|
|
pci_virtio_block.c \
|
2016-09-17 13:48:01 +00:00
|
|
|
pci_virtio_console.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
pci_virtio_net.c \
|
2014-04-02 20:18:17 +00:00
|
|
|
pci_virtio_rnd.c \
|
2018-06-11 02:09:20 +00:00
|
|
|
pci_virtio_scsi.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
pci_uart.c \
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
pci_xhci.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
pm.c \
|
|
|
|
post.c \
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
ps2kbd.c \
|
|
|
|
ps2mouse.c \
|
|
|
|
rfb.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
rtc.c \
|
2014-03-04 17:12:06 +00:00
|
|
|
smbiostbl.c \
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
sockstream.c \
|
2014-07-16 21:26:26 +00:00
|
|
|
task_switch.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
uart_emul.c \
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
usb_emul.c \
|
|
|
|
usb_mouse.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
virtio.c \
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
vga.c \
|
2014-01-03 19:31:40 +00:00
|
|
|
xmsr.c \
|
2018-06-11 02:09:20 +00:00
|
|
|
spinup_ap.c \
|
|
|
|
iov.c
|
2011-05-13 04:54:01 +00:00
|
|
|
|
2016-04-20 17:05:32 +00:00
|
|
|
.PATH: ${BHYVE_SYSDIR}/sys/amd64/vmm
|
2012-11-28 00:02:17 +00:00
|
|
|
SRCS+= vmm_instruction_emul.c
|
|
|
|
|
2018-06-11 02:09:20 +00:00
|
|
|
LIBADD= vmmapi md pthread z util sbuf cam
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
|
2018-10-24 08:45:33 +00:00
|
|
|
.if ${MK_INET_SUPPORT} != "no"
|
|
|
|
CFLAGS+=-DINET
|
|
|
|
.endif
|
|
|
|
.if ${MK_INET6_SUPPORT} != "no"
|
|
|
|
CFLAGS+=-DINET6
|
|
|
|
.endif
|
2017-06-02 02:35:16 +00:00
|
|
|
.if ${MK_OPENSSL} == "no"
|
|
|
|
CFLAGS+=-DNO_OPENSSL
|
|
|
|
.else
|
|
|
|
LIBADD+= crypto
|
|
|
|
.endif
|
|
|
|
|
2016-07-09 20:41:59 +00:00
|
|
|
CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/e1000
|
|
|
|
CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/mii
|
Import bhyve_graphics into CURRENT. Thanks to all who tested
this on the branch.
Original commit message:
Initial bhyve native graphics support.
This adds emulations for a raw framebuffer device, PS2 keyboard/mouse,
XHCI USB controller and a USB tablet.
A simple VNC server is provided for keyboard/mouse input, and graphics
output.
A VGA emulation is included, but is currently disconnected until an
additional bhyve change to block out VGA memory is committed.
Credits:
- raw framebuffer, VNC server, XHCI controller, USB bus/device emulation
and UEFI f/w support by Leon Dang
- VGA, console/g, initial VNC server by tychon@
- PS2 keyboard/mouse jointly done by tychon@ and Leon Dang
- hypervisor framebuffer mem support by neel@
Tested by: Michael Dexter, in a number of revisions of this code.
With the appropriate UEFI image, FreeBSD, Windows and Linux guests can
installed and run in graphics mode using the UEFI/GOP framebuffer.
Approved by: re (gjb)
2016-07-04 03:19:06 +00:00
|
|
|
CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/usb/controller
|
2011-05-13 04:54:01 +00:00
|
|
|
|
2018-05-01 15:17:46 +00:00
|
|
|
.ifdef GDB_LOG
|
|
|
|
CFLAGS+=-DGDB_LOG
|
|
|
|
.endif
|
|
|
|
|
2011-05-15 04:03:11 +00:00
|
|
|
WARNS?= 2
|
|
|
|
|
2011-05-13 04:54:01 +00:00
|
|
|
.include <bsd.prog.mk>
|