aboutsummaryrefslogtreecommitdiff
path: root/include/exec/tswap.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/exec/tswap.h')
-rw-r--r--include/exec/tswap.h16
1 files changed, 13 insertions, 3 deletions
diff --git a/include/exec/tswap.h b/include/exec/tswap.h
index 68944a880b..b7a4191347 100644
--- a/include/exec/tswap.h
+++ b/include/exec/tswap.h
@@ -8,18 +8,28 @@
#ifndef TSWAP_H
#define TSWAP_H
-#include "hw/core/cpu.h"
#include "qemu/bswap.h"
+/**
+ * target_words_bigendian:
+ * Returns true if the (default) endianness of the target is big endian,
+ * false otherwise. Note that in target-specific code, you can use
+ * TARGET_BIG_ENDIAN directly instead. On the other hand, common
+ * code should normally never need to know about the endianness of the
+ * target, so please do *not* use this function unless you know very well
+ * what you are doing!
+ */
+bool target_words_bigendian(void);
+
/*
* If we're in target-specific code, we can hard-code the swapping
* condition, otherwise we have to do (slower) run-time checks.
*/
-#ifdef NEED_CPU_H
+#ifdef COMPILING_PER_TARGET
#define target_needs_bswap() (HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN)
#else
#define target_needs_bswap() (target_words_bigendian() != HOST_BIG_ENDIAN)
-#endif
+#endif /* COMPILING_PER_TARGET */
static inline uint16_t tswap16(uint16_t s)
{