cvs commit: src/sys/i386/isa atpic.c
Marius Strobl
marius at alchemy.franken.de
Tue Nov 18 08:22:18 PST 2003
On Tue, Nov 18, 2003 at 07:45:09AM -0800, Peter Wemm wrote:
> 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 at 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 *)
>
>
I had to include i386/isa/isa.h to make it compile but it works.
More information about the cvs-src
mailing list