From: Paul <set@pobox.com>
To: Brian Gerst <bgerst@didntduck.org>
Cc: linux-kernel@vger.kernel.org
Subject: Re: [OOPS] [resolution]
Date: Wed, 22 Aug 2001 00:43:20 -0400 [thread overview]
Message-ID: <20010822004319.A234@squish.home.loc> (raw)
In-Reply-To: <20010819004703.A226@squish.home.loc> <3B831CDF.4CC930A7@didntduck.org> <20010821232557.G218@squish.home.loc> <3B832904.491AFE0E@didntduck.org>
In-Reply-To: <3B832904.491AFE0E@didntduck.org>; from bgerst@didntduck.org on Tue, Aug 21, 2001 at 11:37:40PM -0400
Brian Gerst <bgerst@didntduck.org>, on Tue Aug 21, 2001 [11:37:40 PM] said:
> Paul wrote:
> >
> > Brian Gerst <bgerst@didntduck.org>, on Tue Aug 21, 2001 [10:45:51 PM] said:
> > > > CPU: 0
> > > > EIP: 0010:[<c0180a18>]
> > > > Using defaults from ksymoops -t elf32-i386 -a i386
> > > > EFLAGS: 00010002
> > > > eax: 00001000 ebx: c4562368 ecx: 00000000 edx: 00000001
> > > > esi: c4562368 edi: c4a954d4 ebp: 00000001 esp: c6887d88
> > > > ds: 008 es: 0000 ss: 0018
> > > ^^^^
> > > Here is your problem. %es is set to the null segment. I had my
> > > suspicions about the segment reload optimisation in the -ac kernels, and
> > > this proves it. Try backing out the changes to arch/i386/kernel/entry.S
> > > and include/asm-i386/hw_irq.h and see if that fixes the problem.
> > >
[....]
> Try the attached diff.
>
Dear Brian;
Well, with this backed out, I cannot get an oops anymore.
Thanks.
Paul
set@pobox.com
> --
> Brian Gerst
> --- linux-2.4.8-ac7/arch/i386/kernel/entry.S Mon Aug 20 19:21:49 2001
> +++ linux-2.4.8/arch/i386/kernel/entry.S Sat Jul 7 13:55:12 2001
> @@ -106,14 +106,10 @@
> popl %edi; \
> popl %ebp; \
> popl %eax; \
> - cmpl $__KERNEL_DS,(%esp); \
> - je 4f ; \
> 1: popl %ds; \
> 2: popl %es; \
> addl $4,%esp; \
> 3: iret; \
> -4: addl $12,%esp; \
> - iret; \
> .section .fixup,"ax"; \
> 4: movl $0,(%esp); \
> jmp 1b; \
> @@ -289,11 +285,9 @@
> pushl %esi # push the error code
> pushl %edx # push the pt_regs pointer
> movl $(__KERNEL_DS),%edx
> - cmpl %edx,%ecx
> - jz 1f
> movl %edx,%ds
> movl %edx,%es
> -1: GET_CURRENT(%ebx)
> + GET_CURRENT(%ebx)
> call *%edi
> addl $8,%esp
> jmp ret_from_exception
> --- linux-2.4.8-ac7/include/asm-i386/hw_irq.h Mon Aug 20 19:22:19 2001
> +++ linux-2.4.8/include/asm-i386/hw_irq.h Sat Jul 7 13:55:40 2001
> @@ -95,10 +95,6 @@
> #define __STR(x) #x
> #define STR(x) __STR(x)
>
> -/*
> - * A segment register reload is rather expensive. Try to avoid it
> - * if possible.
> - */
> #define SAVE_ALL \
> "cld\n\t" \
> "pushl %es\n\t" \
> @@ -110,12 +106,9 @@
> "pushl %edx\n\t" \
> "pushl %ecx\n\t" \
> "pushl %ebx\n\t" \
> - "movl $" STR(__KERNEL_DS) ",%eax\n\t" \
> - "cmpl %eax,7*4(%esp)\n\t" \
> - "je 1f\n\t" \
> - "movl %eax,%ds\n\t" \
> - "movl %eax,%es\n\t" \
> - "1:\n\t"
> + "movl $" STR(__KERNEL_DS) ",%edx\n\t" \
> + "movl %edx,%ds\n\t" \
> + "movl %edx,%es\n\t"
>
> #define IRQ_NAME2(nr) nr##_interrupt(void)
> #define IRQ_NAME(nr) IRQ_NAME2(IRQ##nr)
prev parent reply other threads:[~2001-08-22 4:43 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-08-19 4:47 [OOPS] repeatable 2.4.8-ac7, 2.4.7-ac6 just run xdos Paul
2001-08-19 5:09 ` Jeff Chua
2001-08-19 5:40 ` Paul
2001-08-19 8:04 ` Jeff Chua
2001-08-19 20:30 ` Eric W. Biederman
2001-08-20 1:43 ` [OOPS] repeatable 2.4.8-ac7, 2.4.7-ac6 [I] " Paul
2001-08-20 6:09 ` Eric W. Biederman
2001-08-21 1:14 ` Paul
2001-08-21 6:08 ` Eric W. Biederman
2001-08-21 16:14 ` Wilfried Weissmann
[not found] ` <3B828898.BD98D4C4@gmx.at>
2001-08-21 16:20 ` Eric W. Biederman
2001-08-21 18:49 ` Wilfried Weissmann
2001-08-21 21:50 ` Wilfried Weissmann
2001-08-22 1:42 ` Paul
2001-08-22 7:56 ` Eric W. Biederman
2001-08-19 5:10 ` [OOPS] repeatable 2.4.8-ac7, 2.4.7-ac6 " Jeff Chua
2001-08-22 2:45 ` Brian Gerst
[not found] ` <20010821232557.G218@squish.home.loc>
[not found] ` <3B832904.491AFE0E@didntduck.org>
2001-08-22 4:43 ` Paul [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20010822004319.A234@squish.home.loc \
--to=set@pobox.com \
--cc=bgerst@didntduck.org \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®