#include "base/bigint.hh"
#include "base/misc.hh"
-#include "sim/host.hh"
+#include "base/types.hh"
// This lets us figure out what the byte order of the host system is
-#if defined(linux)
+#if defined(__linux__)
#include <endian.h>
// If this is a linux system, lets used the optimized definitions if they exist.
// If one doesn't exist, we pretty much get what is listed below, so it all
inline uint64_t
swap_byte64(uint64_t x)
{
-#if defined(linux)
+#if defined(__linux__)
return bswap_64(x);
#elif defined(__APPLE__)
return OSSwapInt64(x);
inline uint32_t
swap_byte32(uint32_t x)
{
-#if defined(linux)
+#if defined(__linux__)
return bswap_32(x);
#elif defined(__APPLE__)
return OSSwapInt32(x);
inline uint16_t
swap_byte16(uint16_t x)
{
-#if defined(linux)
+#if defined(__linux__)
return bswap_16(x);
#elif defined(__APPLE__)
return OSSwapInt16(x);
namespace BigEndianGuest
{
- const bool ByteOrderDiffers = (HostByteOrder != BigEndianByteOrder);
+ const ByteOrder GuestByteOrder = BigEndianByteOrder;
template <typename T>
inline T gtole(T value) {return betole(value);}
template <typename T>
namespace LittleEndianGuest
{
- const bool ByteOrderDiffers = (HostByteOrder != LittleEndianByteOrder);
+ const ByteOrder GuestByteOrder = LittleEndianByteOrder;
template <typename T>
inline T gtole(T value) {return value;}
template <typename T>