From 3715a540c49335532fb0f75f5b18bc9e269f4471 Mon Sep 17 00:00:00 2001 From: Jonathan Gray Date: Sat, 3 Sep 2016 08:26:55 +1000 Subject: [PATCH] compiler.h: use system endian macros on OpenBSD The u-boot endian macros map directly to system endian macros on OpenBSD. Signed-off-by: Jonathan Gray --- include/compiler.h | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/include/compiler.h b/include/compiler.h index 47c296e..65b826e 100644 --- a/include/compiler.h +++ b/include/compiler.h @@ -15,7 +15,7 @@ defined(__sun__) || \ defined(__APPLE__) # include -#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__) +#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__) || defined(__OpenBSD__) # include #endif @@ -50,6 +50,8 @@ typedef unsigned long ulong; #endif #ifdef __FreeBSD__ # include /* htole32 and friends */ +#elif defined(__OpenBSD__) +# include #endif #include @@ -82,7 +84,20 @@ typedef unsigned int uint; # define uswap_64(x) _uswap_64(x, ) #endif -#if __BYTE_ORDER == __LITTLE_ENDIAN +#if defined(__OpenBSD__) +#define cpu_to_le16(x) htole16(x) +#define cpu_to_le32(x) htole32(x) +#define cpu_to_le64(x) htole64(x) +#define le16_to_cpu(x) letoh16(x) +#define le32_to_cpu(x) letoh32(x) +#define le64_to_cpu(x) letoh64(x) +#define cpu_to_be16(x) htobe16(x) +#define cpu_to_be32(x) htobe32(x) +#define cpu_to_be64(x) htobe64(x) +#define be16_to_cpu(x) betoh16(x) +#define be32_to_cpu(x) betoh32(x) +#define be64_to_cpu(x) betoh64(x) +#elif __BYTE_ORDER == __LITTLE_ENDIAN # define cpu_to_le16(x) (x) # define cpu_to_le32(x) (x) # define cpu_to_le64(x) (x)