From owner-cvs-src@FreeBSD.ORG Fri Apr 25 02:05:39 2008 Return-Path: Delivered-To: cvs-src@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 304D9106567A; Fri, 25 Apr 2008 02:05:39 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from harmony.bsdimp.com (bsdimp.com [199.45.160.85]) by mx1.freebsd.org (Postfix) with ESMTP id D1B728FC0A; Fri, 25 Apr 2008 02:05:38 +0000 (UTC) (envelope-from imp@bsdimp.com) Received: from localhost (localhost [127.0.0.1]) by harmony.bsdimp.com (8.14.2/8.14.1) with ESMTP id m3P23ak9012960; Thu, 24 Apr 2008 20:03:36 -0600 (MDT) (envelope-from imp@bsdimp.com) Date: Thu, 24 Apr 2008 20:04:40 -0600 (MDT) Message-Id: <20080424.200440.1210475050.imp@bsdimp.com> To: jhb@FreeBSD.org From: "M. Warner Losh" In-Reply-To: <200804241052.52297.jhb@freebsd.org> References: <8764A4AA-DE86-43A6-B161-3159DE7E5AB8@mac.com> <200804241052.52297.jhb@freebsd.org> X-Mailer: Mew version 5.2 on Emacs 21.3 / Mule 5.0 (SAKAKI) Mime-Version: 1.0 Content-Type: Text/Plain; charset=us-ascii Content-Transfer-Encoding: 7bit Cc: cvs-src@FreeBSD.org, xcllnt@mac.com, cvs-all@FreeBSD.org, peter@wemm.org, src-committers@FreeBSD.org Subject: Re: cvs commit: src/sys/amd64/amd64 machdep.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Apr 2008 02:05:39 -0000 In message: <200804241052.52297.jhb@freebsd.org> John Baldwin writes: : On Wednesday 23 April 2008 09:26:14 pm Marcel Moolenaar wrote: : > : > On Apr 23, 2008, at 5:40 PM, Peter Wemm wrote: : > : > > On Wed, Apr 23, 2008 at 5:58 AM, John Baldwin wrote: : > >> On Saturday 19 April 2008 03:25:57 am Peter Wemm wrote: : > >>> peter 2008-04-19 07:25:57 UTC : > >>> : > >>> FreeBSD src repository : > >>> : > >>> Modified files: : > >>> sys/amd64/amd64 machdep.c : > >>> Log: : > >>> Put in a real isa_irq_pending() stub in order to remove two lines : > >>> of : > >>> dmesg noise from sio per unit. sio likes to probe if interrupts are : > >>> configured correctly by looking at the pending bits of the atpic : > >>> in order : > >>> to put a non-fatal warning on the console. I think I'd rather : > >>> read the : > >>> pending bits from the apics, but I'm not sure its worth the hassle. : > >> : > >> Actually, the x86 interrupt sources have a pending method so this : > >> can be : > >> replaced. Could probably easily write something like this: : > >> : > >> int : > >> intr_pending(u_int irq) : > >> { : > >> struct intsrc *isrc; : > >> : > >> isc = intr_lookup_source(irq); : > >> if (isrc == NULL) : > >> panic("bizarre"); : > >> return (isrc->is_pic->pic_pending(isrc)); : > >> } : > >> : > >> For intr_machdep.c and use this in sio: : > >> : > >> #if defined(__i386__) || defined(__amd64__) : > >> foo = intr_pending(rman_get_start(irq_resource)); : > >> #else : > >> foo = isa_irq_pending() & (1 << rman_get_start(irq_resource)); : > >> #endif : > >> : > >> or some such. I'd really prefer to kill isa_irq_pending(). : > > : > > Let's just add intr_pending() to all MD backends that currently : > > provide isa_irq_pending() for sio's benenfit. Either as a simple : > > wrapper around the now-static local isa_irq_pending() (ia64), or by : > > simplifying and converting isa_irq_pending() into intr_pending() : > > (sparc64). : > : > sio() is only for i386 and amd64, isa_irq_pending() should be : > removed from all MD code, except from i386 and amd64. : : Other people may still want to use sio, but the use of isa_irq_pending() in : sio is dubious at best and really only applicable to ISA sio parts anyway. : It's probably a waste of time to bother checking for PCI devices, etc. It only checks for ISA and CBUS devices, the only places where it was ever relevant. Warner