patch-2.2.0-pre1 linux/arch/i386/kernel/traps.c
Next file: linux/arch/i386/lib/Makefile
Previous file: linux/arch/i386/kernel/time.c
Back to the patch index
Back to the overall index
- Lines: 24
- Date:
Sun Dec 27 10:32:09 1998
- Orig file:
v2.1.132/linux/arch/i386/kernel/traps.c
- Orig date:
Thu Nov 12 16:21:18 1998
diff -u --recursive --new-file v2.1.132/linux/arch/i386/kernel/traps.c linux/arch/i386/kernel/traps.c
@@ -499,15 +499,18 @@
}
#define _set_gate(gate_addr,type,dpl,addr) \
-__asm__ __volatile__ ("movw %%dx,%%ax\n\t" \
- "movw %2,%%dx\n\t" \
+do { \
+ int __d0, __d1; \
+ __asm__ __volatile__ ("movw %%dx,%%ax\n\t" \
+ "movw %4,%%dx\n\t" \
"movl %%eax,%0\n\t" \
"movl %%edx,%1" \
:"=m" (*((long *) (gate_addr))), \
- "=m" (*(1+(long *) (gate_addr))) \
+ "=m" (*(1+(long *) (gate_addr))), "=&a" (__d0), "=&d" (__d1) \
:"i" ((short) (0x8000+(dpl<<13)+(type<<8))), \
- "d" ((char *) (addr)),"a" (__KERNEL_CS << 16) \
- :"ax","dx")
+ "3" ((char *) (addr)),"2" (__KERNEL_CS << 16)); \
+} while (0)
+
/*
* This needs to use 'idt_table' rather than 'idt', and
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov