From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lpk7i-0003vO-1G for qemu-devel@nongnu.org; Fri, 03 Apr 2009 10:11:58 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lpk7d-0003tH-D4 for qemu-devel@nongnu.org; Fri, 03 Apr 2009 10:11:57 -0400 Received: from [199.232.76.173] (port=48997 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lpk7d-0003tA-6h for qemu-devel@nongnu.org; Fri, 03 Apr 2009 10:11:53 -0400 Received: from rv-out-0708.google.com ([209.85.198.246]:57784) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lpk7c-0003wn-Ua for qemu-devel@nongnu.org; Fri, 03 Apr 2009 10:11:53 -0400 Received: by rv-out-0708.google.com with SMTP id l33so969520rvb.22 for ; Fri, 03 Apr 2009 07:11:52 -0700 (PDT) Message-ID: <49D61924.3080803@codemonkey.ws> Date: Fri, 03 Apr 2009 09:11:48 -0500 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [RFC] Introduce module API to QEMU References: <1238724755-15929-1-git-send-email-aliguori@us.ibm.com> <200904031235.33157.paul@codesourcery.com> <49D607A3.7040907@codemonkey.ws> <200904031409.32792.paul@codesourcery.com> In-Reply-To: <200904031409.32792.paul@codesourcery.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paul Brook Cc: qemu-devel@nongnu.org Paul Brook wrote: > On Friday 03 April 2009, Anthony Liguori wrote: > >> Paul Brook wrote: >> >>>> This patch introduces a module API similar to what's in the Linux >>>> kernel. This includes module_init/module_exit functions that register >>>> functions that are run at init and exit respectively. >>>> >>> Wouldn't it be much simpler to just have a list of device names, and >>> assume the each device is implemented in $devicename., and provides >>> $devicename_register ? >>> >>> It's then an extremely simple shell script to collate and call these. >>> >> It doesn't generalize very well. For instance, the VNC server is not a >> device but it needs to be able to register as a DisplayState backend. >> > > Hmm, this raises annother issue - we've got to be extremely careful about > ordering. It's not inconcievable that the PCI support code would have > constructors (e.g. to register a PCI bus type). > Looks like constructor/destructor has explicit support for ordering. Neat. Regards, Anthony Liguori > Paul >