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"

Reply via email to