summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gray <jsg@jsg.id.au>2016-09-03 08:26:55 +1000
committerTom Rini <trini@konsulko.com>2016-09-07 08:49:06 -0400
commit3715a540c49335532fb0f75f5b18bc9e269f4471 (patch)
tree74fad5909e21b772bd3123505f44e4cd7c4f5524
parentc989166037941f80e0d46f1fa4e37c9f4f876b80 (diff)
downloadu-boot-3715a540c49335532fb0f75f5b18bc9e269f4471.tar.gz
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 <jsg@jsg.id.au>
-rw-r--r--include/compiler.h19
1 files changed, 17 insertions, 2 deletions
diff --git a/include/compiler.h b/include/compiler.h
index 47c296e202..65b826e4d1 100644
--- a/include/compiler.h
+++ b/include/compiler.h
@@ -15,7 +15,7 @@
defined(__sun__) || \
defined(__APPLE__)
# include <inttypes.h>
-#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__)
+#elif defined(__linux__) || defined(__WIN32__) || defined(__MINGW32__) || defined(__OpenBSD__)
# include <stdint.h>
#endif
@@ -50,6 +50,8 @@ typedef unsigned long ulong;
#endif
#ifdef __FreeBSD__
# include <sys/endian.h> /* htole32 and friends */
+#elif defined(__OpenBSD__)
+# include <endian.h>
#endif
#include <time.h>
@@ -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)