From owner-freebsd-smp Fri Jun 27 15:43:50 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id PAA19481 for smp-outgoing; Fri, 27 Jun 1997 15:43:50 -0700 (PDT) Received: from Ilsa.StevesCafe.com (Ilsa.StevesCafe.com [205.168.119.129]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id PAA19473 for ; Fri, 27 Jun 1997 15:43:44 -0700 (PDT) Received: from Ilsa.StevesCafe.com (localhost [127.0.0.1]) by Ilsa.StevesCafe.com (8.8.5/8.8.5) with ESMTP id QAA03755 for ; Fri, 27 Jun 1997 16:43:42 -0600 (MDT) Message-Id: <199706272243.QAA03755@Ilsa.StevesCafe.com> X-Mailer: exmh version 2.0gamma 1/27/96 From: Steve Passe To: smp@freebsd.org Subject: NMI and debugging in general Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Fri, 27 Jun 1997 16:43:42 -0600 Sender: owner-smp@freebsd.org X-Loop: FreeBSD.org Precedence: bulk Hi, I just committed code to the SMP kernel that allows the BSP to handle NMIs. Till now they were completely ignored. Aps still ignore it, the plan is for the BSP to send an IPI to each of them informing them to stop. I just recently discovered that we were ignoring them. I bought one of those POST code boards from JDR for debugging purposes. It has a 2 digit LED display that shows the BIOS POST codes as the machine boots. kernel code can write an 8 bit value to address 0x80 to display it. This allows a simpler method for displaying the progress of code thru "problem areas". it will be particularily nice for those bugs that run for days before hanging (no need to collect a 100MB of printf output). the design of the card includes a db-15 connector on the bracket for remote mounting the LEDs. I plan to build such a cable, along with a pair of switches for RESET and NMI (finally I get to the point). this will hopefully prove useful for breaking out of those "hung" conditions into the debugger with useful information. with my machine kept in a machine closet this extension box will also allow me to view the display and RESET/NMI the machine without leaving my seat. now if I could just figure out why my stop_cpus()/restart_cpus() IPIs don't work reliably... -- Steve Passe | powered by smp@csn.net | Symmetric MultiProcessor FreeBSD