129631ee5SMin Zhou /* SPDX-License-Identifier: BSD-3-Clause 229631ee5SMin Zhou * Copyright(c) 2022 Loongson Technology Corporation Limited 329631ee5SMin Zhou */ 429631ee5SMin Zhou 529631ee5SMin Zhou #ifndef RTE_BYTEORDER_LOONGARCH_H 629631ee5SMin Zhou #define RTE_BYTEORDER_LOONGARCH_H 729631ee5SMin Zhou 8*719834a6SMattias Rönnblom #include "generic/rte_byteorder.h" 9*719834a6SMattias Rönnblom 1029631ee5SMin Zhou #ifdef __cplusplus 1129631ee5SMin Zhou extern "C" { 1229631ee5SMin Zhou #endif 1329631ee5SMin Zhou 1429631ee5SMin Zhou #if RTE_BYTE_ORDER == RTE_LITTLE_ENDIAN 1529631ee5SMin Zhou 1629631ee5SMin Zhou #define rte_cpu_to_le_16(x) (x) 1729631ee5SMin Zhou #define rte_cpu_to_le_32(x) (x) 1829631ee5SMin Zhou #define rte_cpu_to_le_64(x) (x) 1929631ee5SMin Zhou 2029631ee5SMin Zhou #define rte_cpu_to_be_16(x) rte_bswap16(x) 2129631ee5SMin Zhou #define rte_cpu_to_be_32(x) rte_bswap32(x) 2229631ee5SMin Zhou #define rte_cpu_to_be_64(x) rte_bswap64(x) 2329631ee5SMin Zhou 2429631ee5SMin Zhou #define rte_le_to_cpu_16(x) (x) 2529631ee5SMin Zhou #define rte_le_to_cpu_32(x) (x) 2629631ee5SMin Zhou #define rte_le_to_cpu_64(x) (x) 2729631ee5SMin Zhou 2829631ee5SMin Zhou #define rte_be_to_cpu_16(x) rte_bswap16(x) 2929631ee5SMin Zhou #define rte_be_to_cpu_32(x) rte_bswap32(x) 3029631ee5SMin Zhou #define rte_be_to_cpu_64(x) rte_bswap64(x) 3129631ee5SMin Zhou 3229631ee5SMin Zhou #else /* RTE_BIG_ENDIAN */ 3329631ee5SMin Zhou #error "LoongArch not support big endian!" 3429631ee5SMin Zhou #endif 3529631ee5SMin Zhou 3629631ee5SMin Zhou #ifdef __cplusplus 3729631ee5SMin Zhou } 3829631ee5SMin Zhou #endif 3929631ee5SMin Zhou 4029631ee5SMin Zhou #endif /* RTE_BYTEORDER_LOONGARCH_H */ 41