Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src Ported driver for Intel Ethernet 700 series



details:   https://anonhg.NetBSD.org/src/rev/776c33eee9f9
branches:  trunk
changeset: 847103:776c33eee9f9
user:      yamaguchi <yamaguchi%NetBSD.org@localhost>
date:      Tue Dec 10 12:08:52 2019 +0000

description:
Ported driver for Intel Ethernet 700 series

reviewed by msaitoh and knakahara

diffstat:

 distrib/sets/lists/man/mi        |     5 +-
 distrib/sets/lists/modules/mi    |     4 +-
 doc/CHANGES                      |     4 +-
 share/man/man4/Makefile          |     4 +-
 sys/arch/amd64/conf/ALL          |     5 +-
 sys/arch/amd64/conf/GENERIC      |     5 +-
 sys/arch/i386/conf/ALL           |     5 +-
 sys/arch/i386/conf/GENERIC       |     5 +-
 sys/dev/pci/files.pci            |     7 +-
 sys/dev/pci/if_ixl.c             |  5481 ++++++++++++++++++++++++++++++++++++++
 sys/dev/pci/if_ixlreg.h          |  5345 +++++++++++++++++++++++++++++++++++++
 sys/dev/pci/if_ixlvar.h          |   803 +++++
 sys/modules/Makefile             |     3 +-
 sys/modules/if_ixl/Makefile      |    12 +
 sys/modules/if_ixl/if_ixl.ioconf |    10 +
 15 files changed, 11683 insertions(+), 15 deletions(-)

diffs (truncated from 11894 to 300 lines):

diff -r 048f6edbed03 -r 776c33eee9f9 distrib/sets/lists/man/mi
--- a/distrib/sets/lists/man/mi Tue Dec 10 11:35:29 2019 +0000
+++ b/distrib/sets/lists/man/mi Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1663 2019/11/20 09:37:44 hikaru Exp $
+# $NetBSD: mi,v 1.1664 2019/12/10 12:08:52 yamaguchi Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1374,6 +1374,7 @@
 ./usr/share/man/cat4/iwn.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/ix.0                      man-sys-catman          .cat
 ./usr/share/man/cat4/ixg.0                     man-sys-catman          .cat
+./usr/share/man/cat4/ixl.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/ixpide.0                  man-sys-catman          .cat
 ./usr/share/man/cat4/ixv.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/iy.0                      man-sys-catman          .cat
@@ -4520,6 +4521,7 @@
 ./usr/share/man/html4/iwn.html                 man-sys-htmlman         html
 ./usr/share/man/html4/ix.html                  man-sys-htmlman         html
 ./usr/share/man/html4/ixg.html                 man-sys-htmlman         html
+./usr/share/man/html4/ixl.html                 man-sys-htmlman         html
 ./usr/share/man/html4/ixpide.html              man-sys-htmlman         html
 ./usr/share/man/html4/ixv.html                 man-sys-htmlman         html
 ./usr/share/man/html4/iy.html                  man-sys-htmlman         html
@@ -7506,6 +7508,7 @@
 ./usr/share/man/man4/iwn.4                     man-sys-man             .man
 ./usr/share/man/man4/ix.4                      man-sys-man             .man
 ./usr/share/man/man4/ixg.4                     man-sys-man             .man
+./usr/share/man/man4/ixl.4                     man-sys-man             .man
 ./usr/share/man/man4/ixpide.4                  man-sys-man             .man
 ./usr/share/man/man4/ixv.4                     man-sys-man             .man
 ./usr/share/man/man4/iy.4                      man-sys-man             .man
diff -r 048f6edbed03 -r 776c33eee9f9 distrib/sets/lists/modules/mi
--- a/distrib/sets/lists/modules/mi     Tue Dec 10 11:35:29 2019 +0000
+++ b/distrib/sets/lists/modules/mi     Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.128 2019/12/04 11:47:17 jmcneill Exp $
+# $NetBSD: mi,v 1.129 2019/12/10 12:08:52 yamaguchi Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -212,6 +212,8 @@
 ./@MODULEDIR@/if_gre/if_gre.kmod               base-kernel-modules     kmod
 ./@MODULEDIR@/if_kue                           base-kernel-modules     kmod
 ./@MODULEDIR@/if_kue/if_kue.kmod               base-kernel-modules     kmod
+./@MODULEDIR@/if_ixl                           base-obsolete           obsolete
+./@MODULEDIR@/if_ixl/if_ixl.kmod               base-obsolete           obsolete
 ./@MODULEDIR@/if_l2tp                          base-kernel-modules     kmod
 ./@MODULEDIR@/if_l2tp/if_l2tp.kmod             base-kernel-modules     kmod
 ./@MODULEDIR@/if_loop                          base-kernel-modules     kmod
diff -r 048f6edbed03 -r 776c33eee9f9 doc/CHANGES
--- a/doc/CHANGES       Tue Dec 10 11:35:29 2019 +0000
+++ b/doc/CHANGES       Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:                   <$Revision: 1.2618 $>
+# LIST OF CHANGES FROM LAST RELEASE:                   <$Revision: 1.2619 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -75,3 +75,5 @@
                [hikaru 20191120]
        bind: Import version 9.14.8. [christos 20191127]
        terminfo: Import 20190609 [christos 20191127]
+       ixl(4): Ported driver for Intel Ethernet 700 series
+               [yamaguchi 20191210]
diff -r 048f6edbed03 -r 776c33eee9f9 share/man/man4/Makefile
--- a/share/man/man4/Makefile   Tue Dec 10 11:35:29 2019 +0000
+++ b/share/man/man4/Makefile   Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.689 2019/11/20 09:37:45 hikaru Exp $
+#      $NetBSD: Makefile,v 1.690 2019/12/10 12:08:52 yamaguchi Exp $
 #      @(#)Makefile    8.1 (Berkeley) 6/18/93
 
 MAN=   aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@@ -34,7 +34,7 @@
        inet.4 ikphy.4 inphy.4 intersil7170.4 intro.4 \
        ioasic.4 ioat.4 iop.4 iophy.4 iopsp.4 ip.4 ipgphy.4 ipmi.4 ipw.4 \
        irmce.4 isp.4 ismt.4 isv.4 itesio.4 iteide.4 iwi.4 iwm.4 iwn.4 ixg.4 \
-       ixpide.4 ixv.4 \
+       ixl.4 ixpide.4 ixv.4 \
        jme.4 jmide.4 jmphy.4 joy.4 \
        kcov.4 kloader.4 kse.4 ksyms.4 kttcp.4 \
        l2tp.4 lc.4 ld.4 lii.4 lo.4 lua.4 lxtphy.4 \
diff -r 048f6edbed03 -r 776c33eee9f9 sys/arch/amd64/conf/ALL
--- a/sys/arch/amd64/conf/ALL   Tue Dec 10 11:35:29 2019 +0000
+++ b/sys/arch/amd64/conf/ALL   Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.130 2019/11/20 09:37:45 hikaru Exp $
+# $NetBSD: ALL,v 1.131 2019/12/10 12:08:52 yamaguchi Exp $
 # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
 #
 # ALL machine description file
@@ -17,7 +17,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "ALL-$Revision: 1.130 $"
+#ident         "ALL-$Revision: 1.131 $"
 
 maxusers       64              # estimated number of users
 
@@ -986,6 +986,7 @@
 iwm*   at pci? dev ? function ?        # Intel Wireless WiFi Link 7xxx
 iwn*   at pci? dev ? function ?        # Intel PRO/Wireless 4965AGN
 ixg*   at pci? dev ? function ?        # Intel 8259x 10 gigabit
+ixl*   at pci? dev ? function ?        # Intel Ethernet 700 Series
 ixv*   at pci? dev ? function ?        # Intel 8259x 10G virtual function
 jme*   at pci? dev ? function ?        # JMicron JMC2[56]0 ethernet
 hme*   at pci? dev ? function ?        # Sun Microelectronics STP2002-STQ
diff -r 048f6edbed03 -r 776c33eee9f9 sys/arch/amd64/conf/GENERIC
--- a/sys/arch/amd64/conf/GENERIC       Tue Dec 10 11:35:29 2019 +0000
+++ b/sys/arch/amd64/conf/GENERIC       Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.549 2019/12/10 02:06:07 manu Exp $
+# $NetBSD: GENERIC,v 1.550 2019/12/10 12:08:52 yamaguchi Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "GENERIC-$Revision: 1.549 $"
+#ident         "GENERIC-$Revision: 1.550 $"
 
 maxusers       64              # estimated number of users
 
@@ -804,6 +804,7 @@
 iwm*   at pci? dev ? function ?        # Intel Centrino 7260
 iwn*   at pci? dev ? function ?        # Intel PRO/Wireless 4965AGN
 ixg*   at pci? dev ? function ?        # Intel 8259x 10 gigabit
+ixl*   at pci? dev ? function ?        # Intel Ethernet 700 Series
 ixv*   at pci? dev ? function ?        # Intel 8259x 10G virtual function
 jme*   at pci? dev ? function ?        # JMicron JMC2[56]0 ethernet
 hme*   at pci? dev ? function ?        # Sun Microelectronics STP2002-STQ
diff -r 048f6edbed03 -r 776c33eee9f9 sys/arch/i386/conf/ALL
--- a/sys/arch/i386/conf/ALL    Tue Dec 10 11:35:29 2019 +0000
+++ b/sys/arch/i386/conf/ALL    Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.474 2019/11/01 02:53:23 msaitoh Exp $
+# $NetBSD: ALL,v 1.475 2019/12/10 12:08:52 yamaguchi Exp $
 # From NetBSD: GENERIC,v 1.787 2006/10/01 18:37:54 bouyer Exp
 #
 # ALL machine description file
@@ -17,7 +17,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "ALL-$Revision: 1.474 $"
+#ident         "ALL-$Revision: 1.475 $"
 
 maxusers       64              # estimated number of users
 
@@ -1068,6 +1068,7 @@
 iwm*   at pci? dev ? function ?        # Intel Wireless WiFi Link 7xxx
 iwn*   at pci? dev ? function ?        # Intel PRO/Wireless 4965AGN
 ixg*   at pci? dev ? function ?        # Intel 8259x 10 gigabit
+ixl*   at pci? dev ? function ?        # Intel Ethernet 700 Series
 jme*   at pci? dev ? function ?        # JMicron JMC2[56]0 Ethernet
 le*    at pci? dev ? function ?        # PCnet-PCI Ethernet
 lii*   at pci? dev ? function ?        # Atheros L2 Fast-Ethernet
diff -r 048f6edbed03 -r 776c33eee9f9 sys/arch/i386/conf/GENERIC
--- a/sys/arch/i386/conf/GENERIC        Tue Dec 10 11:35:29 2019 +0000
+++ b/sys/arch/i386/conf/GENERIC        Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.1216 2019/12/05 22:05:05 sevan Exp $
+# $NetBSD: GENERIC,v 1.1217 2019/12/10 12:08:52 yamaguchi Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "GENERIC-$Revision: 1.1216 $"
+#ident         "GENERIC-$Revision: 1.1217 $"
 
 maxusers       64              # estimated number of users
 
@@ -982,6 +982,7 @@
 iwm*   at pci? dev ? function ?        # Intel Wireless WiFi Link 7xxx
 iwn*   at pci? dev ? function ?        # Intel PRO/Wireless 4965AGN
 ixg*   at pci? dev ? function ?        # Intel 8259x 10 gigabit
+ixl*   at pci? dev ? function ?        # Intel Ethernet 700 Series
 jme*   at pci? dev ? function ?        # JMicron JMC2[56]0 Ethernet
 le*    at pci? dev ? function ?        # PCnet-PCI Ethernet
 lii*   at pci? dev ? function ?        # Atheros L2 Fast-Ethernet
diff -r 048f6edbed03 -r 776c33eee9f9 sys/dev/pci/files.pci
--- a/sys/dev/pci/files.pci     Tue Dec 10 11:35:29 2019 +0000
+++ b/sys/dev/pci/files.pci     Tue Dec 10 12:08:52 2019 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: files.pci,v 1.417 2019/11/26 08:37:05 nisimura Exp $
+#      $NetBSD: files.pci,v 1.418 2019/12/10 12:08:52 yamaguchi Exp $
 #
 # Config file and device description for machine-independent PCI code.
 # Included by ports that need it.  Requires that the SCSI files be
@@ -1174,3 +1174,8 @@
 file   dev/pci/qat/qat_c3xxx.c         qat
 file   dev/pci/qat/qat_c62x.c          qat
 file   dev/pci/qat/qat_d15xx.c         qat
+
+# Intel Ethernet 700 Series
+device ixl: ether, ifnet, arp
+attach ixl at pci
+file   dev/pci/if_ixl.c        ixl
diff -r 048f6edbed03 -r 776c33eee9f9 sys/dev/pci/if_ixl.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/pci/if_ixl.c      Tue Dec 10 12:08:52 2019 +0000
@@ -0,0 +1,5481 @@
+/*     $NetBSD: if_ixl.c,v 1.1 2019/12/10 12:08:52 yamaguchi Exp $     */
+
+/*
+ * Copyright (c) 2013-2015, Intel Corporation
+ * All rights reserved.
+
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ *
+ *  1. Redistributions of source code must retain the above copyright notice,
+ *     this list of conditions and the following disclaimer.
+ *
+ *  2. Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ *  3. Neither the name of the Intel Corporation nor the names of its
+ *     contributors may be used to endorse or promote products derived from
+ *     this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/*
+ * Copyright (c) 2016,2017 David Gwynne <dlg%openbsd.org@localhost>
+ *
+ * Permission to use, copy, modify, and distribute this software for any
+ * purpose with or without fee is hereby granted, provided that the above
+ * copyright notice and this permission notice appear in all copies.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+ * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+ * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+
+/*
+ * Copyright (c) 2019 Internet Initiative Japan, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
+ * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <sys/cdefs.h>
+
+#ifdef _KERNEL_OPT
+#include "opt_net_mpsafe.h"
+#endif
+
+#include <sys/param.h>
+#include <sys/types.h>
+
+#include <sys/cpu.h>
+#include <sys/device.h>
+#include <sys/evcnt.h>
+#include <sys/interrupt.h>
+#include <sys/kmem.h>
+#include <sys/malloc.h>



Home | Main Index | Thread Index | Old Index