From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jdmzh-00044K-3Q for qemu-devel@nongnu.org; Mon, 24 Mar 2008 09:45:45 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jdmze-000416-48 for qemu-devel@nongnu.org; Mon, 24 Mar 2008 09:45:43 -0400 Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jdmzd-00040e-St for qemu-devel@nongnu.org; Mon, 24 Mar 2008 09:45:41 -0400 Received: from mail.codesourcery.com ([65.74.133.4]) by monty-python.gnu.org with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jdmzd-00057O-Dg for qemu-devel@nongnu.org; Mon, 24 Mar 2008 09:45:41 -0400 From: Paul Brook Subject: Re: [kvm-devel] [Qemu-devel] [PATCH] [RFC] Fix time drift of rtc clock + general support Date: Mon, 24 Mar 2008 13:45:27 +0000 References: <1206282453.18800.31.camel@localhost.localdomain> <200803231619.32472.paul@codesourcery.com> <47E7542C.60901@qumranet.com> In-Reply-To: <47E7542C.60901@qumranet.com> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200803241345.29197.paul@codesourcery.com> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kvm-devel On Monday 24 March 2008, Avi Kivity wrote: > Paul Brook wrote: > > On Sunday 23 March 2008, Dor Laor wrote: > >> --- a/qemu/hw/irq.c > >> +++ b/qemu/hw/irq.c > >> @@ -30,6 +30,8 @@ struct IRQState { > >> int n; > >> }; > >> > >> +uint32_t qemu_irq_acked[NR_IRQ_WORDS]; > > > > This is absolute rubbish. The whole point of the IRQ framework is that it > > doesn't assume a single flat IRQ controller. > > x86 does have a single irq space (even when using cascaded pics or > multiple ioapics), called gsi (for generalized system interrupt, or > something). It is possible to enumerate all irqs on all platforms that > have a finite number of them. Sure, it's possible to enumerate all the possible IRQ inputs (it's effectively the same as enumerating all the IRQ sources). It's not possible to say anything particularly useful about that enumeration though. It's not uncommon for interrupts to be connected to GPIO pins, be inverted, or have interrupt routings that change dynamically. > It may be better though to identify an irq by a (controller_id, > irq_line) pair instead. That's what qemu_irq is for. Anything else is IMHO wrong. Paul