From owner-freebsd-stable Mon Nov 20 3: 3:26 2000 Delivered-To: freebsd-stable@freebsd.org Received: from mass.osd.bsdi.com (unknown [63.202.178.138]) by hub.freebsd.org (Postfix) with ESMTP id 5BE9D37B479 for ; Mon, 20 Nov 2000 03:03:24 -0800 (PST) Received: from mass.osd.bsdi.com (localhost [127.0.0.1]) by mass.osd.bsdi.com (8.11.0/8.11.1) with ESMTP id eAKB7hF12419; Mon, 20 Nov 2000 03:07:43 -0800 (PST) (envelope-from msmith@mass.osd.bsdi.com) Message-Id: <200011201107.eAKB7hF12419@mass.osd.bsdi.com> X-Mailer: exmh version 2.1.1 10/15/1999 To: mike ryan Cc: stable@FreeBSD.ORG Subject: Re: 4.2-BETA hangs on boot In-reply-to: Your message of "Sun, 19 Nov 2000 19:39:41 EST." <20001119193941.A38978@medianstrip.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Date: Mon, 20 Nov 2000 03:07:43 -0800 From: Mike Smith Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG > i'm not entirely sure i understand. "pnp o/s = no" causes the bios > to assign an irq to the pcic controller, meaning the pcic controller > raises that interrupt on insertions/removals, but the driver, > operating in polling mode, never clears the interrupt so the machine > wedges trying to service it? if this is correct, how does ddb > manage to unwedge things? In some cases, the issue is that the interrupt generated by the bridge is level-triggered, which means that a failure to handle and clear it results in an interrupt loop. I don't know why breaking to DDB would ever fix this. If the interrupt is shared with other hardware (in your case, it appears to be shared with the UHCI controller, which is normal) then the interplay simply becomes more complex (because the failure may be due to bad behaviour in other code which responds differently when single-stepped due to timing interactions with the hardware). > the fix in -current is the pci interrupt routing code which allows > us to set "pnp os = yes" in the bios and let freebsd make irq > assignments only for devices it understands? any chance this will > MFC-ed? The "correct" fix is to improve our old and badly broken pccard/cardbus code, which is a work in progress. The interrupt routing code exists so that we can deal with bridges which don't have an interrupt correctly assigned (typically it's connected OK, but we don't know where to). -- ... every activity meets with opposition, everyone who acts has his rivals and unfortunately opponents also. But not because people want to be opponents, rather because the tasks and relationships force people to take different points of view. [Dr. Fritz Todt] V I C T O R Y N O T V E N G E A N C E To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message