Date: Tue, 20 May 1997 12:51:39 +0800 From: Peter Wemm <peter@spinner.DIALix.COM> To: dg@root.com Cc: Jason Thorpe <thorpej@nas.nasa.gov>, Kazutaka YOKOTA <yokota@zodiac.mech.utsunomiya-u.ac.jp>, freebsd-hackers@freebsd.org, freebsd-bugs@freebsd.org Subject: Re: trap type 29 on P6 Message-ID: <199705200451.MAA28627@spinner.DIALix.COM> In-Reply-To: Your message of "Mon, 19 May 1997 21:12:04 MST." <199705200412.VAA19394@lestat.nas.nasa.gov>
next in thread | previous in thread | raw e-mail | index | archive | help
Jason Thorpe wrote: > On Tue, 20 May 1997 12:09:40 +0800 > Peter Wemm <peter@spinner.DIALix.COM> wrote: > > > Under FreeBSD, the IDT vector number for irq7 is 39, not 29.. The PIC's > > are programmed to use 32 through 47 (under non-SMP). > > ...I know :-) irq 7 is directed to another vector under NetBSD/i386, as > well... Ahh foo. virtual trap numbers.. :-( > > I think this is different to the problem that you describe. Here we're > > getting trap 29 which: > > [..] > > #define T_STKFLT 27 /* stack fault */ > > #define T_MCHK 28 /* machine check trap */ > > #define T_RESERVED 29 /* reserved (unknown) */ > > ...exactly what I'm talking about... I originally thought I was seeing > a machine-check as well. I see now in our code where trap 15 is mapped into 29.. > The relevant bit of locore.s from NetBSD/i386: > > IDTVEC(trap0f) > /* > * The Pentium Pro local APIC may erroneously call this vector for a > * default IR7. Just ignore it. > */ > iret Hmm.. But what I want to know is why the local APIC is doing this when it's not active? And why does it coincide with IO instructions? Anyway, assuming that's the case, how does this look: Index: trap.c =================================================================== RCS file: /home/ncvs/src/sys/i386/i386/trap.c,v retrieving revision 1.95 diff -u -r1.95 trap.c --- trap.c 1997/05/07 20:08:53 1.95 +++ trap.c 1997/05/20 04:48:07 @@ -431,6 +436,7 @@ } return; } + break; #else /* !POWERFAIL_NMI */ #ifdef DDB /* NMI can be hooked up to a pushbutton for debugging */ @@ -439,10 +445,14 @@ return; #endif /* DDB */ /* machine/parity/power fail/"kitchen sink" faults */ - if (isa_nmi(code) == 0) return; - /* FALL THROUGH */ + if (isa_nmi(code) == 0) + return; + break; #endif /* POWERFAIL_NMI */ #endif /* NISA > 0 */ + case T_RESERVED: + printf("stray T_RESERVED trap (ignored)\n"); + return; } trap_fatal(&frame); > Jason R. Thorpe thorpej@nas.nasa.gov > NASA Ames Research Center Home: 408.866.1912 > NAS: M/S 258-6 Work: 415.604.0935 > Moffett Field, CA 94035 Pager: 415.428.6939 Cheers, -Peter
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199705200451.MAA28627>