On IBM POWER8 PPC64 little endian architecture, the definition of tsc
union will be different. This patch fix this to enable the right output
from rte_rdtsc().

Signed-off-by: Chao Zhu <chaozhu at linux.vnet.ibm.com>
---
 .../common/include/arch/ppc_64/rte_cycles.h        |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h 
b/lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h
index fd26e8e..e663c48 100644
--- a/lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h
+++ b/lib/librte_eal/common/include/arch/ppc_64/rte_cycles.h
@@ -51,8 +51,13 @@ rte_rdtsc(void)
        union {
                uint64_t tsc_64;
                struct {
+#if RTE_BYTE_ORDER == RTE_BIG_ENDIAN
                        uint32_t hi_32;
                        uint32_t lo_32;
+#else
+                       uint32_t lo_32;
+                       uint32_t hi_32;
+#endif
                };
        } tsc;
        uint32_t tmp;
-- 
1.7.1

Reply via email to