[
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)