Open denisl78 opened 7 months ago
The compilation issue will be fixed in the upcoming driver release for this kernel.
Please use the latest driver QAT.L.4.25.0-00001 from https://www.intel.com/content/www/us/en/download/19734/intel-quickassist-technology-driver-for-linux-hw-version-1-x.html and let us know if you still see any issues.
Build still fails on RHEL9.4 with 4.25.0-00001, but with a slightly different error message:
In file included from <command-line>:
/usr/local/src/qat-4.25.0-00001/quickassist/qat/drivers/crypto/qat/qat_common/qdm.c: In function ‘qdm_iommu_mem_map’:
/usr/local/src/qat-4.25.0-00001/quickassist/qat/compat/qat_compat.h:492:9: error: too few arguments to function ‘iommu_map’
492 | iommu_map(domain, iova, paddr, size, flags)
| ^~~~~~~~~
/usr/local/src/qat-4.25.0-00001/quickassist/qat/drivers/crypto/qat/qat_common/qdm.c:123:16: note: in expansion of macro ‘iommu_map’
123 | return iommu_map(domain, *iova, paddr, size,
| ^~~~~~~~~
In file included from /usr/local/src/qat-4.25.0-00001/quickassist/qat/compat/qat_compat.h:490,
from <command-line>:
./include/linux/iommu.h:478:12: note: declared here
478 | extern int iommu_map(struct iommu_domain *domain, unsigned long iova,
| ^~~~~~~~~
/usr/local/src/qat-4.25.0-00001/quickassist/qat/drivers/crypto/qat/qat_common/qdm.c:125:1: error: control reaches end of non-void function [-Werror=return-type]
125 | }
| ^
cc1: some warnings being treated as errors
make[6]: *** [scripts/Makefile.build:299: /usr/local/src/qat-4.25.0-00001/quickassist/qat/drivers/crypto/qat/qat_common/qdm.o] Error 1
make[6]: *** Waiting for unfinished jobs....
make[5]: *** [scripts/Makefile.build:585: /usr/local/src/qat-4.25.0-00001/quickassist/qat/drivers/crypto/qat/qat_common] Error 2
make[4]: *** [scripts/Makefile.build:585: /usr/local/src/qat-4.25.0-00001/quickassist/qat/drivers/crypto/qat] Error 2
make[3]: *** [Makefile:1934: /usr/local/src/qat-4.25.0-00001/quickassist/qat] Error 2
make[3]: Leaving directory '/usr/src/kernels/5.14.0-427.20.1.el9_4.x86_64'
make[2]: *** [Makefile:61: modules] Error 2
make[2]: Leaving directory '/usr/local/src/qat-4.25.0-00001/quickassist/qat'
make[1]: *** [Makefile:1894: qat-driver-all] Error 2
make[1]: Leaving directory '/usr/local/src/qat-4.25.0-00001'
make: *** [Makefile:783: all] Error 2
This is due to line 489 of quickassist/qat/compat/qat_compat.h
, where there's now an RHEL version check that's hard-coded to only accept 9.3:
#elif KERNEL_VERSION(6, 2, 16) > LINUX_VERSION_CODE && \
KERNEL_VERSION(3, 2, 45) < LINUX_VERSION_CODE && \
!(RHEL_RELEASE_CODE && RHEL_RELEASE_VERSION(9, 3) == RHEL_RELEASE_CODE)
If you change it to (9, 4)
it'll build on 9.4. It might be better to make it into a minimum version check instead, so a new QAT release wouldn't have to be made every time there's a new release of RHEL9.
Using QAT.L.4.24.0-00005.tar.gz to build from : https://www.intel.com/content/www/us/en/download/19734/intel-quickassist-technology-driver-for-linux-hw-version-1-x.html