From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37116) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fcdd3-0004GZ-UP for qemu-devel@nongnu.org; Mon, 09 Jul 2018 17:23:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fcdcz-0006I3-W1 for qemu-devel@nongnu.org; Mon, 09 Jul 2018 17:23:29 -0400 Date: Mon, 9 Jul 2018 18:23:19 -0300 From: Eduardo Habkost Message-ID: <20180709212319.GB22336@localhost.localdomain> References: <20180705064348.3162-1-kraxel@redhat.com> <20180705064348.3162-3-kraxel@redhat.com> <20180705163501.GN7451@localhost.localdomain> <20180706065342.pggd2qgd4nyv35ys@sirius.home.kraxel.org> <20180709210833.GC7451@localhost.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180709210833.GC7451@localhost.localdomain> Subject: Re: [Qemu-devel] [PATCH v2 2/2] vga: don't pick cirrus by default List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Gerd Hoffmann Cc: Aleksandar Markovic , "Michael S. Tsirkin" , Richard Henderson , qemu-devel@nongnu.org, Alexander Graf , qemu-ppc@nongnu.org, Paolo Bonzini , Sebastian Bauer , Aurelien Jarno , David Gibson On Mon, Jul 09, 2018 at 06:08:33PM -0300, Eduardo Habkost wrote: > On Fri, Jul 06, 2018 at 08:53:42AM +0200, Gerd Hoffmann wrote: > > On Thu, Jul 05, 2018 at 01:35:01PM -0300, Eduardo Habkost wrote: > > > Do we have a list of all machine-types with default_display==NULL > > > that would be affected by this? > > > > There are not many which use the default vga thing in the first place. > > Workflow is this: > > > > (1) vl.c calls select_vgahw(vga_model) after setting vga_model. > > (2) select_hw() sets vga_interface_type. > > (3) isa_vga_init() and pci_vga_init() look at vga_interface_type. > > > > Checking where either vga_interface_type or *_vga_init() is used doesn't > > yield many places: > > > > # find -name "*.[ch]" | xargs egrep '((isa|pci)_vga_init|vga_interface_type)' > > ./hw/alpha/dp264.c: pci_vga_init(pci_bus); > > ./hw/i386/pc.c: PCIDevice *pcidev = pci_vga_init(pci_bus); > > ./hw/i386/pc.c: ISADevice *isadev = isa_vga_init(isa_bus); > > ./hw/isa/isa-bus.c:ISADevice *isa_vga_init(ISABus *bus) > > ./hw/isa/isa-bus.c: switch (vga_interface_type) { > > ./hw/mips/mips_malta.c: pci_vga_init(pci_bus); > > ./hw/mips/mips_r4k.c: isa_vga_init(isa_bus); > > ./hw/pci/pci.c:PCIDevice *pci_vga_init(PCIBus *bus) > > ./hw/pci/pci.c: switch (vga_interface_type) { > > ./hw/ppc/mac_newworld.c: pci_vga_init(pci_bus); > > ./hw/ppc/mac_oldworld.c: pci_vga_init(pci_bus); > > ./hw/ppc/spapr.c: switch (vga_interface_type) { > > ./hw/ppc/spapr.c: return pci_vga_init(pci_bus) != NULL; > > ./hw/ppc/prep.c: pci_vga_init(pci_bus); > > ./hw/ppc/prep.c: pci_vga_init(pci_bus); > > ./hw/sparc/sun4m.c: if (vga_interface_type == VGA_CG3) { > > ./include/hw/isa/isa.h:ISADevice *isa_vga_init(ISABus *bus); > > ./include/hw/pci/pci.h:PCIDevice *pci_vga_init(PCIBus *bus); > > ./include/sysemu/sysemu.h:extern int vga_interface_type; > > ./include/sysemu/sysemu.h:#define xenfb_enabled (vga_interface_type == VGA_XENFB) > > ./vl.c:int vga_interface_type = VGA_NONE; > > ./vl.c: assert(vga_interface_type == VGA_NONE); > > ./vl.c: vga_interface_type = t; > > ./vl.c: vga_interface_type = VGA_DEVICE; > > > > So it is alpha, mips, i386, ppc. > > Right, and all of them have both CONFIG_VGA_CIRRUS and > CONFIG_VGA_PCI enabled. This means all of them will be affected > by this patch if they have any machines with > default_display==NULL. > > At least on x86 we still have a few machines with > default_display==NULL: isapc, xenpv, xenfv. We need to fix them > before we apply this patch. > > I didn't check alpha/mips/ppc yet. List of machines with default_display==NULL on those architectures: alpha: none empty machine mips: mipssim MIPS MIPSsim platform none empty machine ppc*: bamboo bamboo mpc8544ds mpc8544ds none empty machine powernv IBM PowerNV (Non-Virtualized) ppce500 generic paravirt e500 platform ref405ep ref405ep sam460ex aCube Sam460ex taihu taihu virtex-ml507 Xilinx Virtex ML507 reference design x86_64: isapc ISA-only PC none empty machine xenfv Xen Fully-virtualized PC xenpv Xen Para-virtualized PC Tested on qemu.git master after applying this series. List generated by hacking machine_parse(), so some machines may be missing if they are disabled at build time. -- Eduardo