GitHub

您所在的位置:网站首页 鲲鹏920处理器内置了哪些加速引擎 GitHub

GitHub

2024-07-15 22:45| 来源: 网络整理| 查看: 265

当前KAE组件将原驱动仓、加密仓、压缩仓归一,统一编排在KAE仓(原来加密仓);并且针对不同的内核版本,将代码分为了kae1分支(4.19内核)和kae2分支(5.10内核)。 1.3.11及历史版本代码和发行包可在原驱动仓、加密仓、压缩仓下载。

原驱动仓KAEdriver 原加密仓KAE 原压缩仓KAEzip

现KAE仓

一、背景及规格 1.1、背景说明

鲲鹏加速引擎是基于鲲鹏处理器提供的硬件加速解决方案,包含了 KAE 加解密和 KAE 解压缩两个模块,分别用于加速 SSL/TLS 应用和数据压缩,可以显著降低处理器消耗,提高处理器效率。此外,加速引擎对应用层屏蔽了其内部实现细节,用户通过 OpenSSL、zlib标准接口即可以实现快速迁移现有业务。

本文介绍了 KAE 的安装流程。

1.2、版本说明

鲲鹏加速引擎(KAE)是一款基于鲲鹏 920 处理器研发的加速器。由于不同内核版本的差异,KAE 存在两套代码用于支持不同的内核代码,分别是 KAE1.0 和 KAE2.0 两套代码分支。其中,KAE1.0 适用于 4.19 内核;而 KAE2.0 适用于 5.1x 内核。

内核版本 设备形态 KAE1.0 KAE2.0 4.19 920 YES NA 5.1x 920 NA YES 1.3、KAE算法规格说明

由于硬件差异,KAE不同版本加速引擎能够支持的加密算法存在不同,支持情况详见以下表格:

鲲鹏 920 摘要算法 SM3 YES 摘要算法 DM5 YES 对称加密算法 SM4-CTR YES 对称加密算法 SM4-XTS YES 对称加密算法 SM4-CBC YES 对称加密算法 SM4-ECB YES 对称加密算法 SM4-OFB YES 对称加密算法 SM4-CFB NA 对称加密算法 AES-ECB YES 对称加密算法 AES-CTR YES 对称加密算法 AES-XTS YES 对称加密算法 AES-CBC YES 对称加密算法 AES-OFB NA 对称加密算法 AES-CFB NA 对称加密算法 AES-GCM NA 对称加密算法 AES-CCM NA 非对称算法 RSA YES 非对称算法 SM2 NA 密钥协商算法 DH YES

注意: 1、对称加密算法 SM4-XTS 不支持 openSSL,只支持内核态使用。

KAE-zlib 解压缩功能支持情况见下表:

支持 zlib/Gzip 数据格式 支持 deflate 算法 可配置压缩等级 鲲鹏920 YES NA NA 二、安装前准备

根据芯片款型及内核版本选择适合的KAE代码进行安装,安装前需要确定环境信息及安装license。

2.1 环境信息确认 以 TaiShan 200 服务器为例,开启 KAE 加速引擎功能 CPU:鲲鹏 920 处理器 iBMC 版本:V365 及以上 BIOS 版本:V105 及以上 KAE1.0 支持操作系统: CentOS 7.6 4.14.0-115.el7a.0.1.aarch64 version SUSE 15.1 4.12.14-195-default.aarch64 version EulerOS 2.8 4.19.36-vhulk1907.1.0.h410.eulerosv2r8.aarch64 version NeoKylin 7.6 4.14.0-115.5.1.el7a.06.aarch64 version BCLinux-R7-U6-Server-aarch64 version Kylin 4.0.2 (juniper) 4.15.0-70-generic version Kylin release 4.0.2 (SP2) 4.19.36-vhulk1907.1.0.h403.ky4.aarch64 version UniKylin Linux release 3(Core) 4.18.0-80.ky3.kb21.hw.aarch64 version Ubuntu 18.04.1 LTS 4.15.0-29-generic version openEuler 20.03 LTS 4.19.90-2003.4.0.0036.oe1.aarch64 version openEuler 20.03 LTS-SP1 4.19.90-2012.4.0.0053.oe1.aarch64 version KAE2.0支持操作系统: openEuler 22.03 LTS-SP1 openEuler 22.03 LTS-SP2 2.2 软件包获取

基于硬件cpu款型及内核OS情况,选择正确的KAE版本后,再获取软件包,用于后续安装。

2.2.1 KAE1.0软件包获取

KAE1.0 版本支持RPM、DEB包安装、源码安装三种方式。

RPM及DEB获取 KAE1.0 rpm 包下载地址:https://gitee.com/kunpengcompute/KAE/releases/tag/v1.2.10

说明:rpm 包的获取需要进入下载地址选取指定操作系统的 rpm 包

KAE1.0 RPM包说明如下表所示:

软件包名称 软件包说明 uacce-版本号-1.OS类型.aarch64.rpmuacce-版本号-1.OS类型.aarch64.deb 统一加速器框架,包含内容:uacce.ko、hisi_qm.ko内核模块 hisi_hpre-版本号-1.OS类型.aarch64.rpmhisi_hpre-版本号-1.OS类型.aarch64.deb 依赖:uacce RPM包 包含内容:hisi_hpre.ko内核模块 支持:RSA/DH算法 hisi_sec2-版本号-1.OS类型.aarch64.rpm hisi_sec2-版本号-1.OS类型.aarch64.deb 依赖:uacce RPM包包含内容:hisi_sec2.ko内核模块 hisi_rde-版本号-1.OS类型.aarch64.rpm hisi_rde-版本号-1.OS类型.aarch64.deb 依赖:uacce RPM包 包含内容:hisi_rde.ko内核模块 支持:FlexEC算法 hisi_zip-版本号-1.OS类型.aarch64.rpmhisi_zip-版本号-1.OS类型.aarch64.deb 依赖:uacce RPM包包含内容:hisi_zip.ko内核模块支持:zlib/gzip libwd-版本号-1.OS类型.aarch64.rpmlibwd-版本号-1.OS类型.aarch64.deb 包含内容:libwd.so动态链接库 提供接口给KAE加速引擎 libkae-版本号-1.OS类型.aarch64.rpm libkae-版本号-1.OS类型.aarch64.deb 依赖:libwd RPM包 包含内容:libkae.so动态库支持:SM3/SM4/RSA/AES/MD5/DH等算法 libkaezip-版本号-1.OS类型.aarch64.rpmlibkaezip-版本号-1.OS类型.aarch64.deb 依赖:libwd RPM/DEB包包含内容:libkaezip.so动态库支持:压缩解压算法 源码包获取

KAE1.0 源码下载方式:git clone https://gitee.com/kunpengcompute/KAE.git -b kae1 或者访问Kunpeng/KAE代码仓下载源码包:https://gitee.com/kunpengcompute/KAE

2.2.2 KAE2.0软件包获取

KAE2.0 版本支持RPM包安装、源码安装两种种方式。

RPM包获取 KAE2.0 rpm包下载地址:尚未发布 源码包获取 KAE2.0 源码下载方式:git clone https://gitee.com/kunpengcompute/KAE.git -b kae2 或者访问Kunpeng/KAE代码仓下载源码包:https://gitee.com/kunpengcompute/KAE 2.3 License安装

安装鲲鹏KAE加速引擎之前需要先安装相应的License,License安装成功之后,操作系统才能识别到加速器设备。

TaiShan K系列服务器硬件KAE加速引擎已默认开启,无需申请License。

具体License申请使用操作可参考《华为服务器iBMC许可证 使用指导》。

通过lspci命令进行查看操作系统是否有加速器设备,如下所示。

lspci | grep HPRE 79:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) b9:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon HPRE Engine (rev 21) lspci | grep RDE 78:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) b8:01.0 RAID bus controller: Huawei Technologies Co., Ltd. HiSilicon RDE Engine (rev 21) lspci | grep ZIP 75:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) b5:00.0 Processing accelerators: Huawei Technologies Co., Ltd. HiSilicon ZIP Engine (rev 21) lspci | grep SEC 76:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) b6:00.0 Network and computing encryption device: Huawei Technologies Co., Ltd. HiSilicon SEC Engine (rev 21) 2.4 KAE安装 2.4.1 KAE1.0版本 二进制包安装

前提条件: 请保证rpm下载完成,并且license获取成功。 RPM或dpkg工具能正常使用。 OpenSSL 1.1.1a或以上版本已正确安装。

hisi_hpre,hisi_sec2,hisi_rde驱动软件包依赖于uacce软件包;libkae引擎软件包依赖于libwd软件包。 如果仅加速RSA/DH算法建议只需要安装uacce、hisi_hpre、libwd、libkae软件包。 如果仅加速AES/MD5/SM3/SM4算法建议只需要安装uacce、hisi_sec2、libwd、libkae软件

步骤1 使用SSH远程登录工具,以root帐号进入Linux操作系统命令行界面。

步骤2 将KAE加速引擎软件包拷贝到自定义路径下。

步骤3 安装加速驱动软件包。

可以通过rpm -ivh *.rpm安装所有KAE加速引擎软件包。

[root]rpm -ivh *.rpm Preparing... ################################# [100%] checking installed modules Updating / installing... 1:uacce-1.0.1-1.centos7.6 ################################# [ 14%] modules installed 2:libwd-1.0.1-1.centos7.6 ################################# [ 29%] 3:libkae-1.0.1-1.centos7.6 ################################# [ 43%] checking installed modules 4:hisi_hpre-1.0.1-1.centos7.6 ################################# [ 57%] modules installed checking installed modules 5:hisi_rde-1.0.1-1.centos7.6 ################################# [ 71%] modules installed checking installed modules 6:hisi_sec2-1.0.1-1.centos7.6 ################################# [ 86%] modules installed checking installed modules 7:hisi_zip-1.0.1-1.centos7.6 ################################# [100%] checking installed modules

也可以按需依次安装rpm,以下以uacce-1.0.1为例

[root]rpm -ivh uacce-1.0.1-1.centos7.6.aarch64.rpm Preparing... ################################# [100%] checking installed modules Updating / installing... 1:uacce-1.0.1-1.centos7.6 ################################# [100%] modules installed

安装libkae引擎软件包时还需要通过--prefix指定OpenSSL引擎的路径,命令与回显结果如下:

[root]rpm -ivh libkae-1.0.1-1.centos7.6.aarch64.rpm --prefix=/usr/local/lib/engines-1.1 Preparing... ################################# [100%] Updating / installing... 1:libkae-1.0.1-1.centos7.6 ################################# [100%]

步骤4 查看RPM软件是否已正常安装到系统内。

查看uacce是否已安装。

rpm -ql uacce /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_qm.ko /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/uacce.ko

查看hisi_sec2、hisi_hpre、hisi_rde是否已安装。

rpm -ql hisi_sec2 hisi_hpre hisi_rde /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_sec2.ko /etc/modproe.d/hisi_sec2.conf /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_hpre.ko /etc/modproe.d/hisi_hpre.conf /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_rde.ko /etc/modproe.d/hisi_rde.conf

查看hisi_zip是否已安装。

rpm -ql hisi_zip /lib/modules/4.14.0-115.el7a.0.1.aarch64/extra/hisi_zip.ko /etc/modproe.d/hisi_zip.conf

查看安装目录下是否生成对应模块。

ls -al /lib/modules/`uname -r`/extra -rw-r--r--. 1 root root 681104 Nov 12 17:32 hisi_hpre.ko -rw-r--r--. 1 root root 618888 Nov 12 17:32 hisi_qm.ko -rw-r--r--. 1 root root 844728 Nov 12 17:32 hisi_rde.ko -rw-r--r--. 1 root root 729304 Nov 12 17:32 hisi_sec2.ko -rw-r--r--. 1 root root 396784 Nov 12 17:32 hisi_zip.ko -rw-r--r--. 1 root root 467160 Nov 12 17:32 uacce.ko

在“/etc/modprobe.d/”目录下查看是否生成对应的配置文件。

ls -al /etc/modprobe.d/ -rw-r--r--. 1 root root 166 Oct 30 2018 firewalld-sysctls.conf -rw-r--r--. 1 root root 44 Nov 17 21:56 hisi_hpre.conf -rw-r--r--. 1 root root 43 Nov 17 21:56 hisi_rde.conf -rw-r--r--. 1 root root 61 Nov 17 21:56 hisi_sec2.conf -rw-r--r--. 1 root root 674 Jul 4 2018 tuned.conf -rw-r--r--. 1 root root 43 Nov 17 21:56 hisi_zip.conf

步骤5(可选)如果是SUSE操作系统,在加载外部驱动前需要先将配置文件“/etc/modprobe.d/10-unsupported-modules.conf”中的“allow_unsupported_modules”参数值设置为“1”。

步骤6 加载加速器驱动到内核。

方式一:重启系统加载 方式二:手动依次加载

查询已载入内核的uacce驱动模块。

lsmod | grep uacce

加载uacce驱动。 modprobe uacce 加载hisi_sec2驱动,将根据“/etc/modprobe.d/hisi_sec2.conf”下的配置文件加载到内核。 modprobe hisi_sec2 加载hisi_hpre驱动,将根据“/etc/modprobe.d/hisi_hpre.conf”下的配置文件加载到内核。 modprobe hisi_hpre 加载hisi_rde驱动,将根据“/etc/modprobe.d/hisi_rde.conf”下的配置文件加载到内核。 modprobe hisi_rde 加载hisi_zip驱动,将根据/etc/modprobe.d/hisi_zip.conf下的配置文件加载到内核。 modprobe hisi_zip 再次查询已载入内核的uacce驱动模块。有以下加载的模块显示则表示加载成功。

lsmod | grep uacce uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre,hisi_rde,hisi_zip

(可选)使用加解密功能时候,设置环境变量OPENSSL_ENGINES 如果用户指定安装路径,则下面/usr/local/lib/engines-1.1应根据实际安装路径进行修改。

export OPENSSL_ENGINES=/usr/local/lib/engines-1.1

说明:该环境变量默认为指定挂载到OpenSSL中的引擎路径,可以指定到客户自定义路径。

(dep包安装同rpm安装,rpm -ivh XXX.rpm 对应为 dpkg -i XXX.deb )

源码安装

步骤1 下载代码

git clone https://gitee.com/kunpengcompute/KAE.git -b kae1

步骤2 安装内核驱动

cd kae_drvier make make install

加速器驱动编译生成uacce.ko、hisi_qm.ko、hisi_sec2.ko、hisi_hpre.ko、hisi_zip.ko、hisi_rde.ko,安装路径为:“lib/modules/uname -r/extra”。

由于SUSE及CentOS内核目录为“/lib/modules/`uname -r`/”,驱动安装的目录为“/lib/modules/`uname -r`/extra”(`uname -r`命令获取当前运行内核信息)。如果其他操作系统不是该目录,需要修改Makefile文件中install指定的内核路径。 install: $(shell mkdir -p /lib/modules/`uname -r`/extra)修改为$(shell mkdir -p内核路径/extra)

步骤3 安装用户态驱动。

cd warpdrive sh autogen.sh ./configure make make install

其中,执行编译命令./configure时可以加--prefix选项用于指定加速器用户态驱动需要安装的位置,用户态驱动动态库文件为libwd.so。Warpdrive默认安装路径为“/usr/local”,动态库文件在“/usr/local/lib”下。

说明:KAE引擎需要使用到OpenSSL的动态库与Warpdrive的动态库。Warpdrive源码安装路径选择需要与OpenSSL安装路径保持一致,使得KAE加速引擎可以通过LD_LIBRARY_PATH能够同时找到这两个动态库。

步骤4 (可选)如果是SUSE操作系统,在加载外部驱动前需要先将配置文件“/etc/modprobe.d/10-unsupported-modules.conf”中的“allow_unsupported_modules”参数值设置为“1”。

步骤5

方式一:重启系统加载

方式二:手动依次加载

查询已载入内核的uacce驱动模块。

lsmod | grep uacce

加载uacce驱动。 modprobe uacce 加载hisi_sec2驱动,将根据“/etc/modprobe.d/hisi_sec2.conf”下的配置文件加载到内核。 modprobe hisi_sec2 加载hisi_hpre驱动,将根据“/etc/modprobe.d/hisi_hpre.conf”下的配置文件加载到内核。 modprobe hisi_hpre 加载hisi_rde驱动,将根据“/etc/modprobe.d/hisi_rde.conf”下的配置文件加载到内核。 modprobe hisi_rde 加载hisi_zip驱动,将根据/etc/modprobe.d/hisi_zip.conf下的配置文件加载到内核。 modprobe hisi_zip 再次查询已载入内核的uacce驱动模块。有以下加载的模块显示则表示加载成功。

lsmod | grep uacce uacce 36864 3 hisi_sec2,hisi_qm,hisi_hpre,hisi_rde,hisi_zip

(可选)设置环境变量OPENSSL_ENGINES 如果用户指定安装路径,则下面/usr/local/lib/engines-1.1应根据实际安装路径进行修改。

export OPENSSL_ENGINES=/usr/local/lib/engines-1.1

说明:该环境变量默认为指定挂载到OpenSSL中的引擎路径,可以指定到客户自定义路径。

步骤6 编译安装KAE加速引擎

cd KAE chmod +x config ./configure make clean & make make install

其中,执行编译命令./configure时可以加--prefix选项用于指定KAE加速引擎的安装路径,KAE加速引擎动态库文件为libkae.so。 推荐通过默认方式安装KAE加速引擎。默认安装路径为“/usr/local”,动态库文件在“/usr/local/lib/engines-1.1”下。

步骤7 检查安装状态

ls -al /usr/local/lib/ |grep libwd lrwxrwxrwx. 1 root root 14 Jun 25 11:16 libwd.so -> libwd.so.1.0.1 lrwxrwxrwx. 1 root root 14 Jun 25 11:16 libwd.so.0 -> libwd.so.1.0.1 -rwxr-xr-x. 1 root root 137280 Jun 24 11:37 libwd.so.1.0.1 ls -al /usr/local/lib/engines-1.1/ lrwxrwxrwx. 1 root root 48 Jun 25 11:21 kae.so -> /usr/local/openssl/lib/engines-1.1/kae.so.1.0.1 lrwxrwxrwx. 1 root root 48 Jun 25 11:21 kae.so.0 -> /usr/local/openssl/lib/engines-1.1/kae.so.1.0.1 -rwxr-xr-x. 1 root root 212192 Jun 24 11:37 kae.so.1.0.1

查看虚拟文件系统下加速器设备

ls -al /sys/class/uacce/ total 0 lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2 lrwxrwxrwx. 1 root root 0 Nov 14 03:45 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3 lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-4 -> ../../devices/pci0000:78/0000:78:01.0/uacce/hisi_rde-4 lrwxrwxrwx. 1 root root 0 Nov 17 22:09 hisi_rde-5 -> ../../devices/pci0000:b8/0000:b8:01.0/uacce/hisi_rde-5 lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec-0 lrwxrwxrwx. 1 root root 0 Nov 14 08:39 hisi_sec-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec-1

步骤8 通过openssl命令验证加速器是否生效。

[root]openssl speed rsa2048 sign verify sign/s verify/s rsa 2048 bits 0.001381s 0.000035s 724.1 28601.0 [root]openssl speed -engine kae rsa2048 engine "kae" set. sign verify sign/s verify/s rsa 2048 bits 0.000175s 0.000021s 5730.1 46591.8

通过ldd命令查看zlib加速库是否链接到libwd和libkaezip。

ldd /usr/local/kaezip/lib/libz.so.1.2.11 linux-vdso.so.1 => (0x0000ffff80280000) libc.so.6 => /lib64/libc.so.6 (0x0000ffff80080000) libwd.so.1 => /lib64/libwd.so.1 (0x0000ffff80040000) /lib/ld-linux-aarch64.so.1 (0x0000ffff80290000) libkaezip.so => /usr/local/kaezip/lib/libkaezip.so (0x0000ffff80830000) 2.4.2 KAE2.0版本 二进制包安装

RPM包尚未发布。

源码安装

通过2.2节获取到源码后,进入KAE文件夹,目录结构如下所示:

-rw-r--r--. 1 root root 6921 Aug 4 16:37 build.sh drwxr-xr-x. 7 root root 4096 Aug 15 17:13 KAEKernelDriver drwxr-xr-x. 7 root root 4096 Aug 15 17:13 KAEOpensslEngine drwxr-xr-x. 9 root root 4096 Aug 15 17:19 KAEZlib drwxr-xr-x. 8 root root 4096 Aug 8 10:45 KAEZstd -rw-r--r--. 1 root root 5 Jul 27 17:25 README.md drwxr-xr-x. 3 root root 4096 Jul 27 17:25 scripts drwxr-xr-x. 14 root root 4096 Aug 15 17:13 uadk

需要依次安装驱动、安装UADK、安装OpensslEngine(按需)、安装Zlib(按需)。

安装驱动 [root@localhost KAE]# sh build.sh driver build driver make -C /lib/modules/`rpm -q --qf '%{VERSION}-%{RELEASE}.%{ARCH}\n' kernel-devel | head -n 1`/build M=/home/USER/KAE/KAEKernelDriver modules \ CONFIG_CC_STACKPROTECTOR_STRONG=y \ CONFIG_UACCE=m \ CONFIG_CRYPTO_QM_UACCE=m \ CONFIG_CRYPTO_DEV_HISI_SGL=m \ CONFIG_CRYPTO_DEV_HISI_QM=m \ CONFIG_CRYPTO_DEV_HISI_ZIP=m \ CONFIG_CRYPTO_DEV_HISI_HPRE=m \ CONFIG_CRYPTO_DEV_HISI_SEC2=m \ CONFIG_CRYPTO_DEV_HISI_TRNG=m make[1]: Entering directory '/usr/src/kernels/5.10.0-146.0.0.75.oe2203sp2.aarch64' CC [M] /home/USER/KAE/KAEKernelDriver/uacce/uacce.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/qm.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/sgl.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/debugfs.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/sec2/sec_main.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/hpre/hpre_main.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/zip/zip_main.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/hpre/hpre_crypto.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/sec2/sec_crypto.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/zip/zip_crypto.o LD [M] /home/USER/KAE/KAEKernelDriver/hisilicon/zip/hisi_zip.o LD [M] /home/USER/KAE/KAEKernelDriver/hisilicon/hpre/hisi_hpre.o LD [M] /home/USER/KAE/KAEKernelDriver/hisilicon/sec2/hisi_sec2.o LD [M] /home/USER/KAE/KAEKernelDriver/hisilicon/hisi_qm.o MODPOST /home/USER/KAE/KAEKernelDriver/Module.symvers CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/hisi_qm.mod.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/hpre/hisi_hpre.mod.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/sec2/hisi_sec2.mod.o CC [M] /home/USER/KAE/KAEKernelDriver/hisilicon/zip/hisi_zip.mod.o CC [M] /home/USER/KAE/KAEKernelDriver/uacce/uacce.mod.o LD [M] /home/USER/KAE/KAEKernelDriver/hisilicon/hpre/hisi_hpre.ko LD [M] /home/USER/KAE/KAEKernelDriver/hisilicon/hisi_qm.ko LD [M] /home/USER/KAE/KAEKernelDriver/hisilicon/zip/hisi_zip.ko LD [M] /home/USER/KAE/KAEKernelDriver/hisilicon/sec2/hisi_sec2.ko LD [M] /home/USER/KAE/KAEKernelDriver/uacce/uacce.ko make[1]: Leaving directory '/usr/src/kernels/5.10.0-146.0.0.75.oe2203sp2.aarch64' depmod -a modprobe uacce modprobe hisi_qm modprobe hisi_sec2 uacce_mode=2 pf_q_num=256 modprobe hisi_hpre uacce_mode=2 pf_q_num=256 modprobe hisi_zip uacce_mode=2 pf_q_num=256 echo "options hisi_sec2 uacce_mode=2 pf_q_num=256" > /etc/modprobe.d/hisi_sec2.conf echo "options hisi_hpre uacce_mode=2 pf_q_num=256" > /etc/modprobe.d/hisi_hpre.conf echo "options hisi_zip uacce_mode=2 pf_q_num=256" > /etc/modprobe.d/hisi_zip.conf

可以通过查看目录/sys/class/uacce是否存在加速引擎文件系统判断驱动是否安装成功。

[root@localhost KAE]# ll /sys/class/uacce/ total 0 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_hpre-2 -> ../../devices/pci0000:78/0000:78:00.0/0000:79:00.0/uacce/hisi_hpre-2 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_hpre-3 -> ../../devices/pci0000:b8/0000:b8:00.0/0000:b9:00.0/uacce/hisi_hpre-3 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_sec2-0 -> ../../devices/pci0000:74/0000:74:01.0/0000:76:00.0/uacce/hisi_sec2-0 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_sec2-1 -> ../../devices/pci0000:b4/0000:b4:01.0/0000:b6:00.0/uacce/hisi_sec2-1 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_zip-4 -> ../../devices/pci0000:74/0000:74:00.0/0000:75:00.0/uacce/hisi_zip-4 lrwxrwxrwx. 1 root root 0 Aug 22 17:14 hisi_zip-5 -> ../../devices/pci0000:b4/0000:b4:00.0/0000:b5:00.0/uacce/hisi_zip-5

说明: 若无内容显示,可能是因为uacce默认安装了内核版本,可以先卸载后重新安装。 sh build cleanup

安装UADK sh build.sh uadk ...

可以通过查找libwd*.so来确定是否安装成功

[root@localhost KAE]# ll /usr/local/lib/libwd* -rwxr-xr-x. 1 root root 961 Aug 22 17:23 /usr/local/lib/libwd_comp.la lrwxrwxrwx. 1 root root 19 Aug 22 17:23 /usr/local/lib/libwd_comp.so -> libwd_comp.so.2.5.0 lrwxrwxrwx. 1 root root 19 Aug 22 17:23 /usr/local/lib/libwd_comp.so.2 -> libwd_comp.so.2.5.0 -rwxr-xr-x. 1 root root 377872 Aug 22 17:23 /usr/local/lib/libwd_comp.so.2.5.0 -rwxr-xr-x. 1 root root 973 Aug 22 17:23 /usr/local/lib/libwd_crypto.la lrwxrwxrwx. 1 root root 21 Aug 22 17:23 /usr/local/lib/libwd_crypto.so -> libwd_crypto.so.2.5.0 lrwxrwxrwx. 1 root root 21 Aug 22 17:23 /usr/local/lib/libwd_crypto.so.2 -> libwd_crypto.so.2.5.0 -rwxr-xr-x. 1 root root 715616 Aug 22 17:23 /usr/local/lib/libwd_crypto.so.2.5.0 -rwxr-xr-x. 1 root root 907 Aug 22 17:23 /usr/local/lib/libwd.la lrwxrwxrwx. 1 root root 14 Aug 22 17:23 /usr/local/lib/libwd.so -> libwd.so.2.5.0 lrwxrwxrwx. 1 root root 14 Aug 22 17:23 /usr/local/lib/libwd.so.2 -> libwd.so.2.5.0 -rwxr-xr-x. 1 root root 1342080 Aug 22 17:23 /usr/local/lib/libwd.so.2.5.0 安装OpenSSLEngine(按需) sh build.sh engine ...

可以通过查看kae.so判断是否安装成功

[root@localhost KAE]# ll /usr/local/lib/engines-1.1 total 5644 -rw-r--r--. 1 root root 3846524 Aug 22 17:28 kae.a -rwxr-xr-x. 1 root root 995 Aug 22 17:28 kae.la lrwxrwxrwx. 1 root root 12 Aug 22 17:28 kae.so -> kae.so.2.0.0 lrwxrwxrwx. 1 root root 12 Aug 22 17:28 kae.so.2 -> kae.so.2.0.0 -rwxr-xr-x. 1 root root 1967736 Aug 22 17:28 kae.so.2.0.0

也可以通过openssl speed命令查看加速引擎是否生效:

[root@localhost KAE]# openssl speed rsa2048 Doing 2048 bits private rsa's for 10s: 7779 2048 bits private RSA's in 9.99s Doing 2048 bits public rsa's for 10s: 321542 2048 bits public RSA's in 9.99s OpenSSL 1.1.1m 14 Dec 2021 built on: Thu Apr 13 09:58:22 2023 UTC options:bn(64,64) md2(char) rc4(char) des(int) aes(partial) idea(int) blowfish(ptr) compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -Wa,--noexecstack -specs=/usr/lib/rpm/generic-hardened-ld -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DSM4_ASM -DVPSM4_EX_ASM -DSM3_ASM -DZLIB -DNDEBUG -DPURIFY -DDEVRANDOM="\"/dev/urandom\"" sign verify sign/s verify/s rsa 2048 bits 0.001284s 0.000031s 778.7 32186.4 [root@localhost KAE]# export OPENSSL_ENGINES=/usr/local/lib/engines-1.1 [root@localhost KAE]# openssl speed -engine kae rsa2048 engine "kae" set. Doing 2048 bits private rsa's for 10s: 32132 2048 bits private RSA's in 4.95s Doing 2048 bits public rsa's for 10s: 517087 2048 bits public RSA's in 9.95s OpenSSL 1.1.1m 14 Dec 2021 built on: Thu Apr 13 09:58:22 2023 UTC options:bn(64,64) md2(char) rc4(char) des(int) aes(partial) idea(int) blowfish(ptr) compiler: gcc -fPIC -pthread -Wa,--noexecstack -Wall -O3 -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/generic-hardened-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -Wa,--noexecstack -specs=/usr/lib/rpm/generic-hardened-ld -DOPENSSL_USE_NODELETE -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_BN_ASM_MONT -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DVPAES_ASM -DECP_NISTZ256_ASM -DPOLY1305_ASM -DSM4_ASM -DVPSM4_EX_ASM -DSM3_ASM -DZLIB -DNDEBUG -DPURIFY -DDEVRANDOM="\"/dev/urandom\"" sign verify sign/s verify/s rsa 2048 bits 0.000154s 0.000019s 6491.3 51968.5 安装KAEZlib(按需) sh build.sh zlib

通过ldd命令查看zlib加速库是否链接到libwd和libkaezip。

linux-vdso.so.1 (0x0000ffffb0282000) libc.so.6 => /usr/lib64/libc.so.6 (0x0000ffffb0075000) libkaezip.so.2.0.0 => /usr/local/kaezip/lib/libkaezip.so.2.0.0 (0x0000ffffb0044000) libwd.so.2 => /usr/local/lib/libwd.so.2 (0x0000ffffaffe3000) libwd_comp.so.2 => /usr/local/lib/libwd_comp.so.2 (0x0000ffffaffb2000) /lib/ld-linux-aarch64.so.1 (0x0000ffffb0245000) libnuma.so.1 => /usr/lib64/libnuma.so.1 (0x0000ffffaff8d000)

说明:脚本提供一键式安装命令:sh build.sh all, 初次使用前建议先 sh build.sh cleanup



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3