1 --- linux-2.4.19/arch/i386/kernel/entry.S.orig Sat Aug 3 02:39:42 2002
2 +++ linux-2.4.19/arch/i386/kernel/entry.S Thu Nov 14 13:52:24 2002
14 movl EIP(%esp),%eax # due to call gates, this is eflags, not eip..
15 movl CS(%esp),%edx # this is eip..
16 movl EFLAGS(%esp),%ecx # and this is cs..
17 + andl $~(NT_MASK|TF_MASK|DF_MASK), %eax # Clear NT since we are doing an iret
18 movl %eax,EFLAGS(%esp) #
21 movl %edx,EIP(%esp) # Now we move them to their "normal" places
25 movl EIP(%esp),%eax # due to call gates, this is eflags, not eip..
26 movl CS(%esp),%edx # this is eip..
27 movl EFLAGS(%esp),%ecx # and this is cs..
28 + andl $~(NT_MASK|TF_MASK|DF_MASK), %eax # Clear NT since we are doing an iret
29 movl %eax,EFLAGS(%esp) #
32 movl %edx,EIP(%esp) # Now we move them to their "normal" places
36 pushl $ SYMBOL_NAME(do_divide_error)
40 + andl $~(NT_MASK|TF_MASK|DF_MASK), (%esp) # NT must be clear, do a cld for free
51 movl ORIG_EAX(%esp), %esi # get the error code
52 movl ES(%esp), %edi # get the function address
53 --- linux-2.4.19/arch/i386/kernel/traps.c.orig Sat Aug 3 02:39:42 2002
54 +++ linux-2.4.19/arch/i386/kernel/traps.c Thu Nov 14 13:53:14 2002
59 - regs->eflags &= ~TF_MASK;
60 + regs->eflags &= ~(TF_MASK|NT_MASK);