xref: /dpdk/lib/eal/riscv/include/rte_prefetch.h (revision 719834a6849e1daf4a70ff7742bbcc3ae7e25607)
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