You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafficserver.apache.org by zw...@apache.org on 2014/04/02 18:42:50 UTC

[2/2] git commit: TS-2687 Support for MIPS paltform

TS-2687 Support for MIPS paltform


Project: http://git-wip-us.apache.org/repos/asf/trafficserver/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafficserver/commit/2f817905
Tree: http://git-wip-us.apache.org/repos/asf/trafficserver/tree/2f817905
Diff: http://git-wip-us.apache.org/repos/asf/trafficserver/diff/2f817905

Branch: refs/heads/master
Commit: 2f8179056402694ac7df828a264b4aa92ec964ea
Parents: 823b187
Author: Dejan Latinovic <De...@rt-rk.com>
Authored: Wed Apr 2 10:40:50 2014 -0600
Committer: Leif Hedstrom <zw...@apache.org>
Committed: Wed Apr 2 10:42:35 2014 -0600

----------------------------------------------------------------------
 lib/ts/ink_atomic.h                   |  2 +-
 lib/ts/ink_queue.h                    |  4 ++--
 lib/ts/ink_queue_utils.cc             |  2 +-
 plugins/experimental/geoip_acl/lulu.h |  6 +++++-
 plugins/header_rewrite/lulu.h         | 10 +++++++++-
 5 files changed, 18 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f817905/lib/ts/ink_atomic.h
----------------------------------------------------------------------
diff --git a/lib/ts/ink_atomic.h b/lib/ts/ink_atomic.h
index 47fb65b..9615ea5 100644
--- a/lib/ts/ink_atomic.h
+++ b/lib/ts/ink_atomic.h
@@ -170,7 +170,7 @@ ink_atomic_decrement(volatile Type * mem, Amount count) {
 }
 
 // Special hacks for ARM 32-bit
-#if defined(__arm__) && (SIZEOF_VOIDP == 4)
+#if (defined(__arm__) || defined(__mips__)) && (SIZEOF_VOIDP == 4)
 extern ink_mutex __global_death;
 
 template<>

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f817905/lib/ts/ink_queue.h
----------------------------------------------------------------------
diff --git a/lib/ts/ink_queue.h b/lib/ts/ink_queue.h
index 41195c6..de9a0fb 100644
--- a/lib/ts/ink_queue.h
+++ b/lib/ts/ink_queue.h
@@ -85,7 +85,7 @@ extern "C"
   // lock, use INK_QUEUE_LD to read safely.
   typedef union
   {
-#if (defined(__i386__) || defined(__arm__)) && (SIZEOF_VOIDP == 4)
+#if (defined(__i386__) || defined(__arm__) || defined(__mips__)) && (SIZEOF_VOIDP == 4)
     struct
     {
       void *pointer;
@@ -124,7 +124,7 @@ extern "C"
 #define TO_PTR(_x) ((void*)(_x))
 #endif
 
-#if (defined(__i386__) || defined(__arm__)) && (SIZEOF_VOIDP == 4)
+#if (defined(__i386__) || defined(__arm__) || defined(__mips__)) && (SIZEOF_VOIDP == 4)
 #define FREELIST_POINTER(_x) (_x).s.pointer
 #define FREELIST_VERSION(_x) (_x).s.version
 #define SET_FREELIST_POINTER_VERSION(_x,_p,_v) \

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f817905/lib/ts/ink_queue_utils.cc
----------------------------------------------------------------------
diff --git a/lib/ts/ink_queue_utils.cc b/lib/ts/ink_queue_utils.cc
index 4fa9dff..f93898b 100644
--- a/lib/ts/ink_queue_utils.cc
+++ b/lib/ts/ink_queue_utils.cc
@@ -68,7 +68,7 @@
 void
 ink_queue_load_64(void *dst, void *src)
 {
-#if (defined(__i386__) || defined(__arm__)) && (SIZEOF_VOIDP == 4)
+#if (defined(__i386__) || defined(__arm__) || defined(__mips__)) && (SIZEOF_VOIDP == 4)
   volatile int32_t src_version = (*(head_p *) src).s.version;
   void *src_pointer = (*(head_p *) src).s.pointer;
 

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f817905/plugins/experimental/geoip_acl/lulu.h
----------------------------------------------------------------------
diff --git a/plugins/experimental/geoip_acl/lulu.h b/plugins/experimental/geoip_acl/lulu.h
index acb154f..8641bf0 100644
--- a/plugins/experimental/geoip_acl/lulu.h
+++ b/plugins/experimental/geoip_acl/lulu.h
@@ -29,7 +29,7 @@
 #include "ink_defs.h"
 #include "ink_atomic.h"
 
-// Memory barriers on i386 / linux / gcc
+// Memory barriers
 #if defined(__i386__)
 #define mb()  __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" )
 #define rmb() __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" )
@@ -42,6 +42,10 @@
 #define mb()  __asm__ __volatile__ ( "dmb" : : : "memory")
 #define rmb() __asm__ __volatile__ ( "dmb" : : : "memory")
 #define wmb() __asm__ __volatile__ ( "" : : : "memory")
+#elif defined(__mips__)
+#define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
+#define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
+#define wmb() __asm__ __volatile__ ( "" : : : "memory")
 #else
 #error "Define barriers"
 #endif

http://git-wip-us.apache.org/repos/asf/trafficserver/blob/2f817905/plugins/header_rewrite/lulu.h
----------------------------------------------------------------------
diff --git a/plugins/header_rewrite/lulu.h b/plugins/header_rewrite/lulu.h
index eb89031..28b2e1b 100644
--- a/plugins/header_rewrite/lulu.h
+++ b/plugins/header_rewrite/lulu.h
@@ -26,7 +26,7 @@
 
 #include "ink_defs.h"
 
-// Memory barriers on i386 / linux / gcc
+// Memory barriers
 #if defined(__i386__)
 #define mb()  __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" )
 #define rmb() __asm__ __volatile__ ( "lock; addl $0,0(%%esp)" : : : "memory" )
@@ -35,10 +35,18 @@
 #define mb()  __asm__ __volatile__ ( "mfence" : : : "memory")
 #define rmb() __asm__ __volatile__ ( "lfence" : : : "memory")
 #define wmb() __asm__ __volatile__ ( "" : : : "memory")
+#elif defined(__mips__)
+#define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
+#define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
+#define wmb() __asm__ __volatile__ ( "" : : : "memory")
 #elif defined(__arm__)
 #define mb()  __asm__ __volatile__ ( "dmb" : : : "memory")
 #define rmb() __asm__ __volatile__ ( "dmb" : : : "memory")
 #define wmb() __asm__ __volatile__ ( "" : : : "memory")
+#elif defined(__mips__)
+#define mb()  __asm__ __volatile__ ( "sync" : : : "memory")
+#define rmb() __asm__ __volatile__ ( "sync" : : : "memory")
+#define wmb() __asm__ __volatile__ ( "" : : : "memory")
 #else
 #error "Define barriers"
 #endif