Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Nov 2003 07:45:09 -0800
From:      Peter Wemm <peter@wemm.org>
To:        Marius Strobl <marius@alchemy.franken.de>
Cc:        John Baldwin <jhb@FreeBSD.org>
Subject:   Re: cvs commit: src/sys/i386/isa atpic.c 
Message-ID:  <20031118154509.3BB1C2A8EB@canning.wemm.org>
In-Reply-To: <20031118161335.P10910@newtrinity.zeist.de> 

next in thread | previous in thread | raw e-mail | index | archive | help
Marius Strobl wrote:
> On Tue, Nov 18, 2003 at 09:21:18AM -0500, John Baldwin wrote:
> > 
> > On 18-Nov-2003 Marius Strobl wrote:
> > > On Mon, Nov 17, 2003 at 05:53:14PM -0500, John Baldwin wrote:
> > >> 
> > >> On 17-Nov-2003 Marius Strobl wrote:
> > >> > On Fri, Nov 14, 2003 at 04:21:44PM -0500, John Baldwin wrote:
> > >> >> 
> > >> >> On 14-Nov-2003 John Baldwin wrote:
> > >> >> > jhb         2003/11/14 13:02:49 PST
> > >> >> > 
> > >> >> >   FreeBSD src repository
> > >> >> > 
> > >> >> >   Modified files:
> > >> >> >     sys/i386/isa         atpic.c 
> > >> >> >   Log:
> > >> >> >   Always install IDT entries for ATPIC interrupt sources.  The APIC
     no
> > >> >> >   longer uses these interrupt vectors for its ISA interrupt pins, s
    o these
> > >> >> >   entries will not be overwritten.  If we get a spurious interrupt 
    from the
> > >> >> >   ATPIC when using the APIC, it will be treated as a stray interrup
    t instead
> > >> >> >   of causing a panic.
> > >> >> 
> > >> >> This should fix all of the "panic: Couldn't get vector from ISR" and
> > >> >> trap 30 (reserved) panics.  If you were using older versions of eithe
    r
> > >> >> spurious.patch or atpic.patch, please try reverting them and using
> > >> >> plain CVS to see if that fixes your problem.  If not, please let me k
    now.
> > >> >> If you get several stray IRQ 7 messages and would like to shut them u
    p,
> > >> >> you can try http://www.FreeBSD.org/~jhb/patches/spurious.patch
> > >> >> 
> > >> > 
> > >> > Unfortunately it doesn't fix the type 30 trap triggered by a spurious
> > > 
> > > Oops, meant stray interrupt...
> > > 
> > >> > interrupt here (need atpic.patch).
> > >> 
> > >> Do you get the trap very early?
> > >> 
> > > 
> > > Yes, please see <20031110172540.A29948@newtrinity.zeist.de> on current@
> > > or http://quad.zeist.de/newintr.log (this was with older sources but the
> > > problem is still the same after the commit above).
> > 
> > Can you try www.freebsd.org/~jhb/patches/vm86.patch
> > 
> 
> Looks worse: http://quad.zeist.de/newintr2.log

Can I get you to try this instead please?

Index: sys/i386/i386/machdep.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/i386/machdep.c,v
retrieving revision 1.582
diff -u -r1.582 machdep.c
--- machdep.c   14 Nov 2003 19:00:02 -0000      1.582
+++ machdep.c   18 Nov 2003 15:43:51 -0000
@@ -1947,6 +1947,10 @@
        int gsel_tss, metadata_missing, off, x;
        struct pcpu *pc;

+       /* Preemptively mask the atpics and leave them shut down */
+       outb(IO_ICU1 + ICU_IMR_OFFSET, 0xff);
+       outb(IO_ICU2 + ICU_IMR_OFFSET, 0xff);
+
        proc0.p_uarea = proc0uarea;
        thread0.td_kstack = proc0kstack;
        thread0.td_pcb = (struct pcb *)


Cheers,
-Peter
--
Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com
"All of this is for nothing if we don't go to the stars" - JMS/B5



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20031118154509.3BB1C2A8EB>