From owner-freebsd-hackers Wed Feb 7 06:27:47 1996 Return-Path: owner-hackers Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id GAA01581 for hackers-outgoing; Wed, 7 Feb 1996 06:27:47 -0800 (PST) Received: from netmail.austin.ibm.com (netmail.austin.ibm.com [129.35.208.98]) by freefall.freebsd.org (8.7.3/8.7.3) with SMTP id GAA01576 for ; Wed, 7 Feb 1996 06:27:45 -0800 (PST) Received: from vikings.austin.ibm.com (vikings.austin.ibm.com [129.35.130.98]) by netmail.austin.ibm.com (8.6.12/8.6.11) with SMTP id IAA252943; Wed, 7 Feb 1996 08:27:43 -0600 Received: by vikings.austin.ibm.com (AIX 3.2/UCB 5.64/4.03-client-2.6) for freebsd-hackers@freebsd.org at austin.ibm.com; id AA17662; Wed, 7 Feb 1996 08:27:33 -0600 From: swise@austin.ibm.com (Jean-Steveau Wise) Message-Id: <9602071427.AA17662@vikings.austin.ibm.com> To: joerg_wunsch@uriah.heep.sax.de (Joerg Wunsch) Cc: freebsd-hackers@freebsd.org, swise@austin.ibm.com Subject: Re: assertions In-Reply-To: (Your message of Wed, 07 Feb 96 09:07:43 N.) <199602070807.JAA04661@uriah.heep.sax.de> Date: Wed, 07 Feb 96 08:27:32 -0600 Sender: owner-hackers@freebsd.org Precedence: bulk j@uriah.heep.sax.de says: | As Jean-Steveau Wise wrote: | > | > I want to put assertions into the ATAPI driver code and the kernel to | > assert that the ATAPI code doesn't leave a system call or interrupt | > with interrupts disabled. Can anyone help me code this assertion? My | | It doesn't look that it would completely disable interrupts, from a | quick glance over the code. One oddity that caught my eye: | wcd_strategy() finally calls wcd_start(), still at splbio. | wcd_start() in turn branches to atapi_request_wait(), which is | enbracketed in a pair of splbio/splx. I wouldn't expect this to hang | the system, but it looks strange. spl's can be recursive, I think, as long as you keep saving the old value returned from the spl*() calls and restore things correctly... | Have you turned on the atapi debug information? It seems to print | lotsa stuff with debug on. Yes, and it does print lot's o' stuff. It seems to get an interrupt, then print out the interrupt type and other junk. The info printed all seems ok from a non-atapi-literate person's point of view. Then it just hangs. I cannot tell whether I'm dealing with a software hang or a hardware hang. I'll keep hackin' Thanx, Stevo.