[meta-intel] [meta-intel-qat][PATCH 3/3] qat16: fix build with musl and x32

Anuj Mittal anuj.mittal at intel.com
Tue Jan 23 19:50:11 PST 2018


Make sure that the architecture dependent types are defined
correctly. Prevents errors like:

| quickassist/lookaside/access_layer/src/qat_direct/src/adf_user_ETring_mgr_dp.c: In function 'icp_adf_getQueueMemory':
| quickassist/lookaside/access_layer/src/qat_direct/src/adf_user_ETring_mgr_dp.c:83:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
|          (((UARCH_INT)pRingHandle->ring_virt_addr)
|            ^
| quickassist/lookaside/access_layer/src/qat_direct/src/adf_user_ETring_mgr_dp.c:82:19: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
|      *targetAddr = (Cpa32U*)
|                    ^
| quickassist/lookaside/access_layer/src/qat_direct/src/adf_user_ETring_mgr_dp.c: In function 'icp_adf_getSingleQueueAddr':
| quickassist/lookaside/access_layer/src/qat_direct/src/adf_user_ETring_mgr_dp.c:112:11: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
|          (((UARCH_INT)pRingHandle->ring_virt_addr)
|            ^

Partially fixes [YOCTO #12121]

Signed-off-by: Anuj Mittal <anuj.mittal at intel.com>
---
 .../qat/files/qat16-Osal-fix-build-with-x32.patch  | 53 ++++++++++++++++++++++
 recipes-extended/qat/qat16.inc                     |  2 +-
 2 files changed, 54 insertions(+), 1 deletion(-)
 create mode 100644 recipes-extended/qat/files/qat16-Osal-fix-build-with-x32.patch

diff --git a/recipes-extended/qat/files/qat16-Osal-fix-build-with-x32.patch b/recipes-extended/qat/files/qat16-Osal-fix-build-with-x32.patch
new file mode 100644
index 0000000..2f794ce
--- /dev/null
+++ b/recipes-extended/qat/files/qat16-Osal-fix-build-with-x32.patch
@@ -0,0 +1,53 @@
+From 8da85286efc86b4f5bbf14f755c84d1982841973 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal at intel.com>
+Date: Wed, 3 Jan 2018 15:45:59 +0800
+Subject: [PATCH] Osal: fix build with x32
+
+x32 follows ILP32 model and has __x86_64__ defined too. Make sure
+that we check for ILP32 also before using architecture dependent
+types.
+
+Upstream-Status: Accepted [Code released in tarball form only]
+
+Signed-off-by: Anuj Mittal <anuj.mittal at intel.com>
+---
+ quickassist/adf/platform/include/adf_platform_common.h | 2 +-
+ quickassist/utilities/osal/include/OsalTypes.h         | 4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/quickassist/adf/platform/include/adf_platform_common.h b/quickassist/adf/platform/include/adf_platform_common.h
+index 8673ec1..de5c31a 100755
+--- a/quickassist/adf/platform/include/adf_platform_common.h
++++ b/quickassist/adf/platform/include/adf_platform_common.h
+@@ -207,7 +207,7 @@
+  *     xx refers to arch, i.e.64bit or 32bit
+  *     yy refers to number of bytes copied from src to dst, i.e. 64 or 128 bytes
+  */
+-#ifdef __x86_64__
++#if (defined (__x86_64__) && !defined (__ILP32__))
+ #define adf_memcpy64_64(dst, src)\
+ do {                              \
+     __asm__ __volatile__ (        \
+diff --git a/quickassist/utilities/osal/include/OsalTypes.h b/quickassist/utilities/osal/include/OsalTypes.h
+index d8fa1d9..eaf08bf 100755
+--- a/quickassist/utilities/osal/include/OsalTypes.h
++++ b/quickassist/utilities/osal/include/OsalTypes.h
+@@ -160,13 +160,13 @@ typedef volatile INT32 VINT32;
+  */
+ #define OSAL_HUNDRED (100)
+ 
+-#ifdef __x86_64__
++#if (defined (__x86_64__) && !defined (__ILP32__))
+ #define ARCH_INT	INT64
+ #else
+ #define ARCH_INT	INT32
+ #endif
+ 
+-#ifdef __x86_64__
++#if (defined (__x86_64__) && !defined (__ILP32__))
+ #define	UARCH_INT	UINT64
+ #else
+ #define	UARCH_INT	UINT32
+-- 
+2.7.4
+
diff --git a/recipes-extended/qat/qat16.inc b/recipes-extended/qat/qat16.inc
index 9b5372e..4b9c835 100644
--- a/recipes-extended/qat/qat16.inc
+++ b/recipes-extended/qat/qat16.inc
@@ -16,10 +16,10 @@ SRC_URI="file://qat16_2.3.0-34-qat-fix-for-cross-compilation-issue.patch \
          file://qat16_2.3.0-34-make-sure-CFLAGS-are-correct.patch \
          file://qat16_2.5.0-80-qat-change-in-return-type-of-func-in-kernel-v4.4.patch \
          file://qat16_2.5.0-80-qat-Added-include-dir-path.patch \
+         file://qat16-Osal-fix-build-with-x32.patch \
          "
 
 COMPATIBLE_MACHINE = "null"
-COMPATIBLE_HOST_linux-gnux32 = "null"
 
 S = "${WORKDIR}/${ICP_DRIVER_TYPE}"
 ICP_TOOLS = "accelcomp"
-- 
2.7.4



More information about the meta-intel mailing list