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