From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56369) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SC82N-0001mD-61 for qemu-devel@nongnu.org; Mon, 26 Mar 2012 07:24:40 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SC82L-0007o0-BI for qemu-devel@nongnu.org; Mon, 26 Mar 2012 07:24:34 -0400 Received: from smtp.vivo.cz ([85.132.139.19]:40691) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SC82L-0007ni-4T for qemu-devel@nongnu.org; Mon, 26 Mar 2012 07:24:33 -0400 Date: Mon, 26 Mar 2012 13:24:30 +0200 From: Jiri Denemark Message-ID: <20120326112430.GA150306@orkuz.home> References: <4F6F18E4.2040905@redhat.com> <4F6F19AC.1080009@codemonkey.ws> <4F6F1A50.5090502@redhat.com> <4F6F1C32.7090801@codemonkey.ws> <4F6F1ED2.6090301@redhat.com> <4F6F2D7D.70500@codemonkey.ws> <4F6F2FB4.5060405@redhat.com> <4F6F32B8.7050401@codemonkey.ws> <4F6F36C7.8010206@redhat.com> <4F6F3941.6040800@codemonkey.ws> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4F6F3941.6040800@codemonkey.ws> Subject: Re: [Qemu-devel] [libvirt] Modern CPU models cannot be used with libvirt List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: libvir-list@redhat.com, qemu-devel@nongnu.org, Avi Kivity , Gleb Natapov , Eduardo Habkost On Sun, Mar 25, 2012 at 10:26:57 -0500, Anthony Liguori wrote: > On 03/25/2012 10:16 AM, Avi Kivity wrote: > > On 03/25/2012 04:59 PM, Anthony Liguori wrote: > So how about: > > 1) Load ['@SYSCONFDIR@/qemu/qemu.cfg', '@SYSCONFDIR@/qemu/target-@ARCH@.cfg', > '@DATADIR@/system.cfg', '@DATADIR@/system-@ARCH@.cfg'] > > 2) system-@ARCH@.cfg will contain: > > [system] > readconfig=@DATADIR@/target-@ARCH@-cpus.cfg > readconfig=@DATADIR@/target-@ARCH@-machine.cfg > > 3) -nodefconfig will not load any configuration files from DATADIR or > SYSCONFDIR. -no-user-config will not load any configuration files from SYSCONFDIR. > ... > > The command line becomes unstable if you use -nodefconfig. > > -no-user-config solves this but I fully expect libvirt would continue to use > -nodefconfig. Libvirt uses -nodefaults -nodefconfig because it wants to fully control how the virtual machine will look like (mainly in terms of devices). In other words, we don't want any devices to just magically appear without libvirt knowing about them. -nodefaults gets rid of default devices that are built directly in qemu. Since users can set any devices or command line options (such as enable-kvm) into qemu configuration files in @SYSCONFDIR@, we need to avoid reading those files as well. Hence we use -nodefconfig. However, we would still like qemu to read CPU definitions, machine types, etc. once they become externally loaded configuration (or however we decide to call it). That said, when CPU definitions are moved into @DATADIR@, and -no-user-config is introduced, I don't see any reason for libvirt to keep using -nodefconfig. I actually like -no-user-config more than -nodefconfig -readconfig @DATADIR@/... since it would avoid additional magic to detect what files libvirt should explicitly pass to -readconfig but basically any approach that would allow us to do read files only from @DATADIR@ is much better than what we have with -nodefconfig now. Jirka