1 /* SPDX-License-Identifier: BSD-3-Clause 2 * Copyright 2018-2024 Advanced Micro Devices, Inc. 3 */ 4 5 #ifndef _IONIC_OSDEP_ 6 #define _IONIC_OSDEP_ 7 8 #include <stdint.h> 9 #include <stdarg.h> 10 11 #include <rte_common.h> 12 #include <rte_io.h> 13 #include <rte_byteorder.h> 14 15 #define BIT(nr) (1UL << (nr)) 16 #define BIT_ULL(nr) (1ULL << (nr)) 17 18 #define __iomem 19 20 typedef uint8_t u8; 21 typedef uint16_t u16; 22 typedef uint32_t u32; 23 typedef uint64_t u64; 24 25 #ifndef __le16 26 #define __le16 uint16_t 27 #endif 28 #ifndef __le32 29 #define __le32 uint32_t 30 #endif 31 #ifndef __le64 32 #define __le64 uint64_t 33 #endif 34 35 #define ioread8(reg) rte_read8(reg) 36 #define ioread32(reg) rte_read32(rte_le_to_cpu_32(reg)) 37 #define iowrite8(value, reg) rte_write8(value, reg) 38 #define iowrite32(value, reg) rte_write32(rte_cpu_to_le_32(value), reg) 39 40 #endif /* _IONIC_OSDEP_ */ 41