Source-Changes-HG archive

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

[src/trunk]: src Add opencrypto driver for Intel QuickAssist.



details:   https://anonhg.NetBSD.org/src/rev/83f9c348d731
branches:  trunk
changeset: 461242:83f9c348d731
user:      hikaru <hikaru%NetBSD.org@localhost>
date:      Wed Nov 20 09:37:44 2019 +0000

description:
Add opencrypto driver for Intel QuickAssist.

diffstat:

 distrib/sets/lists/base/mi                   |    12 +-
 distrib/sets/lists/man/mi                    |     5 +-
 doc/CHANGES                                  |     6 +-
 etc/mtree/NetBSD.dist.base                   |     3 +-
 share/man/man4/Makefile                      |     4 +-
 share/man/man4/qat.4                         |    88 +
 sys/arch/amd64/conf/ALL                      |     5 +-
 sys/arch/amd64/conf/GENERIC                  |     5 +-
 sys/dev/microcode/Makefile                   |     4 +-
 sys/dev/microcode/qat/Makefile               |    23 +
 sys/dev/microcode/qat/mmp_firmware_c2xxx.bin |   Bin 
 sys/dev/microcode/qat/mof_firmware_c2xxx.bin |   Bin 
 sys/dev/microcode/qat/qat-license            |    11 +
 sys/dev/microcode/qat/qat_c3xxx.bin          |   Bin 
 sys/dev/microcode/qat/qat_c3xxx_mmp.bin      |   Bin 
 sys/dev/microcode/qat/qat_c62x.bin           |   Bin 
 sys/dev/microcode/qat/qat_c62x_mmp.bin       |   Bin 
 sys/dev/microcode/qat/qat_d15xx.bin          |   Bin 
 sys/dev/microcode/qat/qat_d15xx_mmp.bin      |   Bin 
 sys/dev/pci/files.pci                        |    14 +-
 sys/dev/pci/qat/qat.c                        |  2302 +++++++++++++++++
 sys/dev/pci/qat/qat_ae.c                     |  3517 ++++++++++++++++++++++++++
 sys/dev/pci/qat/qat_aevar.h                  |    69 +
 sys/dev/pci/qat/qat_c2xxx.c                  |   201 +
 sys/dev/pci/qat/qat_c2xxxreg.h               |   174 +
 sys/dev/pci/qat/qat_c3xxx.c                  |   292 ++
 sys/dev/pci/qat/qat_c3xxxreg.h               |   175 +
 sys/dev/pci/qat/qat_c62x.c                   |   308 ++
 sys/dev/pci/qat/qat_c62xreg.h                |   198 +
 sys/dev/pci/qat/qat_d15xx.c                  |   308 ++
 sys/dev/pci/qat/qat_d15xxreg.h               |   198 +
 sys/dev/pci/qat/qat_hw15.c                   |   807 +++++
 sys/dev/pci/qat/qat_hw15reg.h                |   636 ++++
 sys/dev/pci/qat/qat_hw15var.h                |   104 +
 sys/dev/pci/qat/qat_hw17.c                   |   537 +++
 sys/dev/pci/qat/qat_hw17reg.h                |  2478 ++++++++++++++++++
 sys/dev/pci/qat/qat_hw17var.h                |    79 +
 sys/dev/pci/qat/qatreg.h                     |  1570 +++++++++++
 sys/dev/pci/qat/qatvar.h                     |  1165 ++++++++
 39 files changed, 15285 insertions(+), 13 deletions(-)

diffs (truncated from 15544 to 300 lines):

diff -r 5ae5634e085d -r 83f9c348d731 distrib/sets/lists/base/mi
--- a/distrib/sets/lists/base/mi        Wed Nov 20 08:50:59 2019 +0000
+++ b/distrib/sets/lists/base/mi        Wed Nov 20 09:37:44 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1220 2019/11/11 22:44:56 joerg Exp $
+# $NetBSD: mi,v 1.1221 2019/11/20 09:37:44 hikaru Exp $
 #
 # Note:        Don't delete entries from here - mark them as "obsolete" instead,
 #      unless otherwise stated below.
@@ -269,6 +269,16 @@
 ./libdata/firmware/nouveau/nvidia/gm206/gpccs_inst.bin base-firmware-usr       nouveaufirmware
 ./libdata/firmware/nouveau/nvidia/gm206/fecs_data.bin  base-firmware-usr       nouveaufirmware
 ./libdata/firmware/nouveau/nvidia/gm206/gpccs_data.bin base-firmware-usr       nouveaufirmware
+./libdata/firmware/qat                         base-firmware-root
+./libdata/firmware/qat/mmp_firmware_c2xxx.bin  base-firmware-root      firmware
+./libdata/firmware/qat/mof_firmware_c2xxx.bin  base-firmware-root      firmware
+./libdata/firmware/qat/qat-license             base-firmware-root      firmware
+./libdata/firmware/qat/qat_c3xxx.bin           base-firmware-root      firmware
+./libdata/firmware/qat/qat_c3xxx_mmp.bin       base-firmware-root      firmware
+./libdata/firmware/qat/qat_c62x.bin            base-firmware-root      firmware
+./libdata/firmware/qat/qat_c62x_mmp.bin                base-firmware-root      firmware
+./libdata/firmware/qat/qat_d15xx.bin           base-firmware-root      firmware
+./libdata/firmware/qat/qat_d15xx_mmp.bin       base-firmware-root      firmware
 ./libdata/firmware/radeon                      base-firmware-usr
 ./libdata/firmware/radeon/ARUBA_me.bin         base-firmware-usr       radeonfirmware
 ./libdata/firmware/radeon/ARUBA_pfp.bin                base-firmware-usr       radeonfirmware
diff -r 5ae5634e085d -r 83f9c348d731 distrib/sets/lists/man/mi
--- a/distrib/sets/lists/man/mi Wed Nov 20 08:50:59 2019 +0000
+++ b/distrib/sets/lists/man/mi Wed Nov 20 09:37:44 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: mi,v 1.1662 2019/11/01 02:53:22 msaitoh Exp $
+# $NetBSD: mi,v 1.1663 2019/11/20 09:37:44 hikaru Exp $
 #
 # Note: don't delete entries from here - mark them as "obsolete" instead.
 #
@@ -1613,6 +1613,7 @@
 ./usr/share/man/cat4/pxagpio.0                 man-sys-catman          .cat
 ./usr/share/man/cat4/pxaip.0                   man-sys-catman          .cat
 ./usr/share/man/cat4/pxg.0                     man-sys-catman          .cat
+./usr/share/man/cat4/qat.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/qe.0                      man-sys-catman          .cat
 ./usr/share/man/cat4/qec.0                     man-sys-catman          .cat
 ./usr/share/man/cat4/qemufwcfg.0               man-sys-catman          .cat
@@ -4727,6 +4728,7 @@
 ./usr/share/man/html4/pxagpio.html             man-sys-htmlman         html
 ./usr/share/man/html4/pxaip.html               man-sys-htmlman         html
 ./usr/share/man/html4/pxg.html                 man-sys-htmlman         html
+./usr/share/man/html4/qat.html                 man-sys-htmlman         html
 ./usr/share/man/html4/qe.html                  man-sys-htmlman         html
 ./usr/share/man/html4/qec.html                 man-sys-htmlman         html
 ./usr/share/man/html4/qemufwcfg.html           man-sys-htmlman         html
@@ -7743,6 +7745,7 @@
 ./usr/share/man/man4/pxagpio.4                 man-sys-man             .man
 ./usr/share/man/man4/pxaip.4                   man-sys-man             .man
 ./usr/share/man/man4/pxg.4                     man-sys-man             .man
+./usr/share/man/man4/qat.4                     man-sys-man             .man
 ./usr/share/man/man4/qe.4                      man-sys-man             .man
 ./usr/share/man/man4/qec.4                     man-sys-man             .man
 ./usr/share/man/man4/qemufwcfg.4               man-sys-man             .man
diff -r 5ae5634e085d -r 83f9c348d731 doc/CHANGES
--- a/doc/CHANGES       Wed Nov 20 08:50:59 2019 +0000
+++ b/doc/CHANGES       Wed Nov 20 09:37:44 2019 +0000
@@ -1,4 +1,4 @@
-# LIST OF CHANGES FROM LAST RELEASE:                   <$Revision: 1.2614 $>
+# LIST OF CHANGES FROM LAST RELEASE:                   <$Revision: 1.2615 $>
 #
 #
 # [Note: This file does not mention every change made to the NetBSD source tree.
@@ -78,3 +78,7 @@
        dhcpcd(8): Import 8.1.2. [roy 20191113]
        amd64: Add support for kMSan - Kernel Memory Sanitizer.
                [maxv 20191114]
+       qat(4): Add opencrypto driver for Intel QuickAssist.
+               Atom C2XXX, C3XXX, Xeon D-21XX and D-15XX, C62X chipsets and
+               QuickAssist Adapter 8960/8970.
+               [hikaru 20191120]
diff -r 5ae5634e085d -r 83f9c348d731 etc/mtree/NetBSD.dist.base
--- a/etc/mtree/NetBSD.dist.base        Wed Nov 20 08:50:59 2019 +0000
+++ b/etc/mtree/NetBSD.dist.base        Wed Nov 20 09:37:44 2019 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: NetBSD.dist.base,v 1.204 2019/11/11 22:44:57 joerg Exp $
+#      $NetBSD: NetBSD.dist.base,v 1.205 2019/11/20 09:37:45 hikaru Exp $
 #      @(#)4.4BSD.dist 8.1 (Berkeley) 6/13/93
 
 # Do not customize this file as it may be overwritten on upgrades.
@@ -81,6 +81,7 @@
 ./libdata/firmware/nvidia
 ./libdata/firmware/nvidia/tegra124
 ./libdata/firmware/nvidia/tegra210
+./libdata/firmware/qat
 ./libdata/firmware/radeon
 ./libdata/firmware/ral
 ./libdata/firmware/rum
diff -r 5ae5634e085d -r 83f9c348d731 share/man/man4/Makefile
--- a/share/man/man4/Makefile   Wed Nov 20 08:50:59 2019 +0000
+++ b/share/man/man4/Makefile   Wed Nov 20 09:37:44 2019 +0000
@@ -1,4 +1,4 @@
-#      $NetBSD: Makefile,v 1.688 2019/11/01 02:53:23 msaitoh Exp $
+#      $NetBSD: Makefile,v 1.689 2019/11/20 09:37:45 hikaru Exp $
 #      @(#)Makefile    8.1 (Berkeley) 6/18/93
 
 MAN=   aac.4 ac97.4 acardide.4 aceride.4 acphy.4 \
@@ -51,7 +51,7 @@
        piixpm.4 pim.4 plip.4 pm3fb.4 pms.4 pmu.4 pnaphy.4 ppbus.4 ppp.4 \
        pppoe.4 \
        pseye.4 ptcd.4 ptm.4 pty.4 puc.4 pud.4 puffs.4 pwdog.4 px.4 pxagpio.4 \
-       pxaip.4 pxg.4 qe.4 qec.4 qemufwcfg.4 qsphy.4 \
+       pxaip.4 pxg.4 qat.4 qe.4 qec.4 qemufwcfg.4 qsphy.4 \
        raid.4 ral.4 ray.4 rcons.4 rdcphy.4 re.4 rgephy.4 rlphy.4 \
        rnd.4 route.4 rs5c372rtc.4 rtk.4 rtsx.4 rtw.4 rtwn.4 rum.4 run.4 \
        s390rtc.4 satalink.4 sbus.4 schide.4 \
diff -r 5ae5634e085d -r 83f9c348d731 share/man/man4/qat.4
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/share/man/man4/qat.4      Wed Nov 20 09:37:44 2019 +0000
@@ -0,0 +1,88 @@
+.\"    $NetBSD: qat.4,v 1.1 2019/11/20 09:37:45 hikaru Exp $
+.\"
+.\" 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.
+.\"
+.Dd November 20, 2019
+.Dt QAT 4
+.Os
+.Sh NAME
+.Nm qat
+.Nd Intel QuickAssist crypto accelerator
+.Sh SYNOPSIS
+.Cd "qat* at pci? dev ? function ?"
+.Sh DESCRIPTION
+The
+.Nm
+driver supports the following system-on-chips, chipsets, and PCIe adapters,
+which are integrated with QuickAssist:
+.Pp
+.Bl -bullet -compact
+.It
+Intel Atom C2000 processor
+.It
+Intel Atom C3000 processor
+.It
+Intel Xeon D-1500 processor
+.It
+Intel Xeon D-2100 processor
+.It
+Intel C620 chipset
+.It
+Intel QuickAssist Adapter 8960/8970
+.El
+.Pp
+When the
+.Nm
+driver is attached, it automatically registers itself to accelerate
+DES-CBC, 3DES-CBC, AES-CBC, HMAC-SHA1, HMAC-SHA256, HMAC-SHA384,
+and HMAC-SHA512 operations for
+.Xr opencrypto 9 ,
+and thus for
+.Xr ipsec 4
+and
+.Xr crypto 4 .
+.Sh FILES
+The
+.Nm
+driver loads the firmware which is located in
+.Pa /libdata/firmware/qat/ ,
+by
+.Xr firmload 9 .
+.Sh SEE ALSO
+.Xr crypto 4 ,
+.Xr intro 4 ,
+.Xr ipsec 4 ,
+.Xr firmload 9 ,
+.Xr opencrypto 9
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Nx 10.0 .
+.Sh AUTHORS
+The
+.Nm
+driver was written by
+.An Hikaru Abe Aq Mt hikaru%iij.ad.jp@localhost .
diff -r 5ae5634e085d -r 83f9c348d731 sys/arch/amd64/conf/ALL
--- a/sys/arch/amd64/conf/ALL   Wed Nov 20 08:50:59 2019 +0000
+++ b/sys/arch/amd64/conf/ALL   Wed Nov 20 09:37:44 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: ALL,v 1.129 2019/11/10 20:41:15 chs Exp $
+# $NetBSD: ALL,v 1.130 2019/11/20 09:37:45 hikaru 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.129 $"
+#ident         "ALL-$Revision: 1.130 $"
 
 maxusers       64              # estimated number of users
 
@@ -1550,6 +1550,7 @@
 
 # PCI cryptographic devices
 hifn*  at pci? dev ? function ?        # Hifn 7755/7811/795x
+qat*   at pci? dev ? function ?        # Intel QuickAssist
 ubsec* at pci? dev ? function ?        # Broadcom 5501/5601/580x/582x
 
 # Trusted Platform Module
diff -r 5ae5634e085d -r 83f9c348d731 sys/arch/amd64/conf/GENERIC
--- a/sys/arch/amd64/conf/GENERIC       Wed Nov 20 08:50:59 2019 +0000
+++ b/sys/arch/amd64/conf/GENERIC       Wed Nov 20 09:37:44 2019 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: GENERIC,v 1.546 2019/11/14 16:23:52 maxv Exp $
+# $NetBSD: GENERIC,v 1.547 2019/11/20 09:37:45 hikaru Exp $
 #
 # GENERIC machine description file
 #
@@ -22,7 +22,7 @@
 
 options        INCLUDE_CONFIG_FILE     # embed config file in kernel binary
 
-#ident         "GENERIC-$Revision: 1.546 $"
+#ident         "GENERIC-$Revision: 1.547 $"
 
 maxusers       64              # estimated number of users
 
@@ -449,6 +449,7 @@
 
 # PCI cryptographic devices
 hifn*  at pci? dev ? function ?        # Hifn 7755/7811/795x
+#qat*  at pci? dev ? function ?        # Intel QuickAssist
 ubsec* at pci? dev ? function ?        # Broadcom 5501/5601/580x/582x
 
 # Trusted Platform Module
diff -r 5ae5634e085d -r 83f9c348d731 sys/dev/microcode/Makefile
--- a/sys/dev/microcode/Makefile        Wed Nov 20 08:50:59 2019 +0000
+++ b/sys/dev/microcode/Makefile        Wed Nov 20 09:37:44 2019 +0000
@@ -1,6 +1,6 @@
-#      $NetBSD: Makefile,v 1.9 2012/06/01 13:19:39 nonaka Exp $
+#      $NetBSD: Makefile,v 1.10 2019/11/20 09:37:45 hikaru Exp $
 
-SUBDIR+=       ral rum run zyd
+SUBDIR+=       qat ral rum run zyd
 SUBDIR+=       radeon
 
 .include <bsd.subdir.mk>
diff -r 5ae5634e085d -r 83f9c348d731 sys/dev/microcode/qat/Makefile
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/dev/microcode/qat/Makefile    Wed Nov 20 09:37:44 2019 +0000
@@ -0,0 +1,23 @@
+#      $NetBSD: Makefile,v 1.1 2019/11/20 09:37:45 hikaru Exp $
+
+NOMAN= # defined
+
+.include <bsd.own.mk>
+
+.if ${MKFIRMWARE} != "no"
+FILES= qat-license
+
+FILES+=        mmp_firmware_c2xxx.bin mof_firmware_c2xxx.bin
+FILES+=        qat_c3xxx.bin qat_c3xxx_mmp.bin
+FILES+=        qat_c62x.bin qat_c62x_mmp.bin
+FILES+=        qat_d15xx.bin qat_d15xx_mmp.bin
+.endif
+
+# XXX
+includes:
+
+clean:
+
+cleandir:
+
+.include <bsd.files.mk>
diff -r 5ae5634e085d -r 83f9c348d731 sys/dev/microcode/qat/mmp_firmware_c2xxx.bin
Binary file sys/dev/microcode/qat/mmp_firmware_c2xxx.bin has changed
diff -r 5ae5634e085d -r 83f9c348d731 sys/dev/microcode/qat/mof_firmware_c2xxx.bin
Binary file sys/dev/microcode/qat/mof_firmware_c2xxx.bin has changed
diff -r 5ae5634e085d -r 83f9c348d731 sys/dev/microcode/qat/qat-license
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000



Home | Main Index | Thread Index | Old Index