X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvppinfra%2Ftypes.h;h=598061bb3e8f4bfca7a9b734685ce6055c13b4aa;hb=6eb0f84e3;hp=f87bb48c91000ea20b582360da201d406926208a;hpb=7cd468a3d7dee7d6c92f69a0bb7061ae208ec727;p=vpp.git diff --git a/src/vppinfra/types.h b/src/vppinfra/types.h index f87bb48c910..598061bb3e8 100644 --- a/src/vppinfra/types.h +++ b/src/vppinfra/types.h @@ -42,8 +42,8 @@ /* Define signed and unsigned 8, 16, 32, and 64 bit types and machine signed/unsigned word for all architectures. */ -typedef char i8; -typedef short i16; +typedef signed char i8; +typedef signed short i16; /* Avoid conflicts with Linux asm/types.h when __KERNEL__ */ #if defined(CLIB_LINUX_KERNEL) @@ -59,30 +59,32 @@ typedef unsigned short u16; #if defined (__x86_64__) #ifndef __COVERITY__ -typedef int i128 __attribute__ ((mode (TI))); +typedef signed int i128 __attribute__ ((mode (TI))); typedef unsigned int u128 __attribute__ ((mode (TI))); #endif #endif -#if (defined(i386) || defined(_mips) || defined(powerpc) || defined (__SPU__) || defined(__sparc__) || defined(__arm__) || defined (__xtensa__) || defined(__TMS320C6X__)) -typedef int i32; -typedef long long i64; +#if (defined(i386) || (defined(_mips) && __mips != 64) || defined(powerpc) || defined (__SPU__) || defined(__sparc__) || defined(__arm__) || defined (__xtensa__) || defined(__TMS320C6X__)) +typedef signed int i32; +typedef signed long long i64; #ifndef CLIB_AVOID_CLASH_WITH_LINUX_TYPES typedef unsigned int u32; typedef unsigned long long u64; #endif /* CLIB_AVOID_CLASH_WITH_LINUX_TYPES */ -#elif defined(_mips) && __mips == 64 -#define log2_uword_bits 6 -#define clib_address_bits _MIPS_SZPTR - -#elif defined(alpha) || defined(__x86_64__) || defined (__powerpc64__) || defined (__aarch64__) -typedef int i32; -typedef long i64; +#elif defined(alpha) || (defined(_mips) && __mips == 64) || \ + defined(__x86_64__) || defined(__powerpc64__) || defined(__aarch64__) || \ + (defined(__riscv) && __riscv_xlen == 64) +typedef signed int i32; +typedef signed long i64; #define log2_uword_bits 6 +#if defined(_mips) +#define clib_address_bits _MIPS_SZPTR +#else #define clib_address_bits 64 +#endif #ifndef CLIB_AVOID_CLASH_WITH_LINUX_TYPES typedef unsigned int u32; @@ -163,6 +165,13 @@ typedef f64 fword; __attribute__ ((aligned (align), packed)); \ } *) (addr))->_data) +typedef u16 u16u __attribute__ ((aligned (1))); +typedef u32 u32u __attribute__ ((aligned (1))); +typedef u64 u64u __attribute__ ((aligned (1))); +typedef i16 i16u __attribute__ ((aligned (1))); +typedef i32 i32u __attribute__ ((aligned (1))); +typedef i64 i64u __attribute__ ((aligned (1))); + #endif /* included_clib_types_h */ /*