Is there an #else branch that works for any ISA. This is linux-generic code, so it should build and run on any target.
-Petri From: EXT Alexandru Badicioiu [mailto:[email protected]] Sent: Thursday, November 05, 2015 3:32 PM To: Savolainen, Petri (Nokia - FI/Espoo) Cc: Bill Fischofer; [email protected] Subject: Re: [lng-odp] [API-NEXT PATCHv7 0/4] Egress Traffic Manager The change in question is related __only__ to arm/arm64. Alex On 5 November 2015 at 15:30, Savolainen, Petri (Nokia - FI/Espoo) <[email protected]<mailto:[email protected]>> wrote: Does –march=armv7… support it? How about MIPS, PowerPC, Tilera, Kalray, etc ISAs? First option should be to find and replace HASH_STATE + _crc32w() code with a function using the new crc API call. hash = odp_hash_crc32c(name, name_len, init_val); -Petri From: EXT Alexandru Badicioiu [mailto:[email protected]<mailto:[email protected]>] Sent: Thursday, November 05, 2015 3:15 PM To: Bill Fischofer Cc: Savolainen, Petri (Nokia - FI/Espoo); [email protected]<mailto:[email protected]> Subject: Re: [lng-odp] [API-NEXT PATCHv7 0/4] Egress Traffic Manager Hi, could you please share the status on this? I do the following to get this compiled (and compile with make CFLAGS+="-march=armv8-a+crc"). #elif defined(__arm__) || defined(__aarch64__) #define PLATFORM_HASH_STATE uint32_t static inline uint32_t __crc32w (uint32_t crc, uint32_t value) { __asm__("crc32w %w[c], %w[c], %w[v]":[c]"+r"(crc):[v]"r"(value)); return crc; } On 28 October 2015 at 14:09, Bill Fischofer <[email protected]<mailto:[email protected]>> wrote: odp_hash_crc32c() seems designed to be used quite differently than __crc32w(). We can discuss during today's arch call. On Wed, Oct 28, 2015 at 6:10 AM, Savolainen, Petri (Nokia - FI/Espoo) <[email protected]<mailto:[email protected]>> wrote: Change it to use the new odp_hash_crc32c(). That's the easiest way to get rid off __crc32w intrinsic (and thus make it portable). -Petri > -----Original Message----- > From: lng-odp > [mailto:[email protected]<mailto:[email protected]>] > On Behalf Of EXT > Maxim Uvarov > Sent: Wednesday, October 28, 2015 12:36 PM > To: [email protected]<mailto:[email protected]> > Subject: Re: [lng-odp] [API-NEXT PATCHv7 0/4] Egress Traffic Manager > > can you compile it for arm64? > > ./configure --with-platform=linux-generic > --prefix=/builds/check-odp-new.git/new-build --host=aarch64-linux-gnu > --enable-test-perf > --with-openssl-path=/builds/check-odp-new.git/installed/arm64/openssl- > OpenSSL_1_0_1h > --enable-test-vald > --with-cunit-path=/builds/check-odp-new.git/installed/arm64/cunit-2.1-3 > configure: WARNING: using cross tools not prefixed with host triplet > odp_name_table.c: In function 'hash_name_and_kind': > odp_name_table.c:277:2: error: implicit declaration of function > '__crc32w' [-Werror=implicit-function-declaration] > PLATFORM_HASH32_INIT(hash_state, name_len); > > Maxim. > > On 10/28/2015 00:55, Bill Fischofer wrote: > > Changes in v7 (review comments by Maxim) > > - Correct architecture ifdefs (use of arch dir in later patch) > > - Correct doxygen for queue types > > - Change internal APIs that use odp_ prefix to use _odp prefix > > - Rebase to latest api-next > > > > Changes in v6 > > - Move documentation of packet colors to main API file > > - Add ODP prefix to odp_tm_egress_kind_t enums > > > > Changes in v5 > > - Add include file odp_traffic_mngr_internal.h > > - Add support for odp_tm_enq() from packets originating from ordered > queues > > > > Changes in v4 > > - Incorporate API changes suggested by Petri > > > > Changes in v3 > > - Fix checkpatch errors (Bill) > > > > Changes in v2 > > - Full patch submission (Barry) > > > > Barry Spinney (4): > > api: tm: add tm API definitions > > linux-generic: tm: implement traffic manager > > linux-generic: tm: add tm to build > > example: tm: traffic manager example > > > > configure.ac<http://configure.ac> | > > 1 + > > example/Makefile.am | 2 +- > > example/traffic_mgmt/.gitignore | 1 + > > example/traffic_mgmt/Makefile.am | 9 + > > example/traffic_mgmt/odp_traffic_mgmt.c | 781 ++++++ > > include/odp.h | 1 + > > include/odp/api/packet.h | 69 + > > include/odp/api/traffic_mngr.h | 1611 +++++++++++ > > platform/linux-generic/Makefile.am | 13 + > > .../linux-generic/include/odp/plat/packet_types.h | 11 + > > .../linux-generic/include/odp/plat/queue_types.h | 7 + > > .../include/odp/plat/traffic_mngr_types.h | 185 ++ > > platform/linux-generic/include/odp/traffic_mngr.h | 35 + > > platform/linux-generic/include/odp_internal.h | 2 + > > .../include/odp_name_table_internal.h | 61 + > > .../linux-generic/include/odp_packet_internal.h | 5 + > > .../linux-generic/include/odp_pkt_queue_internal.h | 62 + > > .../linux-generic/include/odp_queue_internal.h | 6 + > > .../include/odp_sorted_list_internal.h | 78 + > > .../include/odp_timer_wheel_internal.h | 68 + > > .../include/odp_traffic_mngr_internal.h | 324 +++ > > platform/linux-generic/odp_init.c | 5 + > > platform/linux-generic/odp_name_table.c | 1365 ++++++++++ > > platform/linux-generic/odp_packet_flags.c | 46 +- > > platform/linux-generic/odp_pkt_queue.c | 379 +++ > > platform/linux-generic/odp_queue.c | 59 + > > platform/linux-generic/odp_sorted_list.c | 271 ++ > > platform/linux-generic/odp_timer_wheel.c | 907 +++++++ > > platform/linux-generic/odp_traffic_mngr.c | 2799 > ++++++++++++++++++++ > > 29 files changed, 9161 insertions(+), 2 deletions(-) > > create mode 100644 example/traffic_mgmt/.gitignore > > create mode 100644 example/traffic_mgmt/Makefile.am > > create mode 100644 example/traffic_mgmt/odp_traffic_mgmt.c > > create mode 100644 include/odp/api/traffic_mngr.h > > create mode 100644 platform/linux- > generic/include/odp/plat/traffic_mngr_types.h > > create mode 100644 platform/linux-generic/include/odp/traffic_mngr.h > > create mode 100644 platform/linux- > generic/include/odp_name_table_internal.h > > create mode 100644 platform/linux- > generic/include/odp_pkt_queue_internal.h > > create mode 100644 platform/linux- > generic/include/odp_sorted_list_internal.h > > create mode 100644 platform/linux- > generic/include/odp_timer_wheel_internal.h > > create mode 100644 platform/linux- > generic/include/odp_traffic_mngr_internal.h > > create mode 100644 platform/linux-generic/odp_name_table.c > > create mode 100644 platform/linux-generic/odp_pkt_queue.c > > create mode 100644 platform/linux-generic/odp_sorted_list.c > > create mode 100644 platform/linux-generic/odp_timer_wheel.c > > create mode 100644 platform/linux-generic/odp_traffic_mngr.c > > > > _______________________________________________ > lng-odp mailing list > [email protected]<mailto:[email protected]> > https://lists.linaro.org/mailman/listinfo/lng-odp _______________________________________________ lng-odp mailing list [email protected]<mailto:[email protected]> https://lists.linaro.org/mailman/listinfo/lng-odp _______________________________________________ lng-odp mailing list [email protected]<mailto:[email protected]> https://lists.linaro.org/mailman/listinfo/lng-odp
_______________________________________________ lng-odp mailing list [email protected] https://lists.linaro.org/mailman/listinfo/lng-odp
