svn commit: r304425 - stable/10/usr.sbin/bhyve

Sean C. Farley scf at FreeBSD.org
Sun Aug 21 04:59:28 UTC 2016


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
-- 
scf at FreeBSD.org


More information about the svn-src-all mailing list