# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1202724159 0
# Node ID 54bd38dab5ef5713623cd5b83721820a1fd61a06
# Parent df9e3ec0490ad5dcdb824346432a928666402565
ioemu: fix compilation without softfloat
Signed-off-by: Samuel Thibault <samuel.thibault@xxxxxxxxxxxxx>
---
tools/ioemu/cpu-all.h | 10 ++++++++++
tools/ioemu/target-i386-dm/cpu.h | 4 ++++
2 files changed, 14 insertions(+)
diff -r df9e3ec0490a -r 54bd38dab5ef tools/ioemu/cpu-all.h
--- a/tools/ioemu/cpu-all.h Mon Feb 11 10:01:42 2008 +0000
+++ b/tools/ioemu/cpu-all.h Mon Feb 11 10:02:39 2008 +0000
@@ -116,6 +116,7 @@ static inline void tswap64s(uint64_t *s)
#define bswaptls(s) bswap64s(s)
#endif
+#ifdef CONFIG_SOFTFLOAT
/* NOTE: arm FPA is horrible as double 32 bit words are stored in big
endian ! */
typedef union {
@@ -134,6 +135,7 @@ typedef union {
#endif
uint64_t ll;
} CPU_DoubleU;
+#endif
/* CPU memory access without any memory or io remapping */
@@ -267,6 +269,7 @@ static inline void stq_le_p(void *ptr, u
stl_le_p(p + 4, v >> 32);
}
+#ifdef CONFIG_SOFTFLOAT
/* float access */
static inline float32 ldfl_le_p(void *ptr)
@@ -304,6 +307,7 @@ static inline void stfq_le_p(void *ptr,
stl_le_p(ptr, u.l.lower);
stl_le_p(ptr + 4, u.l.upper);
}
+#endif
#else
@@ -342,6 +346,7 @@ static inline void stq_le_p(void *ptr, u
*(uint64_t *)ptr = v;
}
+#ifdef CONFIG_SOFTFLOAT
/* float access */
static inline float32 ldfl_le_p(void *ptr)
@@ -363,6 +368,7 @@ static inline void stfq_le_p(void *ptr,
{
*(float64 *)ptr = v;
}
+#endif
#endif
#if !defined(WORDS_BIGENDIAN) || defined(WORDS_ALIGNED)
@@ -456,6 +462,7 @@ static inline void stq_be_p(void *ptr, u
stl_be_p(ptr + 4, v);
}
+#ifdef CONFIG_SOFTFLOAT
/* float access */
static inline float32 ldfl_be_p(void *ptr)
@@ -493,6 +500,7 @@ static inline void stfq_be_p(void *ptr,
stl_be_p(ptr, u.l.upper);
stl_be_p(ptr + 4, u.l.lower);
}
+#endif
#else
@@ -531,6 +539,7 @@ static inline void stq_be_p(void *ptr, u
*(uint64_t *)ptr = v;
}
+#ifdef CONFIG_SOFTFLOAT
/* float access */
static inline float32 ldfl_be_p(void *ptr)
@@ -552,6 +561,7 @@ static inline void stfq_be_p(void *ptr,
{
*(float64 *)ptr = v;
}
+#endif
#endif
diff -r df9e3ec0490a -r 54bd38dab5ef tools/ioemu/target-i386-dm/cpu.h
--- a/tools/ioemu/target-i386-dm/cpu.h Mon Feb 11 10:01:42 2008 +0000
+++ b/tools/ioemu/target-i386-dm/cpu.h Mon Feb 11 10:02:39 2008 +0000
@@ -37,16 +37,20 @@
#include "cpu-defs.h"
+#ifdef CONFIG_SOFTFLOAT
#include "softfloat.h"
+#endif
#if defined(__i386__) && !defined(CONFIG_SOFTMMU)
#define USE_CODE_COPY
#endif
+#ifdef CONFIG_SOFTFLOAT
#ifdef USE_X86LDOUBLE
typedef floatx80 CPU86_LDouble;
#else
typedef float64 CPU86_LDouble;
+#endif
#endif
/* Empty for now */
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|