[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Fix ioemu build.



ChangeSet 1.1490, 2005/05/20 18:01:23+01:00, kaf24@xxxxxxxxxxxxxxxxxxxx

        Fix ioemu build.
        Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>



 Makefile                       |    4 ++++
 ioemu/target-i386-dm/helper2.c |   36 ++++++++----------------------------
 2 files changed, 12 insertions(+), 28 deletions(-)


diff -Nru a/tools/Makefile b/tools/Makefile
--- a/tools/Makefile    2005-05-20 14:02:55 -04:00
+++ b/tools/Makefile    2005-05-20 14:02:55 -04:00
@@ -38,6 +38,10 @@
 check_clean:
        $(MAKE) -C check clean
 
+ifneq ($(XEN_TARGET_ARCH),x86_32)
+XEN_NO_IOEMU=1
+endif
+
 ifndef XEN_NO_IOEMU
 ioemu ioemuinstall ioemuclean:
        [ -f ioemu/config-host.h ] || \
diff -Nru a/tools/ioemu/target-i386-dm/helper2.c 
b/tools/ioemu/target-i386-dm/helper2.c
--- a/tools/ioemu/target-i386-dm/helper2.c      2005-05-20 14:02:55 -04:00
+++ b/tools/ioemu/target-i386-dm/helper2.c      2005-05-20 14:02:55 -04:00
@@ -52,32 +52,6 @@
 #include "cpu.h"
 #include "exec-all.h"
 
-//#define DEBUG_MMU
-
-#ifdef USE_CODE_COPY
-#include <asm/ldt.h>
-#include <linux/unistd.h>
-#include <linux/version.h>
-
-#include <sys/ioctl.h>
-/* According to POSIX 1003.1-2001 */
-#include <sys/select.h>
-
-/* According to earlier standards */
-#include <sys/time.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <fcntl.h>
-#include <unistd.h>
-#include <values.h>
-
-_syscall3(int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount)
-
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 5, 66)
-#define modify_ldt_ldt_s user_desc
-#endif
-#endif /* USE_CODE_COPY */
-
 void *shared_page;
 
 CPUX86State *cpu_86_init(void)
@@ -321,7 +295,13 @@
 
 int xc_handle;
 
-#include <asm/bitops.h>
+static __inline__ void atomic_set_bit(long nr, volatile void *addr)
+{
+        __asm__ __volatile__(
+                "lock ; bts %1,%0"
+                :"=m" (*(volatile long *)addr)
+                :"dIr" (nr));
+}
 
 void
 do_interrupt(CPUState *env, int vector)
@@ -332,7 +312,7 @@
        // page.
 
        intr = &(((vcpu_iodata_t *) shared_page)->vp_intr[0]);
-       set_bit(vector, intr);
+       atomic_set_bit(vector, intr);
         fprintf(logfile, "injecting vector: %x\n", vector);
        env->send_event = 1;
 }

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.