Also my compiler (odp-check) does not know what is __crc32w.

We need to fix aarch64 before inclusion.

Also all arch specific code should go to:
./platform/linux-generic/arch/
And arch dependant ifdefs has to be removed. For api-next I'm ok to have that fix in separate branch,
but for master that code has to be under  arch/


Also needed define hashes for i386 in odp_name_table.c
-#if defined __x86_64__
+#if defined __x86_64__ || defined __i386__


For arm probably __crc32w should be called as everywhere instead
of directly asm code:
 #define PLATFORM_HASH32(hash_state, name_word)                  \
-       ({                                                      \
-               asm volatile ("crc32w %0, %0, %1" :             \
-                             "=r" (hash_state)   :             \
-                             "r"  (name_word));                \
+       ({                                                      \
+               __crc32w(hash_state, name_word);                \
        })

Linux kernel has special defines for CRC32XX function for arm and arm64:
http://lxr.free-electrons.com/source/arch/arm64/crypto/crc32-arm64.c#L33

Also needed to update code based on lazy parsing patch because of input_flags.unparsed
was removed. I think to remove:
-       if (pkt_hdr->input_flags.unparsed)
-               _odp_packet_parse(pkt_hdr);

So we need to update that series of patches and check that odp-check compilation passes for all arches.

Thank you,
Maxim.


On 10/27/2015 10:50, Maxim Uvarov wrote:
On 10/22/2015 23:43, Bill Fischofer wrote:
+#elif defined(__arm__) && defined(__aarch64__)

&& -> ||

Maxim.

_______________________________________________
lng-odp mailing list
[email protected]
https://lists.linaro.org/mailman/listinfo/lng-odp

Reply via email to