On Thu, 18 Aug 2016, Alexander Motin wrote:
Author: mav
Date: Thu Aug 18 11:56:07 2016
New Revision: 304425
URL: https://svnweb.freebsd.org/changeset/base/304425
Log:
MFC r302504, r302666, r302668, r302932, r302933:
Add emulation for Intel e1000 (e82545) network adapter.
The code was successfully tested with FreeBSD, Linux, Solaris and Windows
guests. This interface is predictably slower (about 2x) then virtio-net,
but it is very helpful for guests not supporting virtio-net by default.
Thanks to Jeremiah Lott and Peter Grehan for doing original heavy lifting.
Added:
stable/10/usr.sbin/bhyve/pci_e82545.c
- copied, changed from r302504, head/usr.sbin/bhyve/pci_e82545.c
Modified:
stable/10/usr.sbin/bhyve/Makefile
stable/10/usr.sbin/bhyve/bhyve.8
Directory Properties:
stable/10/ (props changed)
Modified: stable/10/usr.sbin/bhyve/Makefile
==============================================================================
--- stable/10/usr.sbin/bhyve/Makefile Thu Aug 18 11:51:14 2016
(r304424)
+++ stable/10/usr.sbin/bhyve/Makefile Thu Aug 18 11:56:07 2016
(r304425)
@@ -23,6 +23,7 @@ SRCS= \
mevent.c \
mptbl.c \
pci_ahci.c \
+ pci_e82545.c \
pci_emul.c \
pci_hostbridge.c \
pci_irq.c \
@@ -48,6 +49,10 @@ SRCS+= vmm_instruction_emul.c
DPADD= ${LIBVMMAPI} ${LIBMD} ${LIBUTIL} ${LIBPTHREAD}
LDADD= -lvmmapi -lmd -lutil -lpthread
+CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/e1000
+CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/mii
+CFLAGS+= -I${BHYVE_SYSDIR}/sys/dev/usb/controller
+
WARNS?= 2
.include <bsd.prog.mk>
Alexander,
The MFC is a tiny bit incomplete. I cannot build stable/10 world since
BHYVE_SYSDIR is not defined in the usr.sbin/bhyve/Makefile as it is in
HEAD. The issue was only noticed because I do not have the source tree
in /usr/src. I presume the symlink that exists for /sys to usr/src/sys
masks this for most people.
------------------------------------------------
===> usr.sbin/bhyve (depend)
rm -f .depend
CC='cc ' mkdep -f .depend -a -I/sys/dev/e1000 -I/sys/dev/mii
-I/sys/dev/usb/controller -std=gnu99
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/atkbdc.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/acpi.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/bhyverun.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/block_if.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/bootrom.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/consport.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/dbgport.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/fwctl.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/inout.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/ioapic.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/mem.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/mevent.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/mptbl.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_ahci.c
/usr/FreeBSD/branches/stable/10/src/usr.sb!
in/bhyve/pci_e82545.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_emul.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_hostbridge.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_irq.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_lpc.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_passthru.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_virtio_block.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_virtio_net.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_virtio_rnd.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_uart.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pm.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/post.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/rtc.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/smbiostbl.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/task_switch.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/uart_emul.c
/usr/FreeBSD/branc!
hes/stable/10/src/usr.sbin/bhyve/virtio.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/xmsr.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/spinup_ap.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/../../sys/amd64/vmm/vmm_instruction_emul.c
/usr/FreeBSD/branches/stable/10/src/usr.sbin/bhyve/pci_e82545.c:51:10: fatal
error: 'e1000_regs.h' file not found
#include "e1000_regs.h"
^
1 error generated.
mkdep: compile failed
*** [.depend] Error code 1
------------------------------------------------
This missing line completes the build, but I do not know if anything
else needs merging. The missing merge to the .PATH variable did not
appear to affect the buildworld.
+ BHYVE_SYSDIR?=${SRCTOP}
Thank you.
Sean
--
s...@freebsd.org
_______________________________________________
svn-src-stable-10@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-stable-10
To unsubscribe, send any mail to "svn-src-stable-10-unsubscr...@freebsd.org"