vdpa/ifc/base: fix null pointer dereference
[dpdk.git] / drivers / vdpa / ifc / base / ifcvf_osdep.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2018 Intel Corporation
3  */
4
5 #ifndef _IFCVF_OSDEP_H_
6 #define _IFCVF_OSDEP_H_
7
8 #include <stdint.h>
9 #include <linux/pci_regs.h>
10
11 #include <rte_cycles.h>
12 #include <rte_pci.h>
13 #include <rte_bus_pci.h>
14 #include <rte_log.h>
15 #include <rte_io.h>
16
17 #define WARNINGOUT(S, args...)  RTE_LOG(WARNING, PMD, S, ##args)
18 #define DEBUGOUT(S, args...)    RTE_LOG(DEBUG, PMD, S, ##args)
19 #define STATIC                  static
20
21 #define msec_delay(x)   rte_delay_us_sleep(1000 * (x))
22
23 #define IFCVF_READ_REG8(reg)            rte_read8(reg)
24 #define IFCVF_WRITE_REG8(val, reg)      rte_write8((val), (reg))
25 #define IFCVF_READ_REG16(reg)           rte_read16(reg)
26 #define IFCVF_WRITE_REG16(val, reg)     rte_write16((val), (reg))
27 #define IFCVF_READ_REG32(reg)           rte_read32(reg)
28 #define IFCVF_WRITE_REG32(val, reg)     rte_write32((val), (reg))
29
30 typedef struct rte_pci_device PCI_DEV;
31
32 #define PCI_READ_CONFIG_BYTE(dev, val, where) \
33         rte_pci_read_config(dev, val, 1, where)
34
35 #define PCI_READ_CONFIG_DWORD(dev, val, where) \
36         rte_pci_read_config(dev, val, 4, where)
37
38 typedef uint8_t    u8;
39 typedef int8_t     s8;
40 typedef uint16_t   u16;
41 typedef int16_t    s16;
42 typedef uint32_t   u32;
43 typedef int32_t    s32;
44 typedef int64_t    s64;
45 typedef uint64_t   u64;
46
47 static inline int
48 PCI_READ_CONFIG_RANGE(PCI_DEV *dev, uint32_t *val, int size, int where)
49 {
50         return rte_pci_read_config(dev, val, size, where);
51 }
52
53 #endif /* _IFCVF_OSDEP_H_ */