[ 
https://issues.apache.org/jira/browse/TS-2922?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Breno Leitao updated TS-2922:
-----------------------------

    Attachment: add_ppc64le_support.diff

> support the new ppc64le platform
> --------------------------------
>
>                 Key: TS-2922
>                 URL: https://issues.apache.org/jira/browse/TS-2922
>             Project: Traffic Server
>          Issue Type: New Feature
>          Components: Build
>            Reporter: Breno Leitao
>         Attachments: add_ppc64le_support.diff
>
>
> HI,
> I would like to have support for trafficserver on the PPC64 little endian.
> I basically enabled it as 64 bits architecture, and using the barriers from 
> the kernel.
> Thank you,
> Here is the patch:
> Index: trafficserver-4.1.2/plugins/experimental/geoip_acl/lulu.h
> ===================================================================
> --- a/plugins/experimental/geoip_acl/lulu.h   2014-07-07 19:16:43.000000000 
> +0000
> +++ b/plugins/experimental/geoip_acl/lulu.h   2014-07-07 19:40:25.000000000 
> +0000
> @@ -46,6 +46,10 @@
>  #define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
>  #define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
>  #define wmb() __asm__ __volatile__ ( "" : : : "memory")
> +#elif defined(__powerpc64__)
> +#define mb()   __asm__ __volatile__ ("sync" : : : "memory")
> +#define rmb()  __asm__ __volatile__ ("sync" : : : "memory")
> +#define wmb()  __asm__ __volatile__ ("sync" : : : "memory")
>  #else
>  #error "Define barriers"
>  #endif
> Index: trafficserver-4.1.2/plugins/header_filter/lulu.h
> ===================================================================
> --- a/plugins/header_filter/lulu.h    2014-07-07 19:16:43.000000000 +0000
> +++ b/plugins/header_filter/lulu.h    2014-07-07 19:39:47.000000000 +0000
> @@ -45,6 +45,10 @@
>  #define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
>  #define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
>  #define wmb() __asm__ __volatile__ ( "" : : : "memory")
> +#elif defined(__powerpc64__)
> +#define mb()   __asm__ __volatile__ ("sync" : : : "memory")
> +#define rmb()  __asm__ __volatile__ ("sync" : : : "memory")
> +#define wmb()  __asm__ __volatile__ ("sync" : : : "memory")
>  #elif defined(__arm__)
>  #else
>  #error "Define barriers"
> Index: trafficserver-4.1.2/plugins/header_rewrite/lulu.h
> ===================================================================
> --- a/plugins/header_rewrite/lulu.h   2014-07-07 19:16:43.000000000 +0000
> +++ b/plugins/header_rewrite/lulu.h   2014-07-07 19:39:26.000000000 +0000
> @@ -43,6 +43,10 @@
>  #define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
>  #define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
>  #define wmb() __asm__ __volatile__ ( "" : : : "memory")
> +#elif defined(__powerpc64__)
> +#define mb()   __asm__ __volatile__ ("sync" : : : "memory")
> +#define rmb()  __asm__ __volatile__ ("sync" : : : "memory")
> +#define wmb()  __asm__ __volatile__ ("sync" : : : "memory")
>  #else
>  #error "Define barriers"
>  #endif
> Index: trafficserver-4.1.2/lib/ts/ink_queue.h
> ===================================================================
> --- a/lib/ts/ink_queue.h 2014-07-07 19:16:43.000000000 +0000
> +++ b/lib/ts/ink_queue.h      2014-07-07 20:44:34.000000000 +0000
> @@ -134,7 +134,7 @@
>  #define FREELIST_VERSION(_x) (_x).s.version
>  #define SET_FREELIST_POINTER_VERSION(_x,_p,_v) \
>  (_x).s.pointer = _p; (_x).s.version = _v
> -#elif defined(__x86_64__) || defined(__ia64__)
> +#elif defined(__x86_64__) || defined(__ia64__) || defined(__powerpc64__)
>  #define FREELIST_POINTER(_x) ((void*)(((((intptr_t)(_x).data)<<16)>>16) | \
>   (((~((((intptr_t)(_x).data)<<16>>63)-1))>>48)<<48)))  // sign extend
>  #define FREELIST_VERSION(_x) (((intptr_t)(_x).data)>>48)



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to