Signed-off-by: Brian Brooks <brian.bro...@linaro.org>
---
 platform/linux-generic/arch/default/odp/api/cpu_arch.h | 10 ----------
 platform/linux-generic/arch/mips64/odp/api/cpu_arch.h  | 12 ------------
 platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h | 10 ----------
 platform/linux-generic/arch/x86/odp/api/cpu_arch.h     | 10 ----------
 platform/linux-generic/include/odp/api/align.h         |  8 +-------
 platform/linux-generic/include/odp/api/cpu.h           | 17 +++++++++++++++++
 6 files changed, 18 insertions(+), 49 deletions(-)

diff --git a/platform/linux-generic/arch/default/odp/api/cpu_arch.h 
b/platform/linux-generic/arch/default/odp/api/cpu_arch.h
index 29f8889..1c79f87 100644
--- a/platform/linux-generic/arch/default/odp/api/cpu_arch.h
+++ b/platform/linux-generic/arch/default/odp/api/cpu_arch.h
@@ -11,16 +11,6 @@
 extern "C" {
 #endif
 
-/** @ingroup odp_compiler_optim
- *  @{
- */
-
-#define ODP_CACHE_LINE_SIZE 64
-
-/**
- * @}
- */
-
 static inline void odp_cpu_pause(void)
 {
 }
diff --git a/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h 
b/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h
index 7b5bfd2..3bfa0dc 100644
--- a/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h
+++ b/platform/linux-generic/arch/mips64/odp/api/cpu_arch.h
@@ -11,18 +11,6 @@
 extern "C" {
 #endif
 
-/** @ingroup odp_compiler_optim
- *  @{
- */
-
-#if defined __OCTEON__
-#define ODP_CACHE_LINE_SIZE 128
-#endif
-
-/**
- * @}
- */
-
 static inline void odp_cpu_pause(void)
 {
        __asm__ __volatile__ ("nop");
diff --git a/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h 
b/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h
index 29f8889..1c79f87 100644
--- a/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h
+++ b/platform/linux-generic/arch/powerpc/odp/api/cpu_arch.h
@@ -11,16 +11,6 @@
 extern "C" {
 #endif
 
-/** @ingroup odp_compiler_optim
- *  @{
- */
-
-#define ODP_CACHE_LINE_SIZE 64
-
-/**
- * @}
- */
-
 static inline void odp_cpu_pause(void)
 {
 }
diff --git a/platform/linux-generic/arch/x86/odp/api/cpu_arch.h 
b/platform/linux-generic/arch/x86/odp/api/cpu_arch.h
index 3a16fa6..997a954 100644
--- a/platform/linux-generic/arch/x86/odp/api/cpu_arch.h
+++ b/platform/linux-generic/arch/x86/odp/api/cpu_arch.h
@@ -11,16 +11,6 @@
 extern "C" {
 #endif
 
-/** @ingroup odp_compiler_optim
- *  @{
- */
-
-#define ODP_CACHE_LINE_SIZE 64
-
-/**
- * @}
- */
-
 static inline void odp_cpu_pause(void)
 {
 #ifdef __SSE2__
diff --git a/platform/linux-generic/include/odp/api/align.h 
b/platform/linux-generic/include/odp/api/align.h
index d8bc653..2e7da14 100644
--- a/platform/linux-generic/include/odp/api/align.h
+++ b/platform/linux-generic/include/odp/api/align.h
@@ -31,12 +31,6 @@ extern "C" {
 
 #define ODP_FIELD_SIZEOF(type, member) sizeof(((type *)0)->member)
 
-#if defined __arm__ || defined __aarch64__
-
-#define ODP_CACHE_LINE_SIZE 64
-
-#endif
-
 #else
 #error Non-gcc compatible compiler
 #endif
@@ -52,7 +46,7 @@ extern "C" {
  */
 
 #include <odp/api/spec/align.h>
-#include <odp/api/cpu_arch.h>
+#include <odp/api/cpu.h>
 
 #ifdef __cplusplus
 }
diff --git a/platform/linux-generic/include/odp/api/cpu.h 
b/platform/linux-generic/include/odp/api/cpu.h
index d49c782..246b932 100644
--- a/platform/linux-generic/include/odp/api/cpu.h
+++ b/platform/linux-generic/include/odp/api/cpu.h
@@ -19,6 +19,23 @@ extern "C" {
 
 #include <odp/api/cpu_arch.h>
 
+/** @ingroup odp_compiler_optim
+ *  @{
+ */
+
+#if !defined(ODP_CACHE_LINE_SIZE)
+/* Allow cache line size to be passed in via compiler define or elsewhere. */
+#if defined(__OCTEON__) || defined(__powerpc64__)
+#define ODP_CACHE_LINE_SIZE 128
+#else
+#define ODP_CACHE_LINE_SIZE 64
+#endif
+#endif
+
+/**
+ *  @}
+ */
+
 #include <odp/api/spec/cpu.h>
 
 #ifdef __cplusplus
-- 
2.9.0

Reply via email to