Skip to content

Commit 0701210

Browse files
Readme Update for v1.0.0 with QAT_HW v2.0 information.
Signed-off-by: Yogaraj Alamenda <yogarajx.alamenda@intel.com>
1 parent 804c1cc commit 0701210

14 files changed

+198
-118
lines changed

README.md

Lines changed: 39 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,12 @@ Installation consists of the following:
4949

5050
| Platform | Getting Started Guide |
5151
|----| -|
52-
|Intel&reg; Xeon&reg; with Intel&reg; C62X Series Chipset<br>Intel&reg; Atom&trade; Processor <br> Intel&reg; Communications Chipset 8925 to 8955 Series:|Intel&reg; QuickAssist Technology Software for Linux\* - [Getting Started Guide - HW version 1.7 (336212)](https://01.org/sites/default/files/downloads/336212007qatswgsg.pdf) |
52+
|Intel&reg; Xeon&reg; with Intel&reg; C62X Series Chipset<br>Intel&reg; Atom&trade; Processor with Intel&reg C3xx series <br> Intel&reg; Communications Chipset 8925 to 8955 Series|Intel&reg; QAT Software for Linux\* - [Getting Started Guide Hardware v1.x CE Release](https://cdrdv2.intel.com/v1/dl/getContent/710059) |
53+
|Intel® Xeon® Scalable Processor family with Intel® QAT Gen4/Gen4m| Intel&reg; QAT Software for Linux\* - [Getting Started Guide Hardware v2.0](https://cdrdv2.intel.com/v1/dl/getContent/632506) |
5354

5455
Other technical collaterals of the Intel&reg; QuickAssist Technology driver
5556
can be found in the below page.
56-
- [Intel&reg; QuickAssist Technology](https://developer.intel.com/quickassist)
57+
* [Intel&reg; QuickAssist Technology](https://developer.intel.com/quickassist)
5758

5859
## Contiguous memory driver
5960

@@ -65,29 +66,37 @@ drivers:
6566

6667
### User Space DMA-able Memory (USDM) Component
6768

68-
The Intel&reg; QAT Driver HW Version 1.7 comes with its own
69+
The Intel&reg; QAT Driver for QAT_HW comes with its own
6970
contiguous pinned memory driver that is compatible with the Intel&reg; QAT
7071
OpenSSL\* Engine. The USDM component is of a higher quality than the
7172
qat\_contig\_mem driver provided within the Intel&reg; QAT OpenSSL\* Engine,
7273
and is the preferred option. The USDM component is used by the Intel&reg; QAT
73-
Driver HW Version 1.7 itself, and also has the following additional features:
74+
Driver itself, and also has the following additional features:
7475

7576
* Support for virtualization
7677
* Support for configurable slab sizes
7778
* Support for configurable secure freeing of memory (overwrite with zeros)
7879
* Support for configurable slab caching
7980
* Support for newer kernels
81+
* Support for thread specific memory to avoid locks (QAT_HW Version 1.7 & 1.8 only)
8082

81-
The USDM component is located within the Intel&reg; QAT Driver HW Version 1.7
83+
The USDM component is located within the Intel&reg; QAT Driver for QAT_HW
8284
source code in the following subdirectory: `quickassist/utilities/libusdm_drv`.
83-
As the USDM component is also used by the 1.7 driver itself it will have
85+
As the USDM component is also used by the QAT_HW driver itself it will have
8486
already been built when the driver was built. It may also already be loaded as
8587
well, and you can check by running `lsmod` and looking for usdm_drv in the list.
8688
If not present it can be loaded as follows:
8789

8890
```bash
8991
modprobe usdm_drv.ko
9092
```
93+
The USDM thread specific memory can be enabled in QAT_HW driver using the below
94+
configure flags in driver build which is only needed for multithreaded
95+
application for performance improvement.
96+
97+
```bash
98+
./configure --enable-icp-thread-specific-usdm --enable-128k-slab
99+
```
91100

92101
#### Example contiguous memory driver - qat\_contig\_mem
93102

@@ -131,12 +140,12 @@ following:
131140
</details>
132141
</details>
133142
<details>
134-
<summary>Install OpenSSL* (Note this step is not required if OpenSSL* 1.1.1 is already installed)</summary>
143+
<summary>Install OpenSSL* (Note this step is not required if OpenSSL* 1.1.1 or 3.0 is already installed)</summary>
135144

136145
## Build OpenSSL\*
137146

138147
This step is not required if building the Intel&reg; QAT OpenSSL\* Engine
139-
against system prebuilt OpenSSL\* 1.1.1. When using the prebuild system OpenSSL library
148+
against system prebuilt OpenSSL\* 1.1.1 or 3.0. When using the prebuild system OpenSSL library
140149
the engine library is installed in the system OpenSSL engines directory.
141150

142151
Clone OpenSSL\* from Github\* at the following location:
@@ -150,10 +159,6 @@ and 3.0 are only supported.
150159
Due to the nature of the Intel&reg; QAT OpenSSL\* Engine being a dynamic engine
151160
it can only be used with shared library builds of OpenSSL\*.
152161

153-
Note: The OpenSSL\* 1.1.0 and 1.1.1 baselines build as a shared library by
154-
default now so there is no longer any need to specify the `shared` option when
155-
running `./config`.
156-
157162
Note: It is not recommended to install the accelerated version of OpenSSL\* as
158163
your default system library. If you do, you may find that acceleration is used
159164
unexpectedly by other applications on the system resulting in
@@ -208,10 +213,12 @@ important to tell OpenSSL\* where to find the dynamic engines at runtime. This
208213
is achieved by exporting the following environment variable (assuming the
209214
example paths above):
210215

211-
export OPENSSL_ENGINES=/usr/local/ssl/lib/engines-1.1
216+
OpenSSL 1.1.1: export OPENSSL_ENGINES=/usr/local/ssl/lib/engines-1.1
217+
218+
OpenSSL 3.0: export OPENSSL_ENGINES=/usr/local/ssl/lib64/engines-3
212219

213220
Note: This variable will need to be present in the environment whenever the
214-
engine is used.
221+
engine is used and not needed when provider is used.
215222

216223
Load/Initialize Engine using the OpenSSL\* config file is located
217224
[here](docs/openssl_config.md)
@@ -251,16 +258,16 @@ Here are a few example builds that demonstrate how the Intel&reg; QAT OpenSSL\*
251258
Engine can be configured to use qat_hw and/or qat_sw.
252259

253260
<details>
254-
<summary>Example 1: qat_hw target with OpenSSL\* 1.1.1 built from source</summary>
261+
<summary>Example 1: qat_hw target with OpenSSL\* 1.1.1 or 3.0 built from source</summary>
255262
<br>
256263

257264
The following example is assuming:
258265

259266
* The Intel&reg; QAT OpenSSL\* Engine was cloned to its own location at the root
260267
of the drive: `/`.
261-
* The Intel&reg; QAT Driver was unpacked within `/QAT` and using
268+
* The Intel&reg; QAT Driver version 1.7 or 2.0 was unpacked within `/QAT` and using
262269
the USDM component.
263-
* OpenSSL\* 1.1.1 built from source is being used and installed to `/usr/local/ssl`.
270+
* OpenSSL\* 1.1.1 or 3.0 built from source is being used and installed to `/usr/local/ssl`.
264271

265272
To build and install the Intel&reg; QAT OpenSSL\* Engine:
266273

@@ -275,11 +282,20 @@ make install
275282

276283
In the above example this will create the file `qatengine.so` and copy it to
277284
`/usr/local/ssl/lib/engines-1.1`.
285+
286+
For building QAT Engine against qatlib(intree driver) from source which is
287+
installed to default location "/usr/local" use `--with-qat_hw_dir=/usr/local`
288+
or provide the path that is used in the prefix to build qatlib.
289+
290+
If qatlib is installed via RPM then `-with-qat_hw_dir` is not needed as
291+
qatengine automatically picks qatlib libraries and header from default
292+
location `/usr/lib64`.
293+
278294
<br>
279295
</details>
280296

281297
<details>
282-
<summary>Example 2: qat_hw target with Prebuilt OpenSSL\* 1.1.1</summary>
298+
<summary>Example 2: qat_hw target with Prebuilt OpenSSL\* 1.1.1 or 3.0</summary>
283299
<br>
284300

285301
The following example is assuming:
@@ -288,7 +304,7 @@ The following example is assuming:
288304
* The Intel&reg; QAT Driver was unpacked within `/QAT` and using
289305
the USDM component.
290306
* Prebuilt OpenSSL\* (both library and devel RPM packages) are installed in
291-
the system and the OpenSSL\* version is in the `1.1.1` series.
307+
the system and the OpenSSL\* version is in the `1.1.1 or 3.0` series.
292308

293309
To build and install the Intel&reg; QAT OpenSSL\* Engine:
294310

@@ -302,17 +318,11 @@ In the above example this will create the file `qatengine.so` and copy it to
302318
the engines dir of the system which can be checked using
303319
`pkg-config --variable=enginesdir libcrypto`.
304320

305-
If OpenSSL\* version in the system can not be updated to 1.1.1 series, then
306-
the engine needs to be built from source using the option
307-
`--with-openssl_install_dir`. An additional option `--with-openssl_dir` pointing
308-
to the top directory of the OpenSSL\* source needs to be provided for regenerating
309-
err files if there are any new error messages added/deleted in the source code.
310-
311321
<br>
312322
</details>
313323

314324
<details>
315-
<summary>Example 3: qat_hw + qat_sw target with Prebuilt OpenSSL\* 1.1.1</summary>
325+
<summary>Example 3: qat_hw + qat_sw target with Prebuilt OpenSSL\* 1.1.1 or 3.0</summary>
316326
<br>
317327

318328
The following example is assuming:
@@ -322,7 +332,7 @@ The following example is assuming:
322332
* The Intel&reg; QAT Driver was unpacked within `/QAT` and using
323333
the USDM component.
324334
* Intel&reg; Multi-Buffer Crypto for IPsec Library was installed to the default path
325-
* OpenSSL\* 1.1.1 built from source is being used and installed to `/usr/local/ssl`.
335+
* OpenSSL\* 1.1.1 or 3.0 built from source is being used and installed to `/usr/local/ssl`.
326336

327337
To build and install the Intel&reg; QAT OpenSSL\* Engine:
328338

@@ -345,7 +355,7 @@ make install
345355
</details>
346356

347357
<details>
348-
<summary>Example 4: qat_sw target with Prebuilt OpenSSL\* 1.1.1 </summary>
358+
<summary>Example 4: qat_sw target with Prebuilt OpenSSL\* 1.1.1 or 3.0 </summary>
349359
<br>
350360

351361
The following example is assuming:
@@ -356,7 +366,7 @@ The following example is assuming:
356366
(/usr/local).
357367
* The Intel&reg; Multi-Buffer crypto for IPsec Library was installed to its
358368
default path (/usr/). (Optional if QAT SW AES-GCM support is not needed).
359-
* Prebuilt OpenSSL\* 1.1.1 from the system is used.
369+
* Prebuilt OpenSSL\* 1.1.1 or 3.0 from the system is used.
360370

361371
To build and install the Intel&reg; QAT OpenSSL\* Engine with QAT Software support:
362372

configure.ac

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Process this file with autoconf to produce a configure script.
33

44
AC_PREREQ([2.68])
5-
AC_INIT([qatengine], [0.6.19], [])
5+
AC_INIT([qatengine], [1.0.0], [])
66
AC_CONFIG_SRCDIR([config.h.in])
77
AC_CONFIG_HEADERS([config.h])
88
AC_CONFIG_AUX_DIR([.])
@@ -507,8 +507,6 @@ if test "x$enable_qat_insecure_algorithms" = "xyes"
507507
then
508508
AC_MSG_NOTICE([Insecure Algorithms enabled])
509509
cflags_common="${cflags_common} -DQAT_INSECURE_ALGO"
510-
AC_SUBST([enable_qat_hw_dsa], ["yes"])
511-
AC_SUBST([enable_qat_hw_dh], ["yes"])
512510
else
513511
AC_MSG_NOTICE([Insecure Algorithms disabled])
514512
AC_SUBST([enable_qat_hw_dsa], ["no"])

0 commit comments

Comments
 (0)