Initial bhyve native graphics support.
authorPeter Grehan <grehan@FreeBSD.org>
Fri, 27 May 2016 06:30:35 +0000 (06:30 +0000)
committerPeter Grehan <grehan@FreeBSD.org>
Fri, 27 May 2016 06:30:35 +0000 (06:30 +0000)
commit205b961b15c4de4789f484ddd795b6a42d1b1eac
treed8d5b95e3d4e75c7ed8f9b706473818eb1c9a273
parent361da738642363e66a65852a8ddaa3e19b8e4797
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.
24 files changed:
Makefile
atkbdc.c
atkbdc.h [copied from atkbdc.c with 51% similarity]
bhyvegc.c [new file with mode: 0644]
bhyvegc.h [copied from atkbdc.c with 51% similarity]
bhyverun.c
console.c [new file with mode: 0644]
console.h [copied from atkbdc.c with 51% similarity]
pci_fbuf.c [new file with mode: 0644]
pci_xhci.c [new file with mode: 0644]
pci_xhci.h [new file with mode: 0644]
ps2kbd.c [new file with mode: 0644]
ps2kbd.h [copied from atkbdc.c with 51% similarity]
ps2mouse.c [new file with mode: 0644]
ps2mouse.h [copied from atkbdc.c with 51% similarity]
rfb.c [new file with mode: 0644]
rfb.h [copied from atkbdc.c with 51% similarity]
sockstream.c [copied from atkbdc.c with 55% similarity]
sockstream.h [copied from atkbdc.c with 51% similarity]
usb_emul.c [copied from atkbdc.c with 53% similarity]
usb_emul.h [new file with mode: 0644]
usb_mouse.c [new file with mode: 0644]
vga.c [new file with mode: 0644]
vga.h [new file with mode: 0644]