xref: /freebsd/share/man/man4/qat_c2xxx.4 (revision fa9896e082a1046ff4fbc75fcba4d18d1f2efc19)
1*f4f56ff4SMark Johnston.\"-
2*f4f56ff4SMark Johnston.\" Copyright (c) 2020 Rubicon Communications, LLC (Netgate)
3*f4f56ff4SMark Johnston.\"
4*f4f56ff4SMark Johnston.\" Redistribution and use in source and binary forms, with or without
5*f4f56ff4SMark Johnston.\" modification, are permitted provided that the following conditions
6*f4f56ff4SMark Johnston.\" are met:
7*f4f56ff4SMark Johnston.\" 1. Redistributions of source code must retain the above copyright
8*f4f56ff4SMark Johnston.\"    notice, this list of conditions and the following disclaimer.
9*f4f56ff4SMark Johnston.\" 2. Redistributions in binary form must reproduce the above copyright
10*f4f56ff4SMark Johnston.\"    notice, this list of conditions and the following disclaimer in the
11*f4f56ff4SMark Johnston.\"    documentation and/or other materials provided with the distribution.
12*f4f56ff4SMark Johnston.\"
13*f4f56ff4SMark Johnston.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14*f4f56ff4SMark Johnston.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15*f4f56ff4SMark Johnston.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16*f4f56ff4SMark Johnston.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17*f4f56ff4SMark Johnston.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18*f4f56ff4SMark Johnston.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19*f4f56ff4SMark Johnston.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20*f4f56ff4SMark Johnston.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21*f4f56ff4SMark Johnston.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22*f4f56ff4SMark Johnston.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23*f4f56ff4SMark Johnston.\" SUCH DAMAGE.
24*f4f56ff4SMark Johnston.\"
25*f4f56ff4SMark Johnston.Dd July 21, 2022
26*f4f56ff4SMark Johnston.Dt QAT_C2XXX 4
27*f4f56ff4SMark Johnston.Os
28*f4f56ff4SMark Johnston.Sh NAME
29*f4f56ff4SMark Johnston.Nm qat_c2xxx
30*f4f56ff4SMark Johnston.Nd Intel QuickAssist Technology (QAT) driver for Atom C2000 chipsets
31*f4f56ff4SMark Johnston.Sh SYNOPSIS
32*f4f56ff4SMark JohnstonTo compile this driver into the kernel,
33*f4f56ff4SMark Johnstonplace the following lines in your
34*f4f56ff4SMark Johnstonkernel configuration file:
35*f4f56ff4SMark Johnston.Bd -ragged -offset indent
36*f4f56ff4SMark Johnston.Cd "device crypto"
37*f4f56ff4SMark Johnston.Cd "device cryptodev"
38*f4f56ff4SMark Johnston.Cd "device qat"
39*f4f56ff4SMark Johnston.Ed
40*f4f56ff4SMark Johnston.Pp
41*f4f56ff4SMark JohnstonAlternatively, to load the driver as a
42*f4f56ff4SMark Johnstonmodule at boot time, place the following lines in
43*f4f56ff4SMark Johnston.Xr loader.conf 5 :
44*f4f56ff4SMark Johnston.Bd -literal -offset indent
45*f4f56ff4SMark Johnstonqat_c2xxx_load="YES"
46*f4f56ff4SMark Johnstonqat_c2xxxfw_load="YES"
47*f4f56ff4SMark Johnston.Ed
48*f4f56ff4SMark Johnston.Sh DESCRIPTION
49*f4f56ff4SMark JohnstonThe
50*f4f56ff4SMark Johnston.Nm
51*f4f56ff4SMark Johnstondriver implements
52*f4f56ff4SMark Johnston.Xr crypto 4
53*f4f56ff4SMark Johnstonsupport for some of the cryptographic acceleration functions of the Intel
54*f4f56ff4SMark JohnstonQuickAssist (QAT) device found on Atom C2000 devices.
55*f4f56ff4SMark JohnstonQAT devices are enumerated through PCIe and are thus visible in
56*f4f56ff4SMark Johnston.Xr pciconf 8
57*f4f56ff4SMark Johnstonoutput.
58*f4f56ff4SMark Johnston.Pp
59*f4f56ff4SMark JohnstonThe
60*f4f56ff4SMark Johnston.Nm
61*f4f56ff4SMark Johnstondriver can accelerate AES in CBC, CTR, and GCM modes,
62*f4f56ff4SMark Johnstonand can perform authenticated encryption combining the CBC, and CTR modes
63*f4f56ff4SMark Johnstonwith SHA1-HMAC and SHA2-HMAC.
64*f4f56ff4SMark JohnstonThe
65*f4f56ff4SMark Johnston.Nm
66*f4f56ff4SMark Johnstondriver can also compute SHA1 and SHA2 digests.
67*f4f56ff4SMark JohnstonThe implementation of AES-GCM has a firmware-imposed constraint that the length
68*f4f56ff4SMark Johnstonof any additional authenticated data (AAD) must not exceed 240 bytes.
69*f4f56ff4SMark JohnstonThe driver thus rejects
70*f4f56ff4SMark Johnston.Xr crypto 9
71*f4f56ff4SMark Johnstonrequests that do not satisfy this constraint.
72*f4f56ff4SMark Johnston.Sh SEE ALSO
73*f4f56ff4SMark Johnston.Xr crypto 4 ,
74*f4f56ff4SMark Johnston.Xr ipsec 4 ,
75*f4f56ff4SMark Johnston.Xr pci 4 ,
76*f4f56ff4SMark Johnston.Xr qat 4 ,
77*f4f56ff4SMark Johnston.Xr random 4 ,
78*f4f56ff4SMark Johnston.Xr crypto 7 ,
79*f4f56ff4SMark Johnston.Xr crypto 9
80*f4f56ff4SMark Johnston.Sh HISTORY
81*f4f56ff4SMark JohnstonThe
82*f4f56ff4SMark Johnston.Nm
83*f4f56ff4SMark Johnstondriver first appeared in
84*f4f56ff4SMark Johnston.Fx 13.0 .
85*f4f56ff4SMark Johnston.Sh AUTHORS
86*f4f56ff4SMark JohnstonThe
87*f4f56ff4SMark Johnston.Nm
88*f4f56ff4SMark Johnstondriver was written for
89*f4f56ff4SMark Johnston.Nx
90*f4f56ff4SMark Johnstonby
91*f4f56ff4SMark Johnston.An Hikaru Abe Aq Mt hikaru@iij.ad.jp .
92*f4f56ff4SMark Johnston.An Mark Johnston Aq Mt markj@FreeBSD.org
93*f4f56ff4SMark Johnstonported the driver to
94*f4f56ff4SMark Johnston.Fx .
95*f4f56ff4SMark Johnston.Sh BUGS
96*f4f56ff4SMark JohnstonSome Atom C2000 QAT devices have two acceleration engines instead of one.
97*f4f56ff4SMark JohnstonThe
98*f4f56ff4SMark Johnston.Nm
99*f4f56ff4SMark Johnstondriver currently misbehaves when both are enabled and thus does not enable
100*f4f56ff4SMark Johnstonthe second acceleration engine if one is present.
101