QAT源代码中Samples的构建规则,默认情况下并没有编译功能(func)测试的case,为了使用func的测试case可以通过如下的修改生成测试case:
1. 修改构建规则
如上图在Makefile.in文件中添加如下两句:
$(MAKE) func -C $(ICP_ROOT)/quickassist/lookaside/access_layer/src/sample_code; \
$(CP) $(ICP_ROOT)/quickassist/lookaside/access_layer/src/sample_code/functional/build/*sample $(ICP_BUILD_OUTPUT); \
添加完成之后,编译代码会出现如下错误(提示在编译cpa_eddsa_sample.c时找不到osalHashSHA512Full函数):
2. 修复BUG
如下图所示,修改ccat/quickassist/lookaside/access_layer/src/sample_code/functional/Makefile文件,将156行的代码屏蔽掉,就不会再出上面的问题了。
#MONTEDWDS_SUPPORTED = $(shell strings $(ICP_BUILD_OUTPUT)/$(DRV_OBJ) | grep -q cpaCyEcMontEdwdsPointMultiply 1>&2 2> /dev/null; echo $$?)
3. 精细化修改
第2章节中修复的bug的思路略显粗暴,找到”根”才是出了问题之道。添加如下的这个库,就能解决找不到osalHashSHA512Full的问题。