Skip site navigation (1)Skip section navigation (2)
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>