Mailing List Archive

Remove automatic I/O-fault handling in XenLinux. It's now
# HG changeset patch
# User kaf24@firebug.cl.cam.ac.uk
# Node ID 68d72ac55fe5781a5f6019ee6f89e61e05536218
# Parent d3b10a2a82d47bb3e52faf2fa4ba27217f486c54
Remove automatic I/O-fault handling in XenLinux. It's now
handled by Xen itself.

Signed-off-by: Keir Fraser <keir@xensource.com>

diff -r d3b10a2a82d4 -r 68d72ac55fe5 linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h
--- a/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Tue Dec 20 17:16:24 2005
+++ b/linux-2.6-xen-sparse/include/asm-xen/asm-i386/io.h Tue Dec 20 17:34:58 2005
@@ -309,15 +309,8 @@

#ifdef SLOW_IO_BY_JUMPING
#define __SLOW_DOWN_IO "jmp 1f; 1: jmp 1f; 1:"
-#elif defined(__UNSAFE_IO__)
+#else
#define __SLOW_DOWN_IO "outb %%al,$0x80;"
-#else
-#define __SLOW_DOWN_IO "\n1: outb %%al,$0x80\n" \
- "2:\n" \
- ".section __ex_table,\"a\"\n\t" \
- ".align 4\n\t" \
- ".long 1b,2b\n" \
- ".previous"
#endif

static inline void slow_down_io(void) {
@@ -362,8 +355,7 @@
#endif


-#if __UNSAFE_IO__
-#define ____BUILDIO(bwl,bw,type) \
+#define BUILDIO(bwl,bw,type) \
static inline void out##bwl##_local(unsigned type value, int port) { \
__asm__ __volatile__("out" #bwl " %" #bw "0, %w1" : : "a"(value), "Nd"(port)); \
} \
@@ -371,35 +363,7 @@
unsigned type value; \
__asm__ __volatile__("in" #bwl " %w1, %" #bw "0" : "=a"(value) : "Nd"(port)); \
return value; \
-}
-#else
-#define ____BUILDIO(bwl,bw,type) \
-static inline void out##bwl##_local(unsigned type value, int port) { \
- __asm__ __volatile__("1: out" #bwl " %" #bw "0, %w1\n" \
- "2:\n" \
- ".section __ex_table,\"a\"\n\t" \
- ".align 4\n\t" \
- ".long 1b,2b\n" \
- ".previous" : : "a"(value), "Nd"(port)); \
-} \
-static inline unsigned type in##bwl##_local(int port) { \
- unsigned type value; \
- __asm__ __volatile__("1:in" #bwl " %w1, %" #bw "0\n" \
- "2:\n" \
- ".section .fixup,\"ax\"\n" \
- "3: mov" #bwl " $~0,%" #bw "0\n\t" \
- "jmp 2b\n" \
- ".previous\n" \
- ".section __ex_table,\"a\"\n\t" \
- ".align 4\n\t" \
- ".long 1b,3b\n" \
- ".previous" : "=a"(value) : "Nd"(port)); \
- return value; \
-}
-#endif
-
-#define BUILDIO(bwl,bw,type) \
-____BUILDIO(bwl,bw,type) \
+} \
static inline void out##bwl##_local_p(unsigned type value, int port) { \
out##bwl##_local(value, port); \
slow_down_io(); \

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