From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:47432) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UovjX-00011x-Jr for qemu-devel@nongnu.org; Tue, 18 Jun 2013 09:14:05 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UovjT-0006P9-Pg for qemu-devel@nongnu.org; Tue, 18 Jun 2013 09:14:03 -0400 Received: from mail-ye0-f176.google.com ([209.85.213.176]:50246) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UovjT-0006P4-L3 for qemu-devel@nongnu.org; Tue, 18 Jun 2013 09:13:59 -0400 Received: by mail-ye0-f176.google.com with SMTP id m14so1318897yen.7 for ; Tue, 18 Jun 2013 06:13:59 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <51C05D12.1050104@redhat.com> Date: Tue, 18 Jun 2013 15:13:54 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <51C04671.8090305@msgid.tls.msk.ru> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] RFC: DSO (dynamic shared objects) support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Michael Tokarev , qemu-devel Il 18/06/2013 14:42, Anthony Liguori ha scritto: >> > Next, and this is the most complex part. The build system for >> > modules, and configuring it. I heard there were plans to use >> > something like kbuild system for that, has anything been done >> > in this context? > GSoC just kicked off yesterday. Paolo can perhaps shed some light on > what the plans are. The plans is just to add kconfig, not kbuild, similar to seabios/busybox/etc. It would provide configurability by target and board, and in addition make it obvious which bits of default-configs/ (such as PCI, USB, HPET, etc.) are actually configurable. I outlined a possible implementation at the end of http://wiki.qemu.org/Features/Modules, though something nicer may be possible (possibly taking inspiration from Kconfig). >> > With current config/build system, the following changes are >> > needed: >> > >> > o split individual libs from libs_softmmu into their own >> > variables. Ack. This could be doable already and independent from everything else. >> > o allow obj-m (and similar) in addition to obj-y, with build >> > flags and rules to produce an .so. > We also need a way to define the module targets. My Makefile-fu is > not all that great but I suspect we can do something like: > > libqemu-%.ko: $(eval $(obj-%-m)) > > I don't think that works but that's the rough idea. We would then > need to define each module target by hand but that's probably > reasonable in the short term until we have kconfig. You can limit that to multiple-source modules, which is the common case. Single-source modules are easily handled. Paolo