From owner-freebsd-hackers Wed May 10 14: 1:38 2000 Delivered-To: freebsd-hackers@freebsd.org Received: from alcanet.com.au (mail.alcanet.com.au [203.62.196.10]) by hub.freebsd.org (Postfix) with ESMTP id 550B737B8C4 for ; Wed, 10 May 2000 14:01:34 -0700 (PDT) (envelope-from jeremyp@gsmx07.alcatel.com.au) Received: by border.alcanet.com.au id <115219>; Thu, 11 May 2000 07:01:43 +1000 Content-return: prohibited From: Peter Jeremy Subject: Re: Can NMI drop a hanging FreeBSD kernel into DDB? To: imp@village.org Cc: hackers@freebsd.org Message-Id: <00May11.070143est.115219@border.alcanet.com.au> MIME-version: 1.0 X-Mailer: Mutt 1.0i Content-type: text/plain; charset=us-ascii Date: Thu, 11 May 2000 07:01:43 +1000 Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On Fri, 05 May 2000 22:56:42 -0600, Warner Losh wrote: >In message <200005060453.WAA59241@harmony.village.org> Warner Losh writes: >: However, it won't work if you are hacking pci hardware and manage to >: hang the PCI bus. > >Unless, of course, the trap handler is in cache as well as the >debugger routines you need. I thought the PCI bus was isolated from the CPU<->memory bus so this couldn't occur. The trap handler should start OK, but just can't do any I/O because the PCI bus is hung. > There's not a good way to force it >either since if you knew you were about to hang the pci bus, you'd not >do the action that would hang it :-). At least on the 486, it is possible to freeze data in the internal cache by loading the cache (either via the test registers or by judicious memory accesses) and then disabling it (CR0.CD = 1). It's not possible to freeze specific cache lines. I presume similar facilities are available in the later processors and for external caches. Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message