patch-2.1.4 linux/include/asm-i386/processor.h
Next file: linux/include/asm-i386/segment.h
Previous file: linux/include/asm-i386/posix_types.h
Back to the patch index
Back to the overall index
- Lines: 52
- Date:
Fri Oct 11 12:54:14 1996
- Orig file:
v2.1.3/linux/include/asm-i386/processor.h
- Orig date:
Thu Oct 10 19:10:57 1996
diff -u --recursive --new-file v2.1.3/linux/include/asm-i386/processor.h linux/include/asm-i386/processor.h
@@ -47,51 +47,8 @@
*/
struct exception_struct {
unsigned long count;
- unsigned long ebx;
- unsigned long esi;
- unsigned long edi;
- unsigned long ebp;
- unsigned long esp;
unsigned long eip;
};
-
-extern inline int __exception(struct exception_struct *ex)
-{
- int result;
- __asm__("incl 0(%2)\n\t"
- "jne 1f\n\t"
- "movl %%ebx,4(%2)\n\t"
- "movl %%esi,8(%2)\n\t"
- "movl %%edi,12(%2)\n\t"
- "movl %%ebp,16(%2)\n\t"
- "movl %%esp,20(%2)\n\t"
- "movl $1f,24(%2)\n"
- "1:"
- :"=a" (result)
- :"0" (0), "d" (ex)
- :"cx","memory");
- return result;
-}
-
-extern inline void handle_exception(struct exception_struct *ex)
-{
- if (!ex->count) {
- ex->count--;
- __asm__("movl 4(%0),%%ebx\n\t"
- "movl 8(%0),%%esi\n\t"
- "movl 12(%0),%%edi\n\t"
- "movl 16(%0),%%ebp\n\t"
- "movl 20(%0),%%esp\n\t"
- "movl 24(%0),%%eax\n\t"
- "jmp *%%eax"
- : /* no outputs */
- :"d" (ex)
- :"memory");
- }
-}
-
-#define exception() __exception(¤t->tss.ex)
-#define end_exception() (current->tss.ex.count--)
/*
* Size of io_bitmap in longwords: 32 is ports 0-0x3ff.
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov