1f22e705eSMichal Mazurek /* SPDX-License-Identifier: BSD-3-Clause 2f22e705eSMichal Mazurek * Copyright(c) 2014 IBM Corporation 3f22e705eSMichal Mazurek * Copyright(c) 2022 StarFive 4f22e705eSMichal Mazurek * Copyright(c) 2022 SiFive 5f22e705eSMichal Mazurek * Copyright(c) 2022 Semihalf 6f22e705eSMichal Mazurek */ 7f22e705eSMichal Mazurek 8f22e705eSMichal Mazurek #ifndef RTE_PREFETCH_RISCV_H 9f22e705eSMichal Mazurek #define RTE_PREFETCH_RISCV_H 10f22e705eSMichal Mazurek 111094dd94SDavid Marchand #include <rte_compat.h> 12f22e705eSMichal Mazurek #include <rte_common.h> 13f22e705eSMichal Mazurek #include "generic/rte_prefetch.h" 14f22e705eSMichal Mazurek 15*719834a6SMattias Rönnblom #ifdef __cplusplus 16*719834a6SMattias Rönnblom extern "C" { 17*719834a6SMattias Rönnblom #endif 18*719834a6SMattias Rönnblom 19f22e705eSMichal Mazurek static inline void rte_prefetch0(const volatile void *p) 20f22e705eSMichal Mazurek { 21f22e705eSMichal Mazurek RTE_SET_USED(p); 22f22e705eSMichal Mazurek } 23f22e705eSMichal Mazurek 24f22e705eSMichal Mazurek static inline void rte_prefetch1(const volatile void *p) 25f22e705eSMichal Mazurek { 26f22e705eSMichal Mazurek RTE_SET_USED(p); 27f22e705eSMichal Mazurek } 28f22e705eSMichal Mazurek 29f22e705eSMichal Mazurek static inline void rte_prefetch2(const volatile void *p) 30f22e705eSMichal Mazurek { 31f22e705eSMichal Mazurek RTE_SET_USED(p); 32f22e705eSMichal Mazurek } 33f22e705eSMichal Mazurek 34f22e705eSMichal Mazurek static inline void rte_prefetch_non_temporal(const volatile void *p) 35f22e705eSMichal Mazurek { 36f22e705eSMichal Mazurek /* non-temporal version not available, fallback to rte_prefetch0 */ 37f22e705eSMichal Mazurek rte_prefetch0(p); 38f22e705eSMichal Mazurek } 39f22e705eSMichal Mazurek 40f22e705eSMichal Mazurek __rte_experimental 41f22e705eSMichal Mazurek static inline void 42f22e705eSMichal Mazurek rte_cldemote(const volatile void *p) 43f22e705eSMichal Mazurek { 44f22e705eSMichal Mazurek RTE_SET_USED(p); 45f22e705eSMichal Mazurek } 46f22e705eSMichal Mazurek 47f22e705eSMichal Mazurek #ifdef __cplusplus 48f22e705eSMichal Mazurek } 49f22e705eSMichal Mazurek #endif 50f22e705eSMichal Mazurek 51f22e705eSMichal Mazurek #endif /* RTE_PREFETCH_RISCV_H */ 52