]> git.proxmox.com Git - ceph.git/blame - ceph/src/spdk/dpdk/drivers/raw/ifpga_rawdev/base/osdep_raw/osdep_generic.h
bump version to 15.2.11-pve1
[ceph.git] / ceph / src / spdk / dpdk / drivers / raw / ifpga_rawdev / base / osdep_raw / osdep_generic.h
CommitLineData
11fdf7f2
TL
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2018 Intel Corporation
3 */
4
5#ifndef _OSDEP_RAW_GENERIC_H
6#define _OSDEP_RAW_GENERIC_H
7
8#define compiler_barrier() (asm volatile ("" : : : "memory"))
9
10#define io_wmb() compiler_barrier()
11#define io_rmb() compiler_barrier()
12
13static inline uint8_t opae_readb(const volatile void *addr)
14{
15 uint8_t val;
16
17 val = *(const volatile uint8_t *)addr;
18 io_rmb();
19 return val;
20}
21
22static inline uint16_t opae_readw(const volatile void *addr)
23{
24 uint16_t val;
25
26 val = *(const volatile uint16_t *)addr;
27 io_rmb();
28 return val;
29}
30
31static inline uint32_t opae_readl(const volatile void *addr)
32{
33 uint32_t val;
34
35 val = *(const volatile uint32_t *)addr;
36 io_rmb();
37 return val;
38}
39
40static inline uint64_t opae_readq(const volatile void *addr)
41{
42 uint64_t val;
43
44 val = *(const volatile uint64_t *)addr;
45 io_rmb();
46 return val;
47}
48
49static inline void opae_writeb(uint8_t value, volatile void *addr)
50{
51 io_wmb();
52 *(volatile uint8_t *)addr = value;
53}
54
55static inline void opae_writew(uint16_t value, volatile void *addr)
56{
57 io_wmb();
58 *(volatile uint16_t *)addr = value;
59}
60
61static inline void opae_writel(uint32_t value, volatile void *addr)
62{
63 io_wmb();
64 *(volatile uint32_t *)addr = value;
65}
66
67static inline void opae_writeq(uint64_t value, volatile void *addr)
68{
69 io_wmb();
70 *(volatile uint64_t *)addr = value;
71}
72
73#define opae_free(addr) free(addr)
9f95a23c 74#define opae_memcpy(a, b, c) memcpy((a), (b), (c))
11fdf7f2
TL
75
76#endif