我想在 am335x 中使用 AES 硬件加速器。我能够生成cryptodev.ko
和cryptosoft.ko
驱动程序。在我的应用程序中,我在 CBC 模式下使用 openssl api,我想验证硬件加速器的使用情况。
我可以跟踪控制流,直到driver/omap-aes.c
. 但是因为cat /proc/interrupts
我得到了 forsham@53100000
但不是 for的条目aes@53500000
。这是什么原因?如何确保正在使用 AES 的硬件加速器?
我想在 am335x 中使用 AES 硬件加速器。我能够生成cryptodev.ko
和cryptosoft.ko
驱动程序。在我的应用程序中,我在 CBC 模式下使用 openssl api,我想验证硬件加速器的使用情况。
我可以跟踪控制流,直到driver/omap-aes.c
. 但是因为cat /proc/interrupts
我得到了 forsham@53100000
但不是 for的条目aes@53500000
。这是什么原因?如何确保正在使用 AES 的硬件加速器?
这里有一个关于 AM335x 的 Crypto 硬件的 TI wiki 页面。在该页面上有一个关于如何比较硬件加速器与纯软件实现的性能的教程。
安装模块后,可以通过 OCF-Linux 驱动程序执行利用硬件加速器的 OpenSSL 命令。以下示例演示了 OpenSSL 内置速度测试以演示性能。添加参数-engine cryptodev告诉 OpenSSL 使用 OCF-Linux 驱动程序(如果存在)。
如果硬件加速器已启用并正常工作,则运行time -v openssl speed -evp aes-128-cbc -engine cryptodev
并应该产生非常不同的结果。time -v openssl speed -evp aes-128-cbc
您可能还需要删除加密驱动程序,因为该页面建议查看差异。如果您运行这些测试并且发现性能没有明显差异,这可能意味着硬件无法正常工作,您应该确保正确配置了内核(该信息也在提供的链接中)。