From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34020) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V5hZb-0003vn-Ny for qemu-devel@nongnu.org; Sat, 03 Aug 2013 15:33:13 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1V5hZV-00008J-NV for qemu-devel@nongnu.org; Sat, 03 Aug 2013 15:33:07 -0400 Received: from mx1.redhat.com ([209.132.183.28]:22963) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1V5hZV-000080-G3 for qemu-devel@nongnu.org; Sat, 03 Aug 2013 15:33:01 -0400 Received: from int-mx01.intmail.prod.int.phx2.redhat.com (int-mx01.intmail.prod.int.phx2.redhat.com [10.5.11.11]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r73JWxlJ030774 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Sat, 3 Aug 2013 15:32:59 -0400 Message-ID: <51FD5AE9.8090406@redhat.com> Date: Sat, 03 Aug 2013 15:32:57 -0400 From: Laine Stump MIME-Version: 1.0 References: <51FAB912.5040203@redhat.com> <51FB5672.4070907@redhat.com> In-Reply-To: <51FB5672.4070907@redhat.com> Content-Type: text/plain; charset=ISO-8859-9 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] default slot used for vga device on q35 machines List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Libvirt , Guannan Ren , Gerd Hoffmann On 08/02/2013 02:49 AM, Gerd Hoffmann wrote: > Hi, > >> qemu-kvm -M q35 -nodefaults -nodefconfig -qmp unix:/tmp/qemu,server >> -vnc :15 -vga std -usb >> >> Then ran "query-pci" in the qmp monitor and found that the vga device is >> put at slot 1 instead of slot 2. >> >> My questions: >> >> 1) Is this difference intentional, or a bug? > The vga simply goes into the first free slot. That happens to be #2 > with i440fx and #1 with q35. It sounds like it's a safe bet to assume that -vga will put the device on slot 2 for pc machinetypes and slot 1 for q35, no matter what other devices there are, since -vga is always initialized first. Correct? Do you see any chance that might change in the future? (e.g. due to some other new device that needs to be initialized even before vga) > >> 2) If it's intentional, will the device always be at slot 1 (and trigger >> an error if something else is also placed at slot 1), or is it just >> picking the first unused slot? (that would *not* be good, because we >> must be able to predict what device is in which slot and prevent them >> from changing from run to run). > The vga is the very first (pci) device being created (when selecting via > -vga), so it gets the slots mentioned above no matter what, even though > simply picking the first unused slot. > >> 3) Does the qxl multihead support really require that the device be at >> slot 2 (as stated in the above bugzilla commend)? Or is that just a >> misunderstanding/overstatement? > It's not required at all. The problem is that on older qemu versions > (pre-memory-api basically) it was impossible to create functional vga > devices via -device due to an initialization order issue. Which implies > you have to use -vga instead, which in turn implies the vga ends up in > slot #2. On i440fx, but q35 didn't exist yet back then ;) Are you saying that it's still required to use -vga instead of -device qxl-vga for pc machinetype? Or that it was needed at one time, but that is no longer the case? If the latter, is there a reliable way to make the decision whether or not we need to use -vga?