@@ -49,11 +49,12 @@ Installation consists of the following:
4949
5050| Platform | Getting Started Guide |
5151| ----| -|
52- | Intel® ; Xeon® ; with Intel® ; C62X Series Chipset<br >Intel® ; Atom&trade ; Processor <br > Intel® ; Communications Chipset 8925 to 8955 Series:| Intel® ; QuickAssist Technology Software for Linux\* - [ Getting Started Guide - HW version 1.7 (336212)] ( https://01.org/sites/default/files/downloads/336212007qatswgsg.pdf ) |
52+ | Intel® ; Xeon® ; with Intel® ; C62X Series Chipset<br >Intel® ; Atom&trade ; Processor with Intel® C3xx series <br > Intel® ; Communications Chipset 8925 to 8955 Series| Intel® ; 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® ; QAT Software for Linux\* - [ Getting Started Guide Hardware v2.0] ( https://cdrdv2.intel.com/v1/dl/getContent/632506 ) |
5354
5455Other technical collaterals of the Intel® ; QuickAssist Technology driver
5556can be found in the below page.
56- - [ Intel® ; QuickAssist Technology] ( https://developer.intel.com/quickassist )
57+ * [ Intel® ; 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® ; QAT Driver HW Version 1.7 comes with its own
69+ The Intel® ; QAT Driver for QAT_HW comes with its own
6970contiguous pinned memory driver that is compatible with the Intel® ; QAT
7071OpenSSL\* Engine. The USDM component is of a higher quality than the
7172qat\_ contig\_ mem driver provided within the Intel® ; QAT OpenSSL\* Engine,
7273and is the preferred option. The USDM component is used by the Intel® ; 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® ; QAT Driver HW Version 1.7
83+ The USDM component is located within the Intel® ; QAT Driver for QAT_HW
8284source 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
8486already been built when the driver was built. It may also already be loaded as
8587well, and you can check by running ` lsmod ` and looking for usdm_drv in the list.
8688If not present it can be loaded as follows:
8789
8890``` bash
8991modprobe 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
138147This step is not required if building the Intel® ; 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
140149the engine library is installed in the system OpenSSL engines directory.
141150
142151Clone OpenSSL\* from Github\* at the following location:
@@ -150,10 +159,6 @@ and 3.0 are only supported.
150159Due to the nature of the Intel® ; QAT OpenSSL\* Engine being a dynamic engine
151160it 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-
157162Note: It is not recommended to install the accelerated version of OpenSSL\* as
158163your default system library. If you do, you may find that acceleration is used
159164unexpectedly 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
208213is achieved by exporting the following environment variable (assuming the
209214example 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
213220Note: 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
216223Load/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® QAT OpenSSL\*
251258Engine 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
257264The following example is assuming:
258265
259266* The Intel® ; QAT OpenSSL\* Engine was cloned to its own location at the root
260267 of the drive: ` / ` .
261- * The Intel® ; QAT Driver was unpacked within ` /QAT ` and using
268+ * The Intel® ; 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
265272To build and install the Intel® ; QAT OpenSSL\* Engine:
266273
@@ -275,11 +282,20 @@ make install
275282
276283In 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
285301The following example is assuming:
@@ -288,7 +304,7 @@ The following example is assuming:
288304* The Intel® ; 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
293309To build and install the Intel® ; QAT OpenSSL\* Engine:
294310
@@ -302,17 +318,11 @@ In the above example this will create the file `qatengine.so` and copy it to
302318the 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
318328The following example is assuming:
@@ -322,7 +332,7 @@ The following example is assuming:
322332* The Intel® ; QAT Driver was unpacked within ` /QAT ` and using
323333 the USDM component.
324334* Intel® ; 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
327337To build and install the Intel® ; 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
351361The following example is assuming:
@@ -356,7 +366,7 @@ The following example is assuming:
356366 (/usr/local).
357367* The Intel® ; 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
361371To build and install the Intel® ; QAT OpenSSL\* Engine with QAT Software support:
362372
0 commit comments