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

Reply via email to