From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:45876) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RlnRL-0006iQ-CO for qemu-devel@nongnu.org; Fri, 13 Jan 2012 15:09:33 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RlnRJ-0008MA-EM for qemu-devel@nongnu.org; Fri, 13 Jan 2012 15:09:31 -0500 Received: from fmmailgate03.web.de ([217.72.192.234]:33091) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RlnRI-0008Lu-V4 for qemu-devel@nongnu.org; Fri, 13 Jan 2012 15:09:29 -0500 Received: from moweb002.kundenserver.de (moweb002.kundenserver.de [172.19.20.108]) by fmmailgate03.web.de (Postfix) with ESMTP id 74A131AFA1A9F for ; Fri, 13 Jan 2012 21:09:05 +0100 (CET) Message-ID: <4F108F60.5070803@web.de> Date: Fri, 13 Jan 2012 21:09:04 +0100 From: Jan Kiszka MIME-Version: 1.0 References: In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig1243A823480EDF0316A5A3C8" Subject: Re: [Qemu-devel] [PATCH 3/4] vga: make Cirrus ISA device optional List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: qemu-devel This is an OpenPGP/MIME signed message (RFC 2440 and 3156) --------------enig1243A823480EDF0316A5A3C8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable This actually also converts it to a proper ISADevice - a value of its own= =2E On 2012-01-08 22:11, Blue Swirl wrote: > Signed-off-by: Blue Swirl > --- > Makefile.target | 13 +++------- > default-configs/alpha-softmmu.mak | 2 + > default-configs/arm-softmmu.mak | 1 + > default-configs/i386-softmmu.mak | 2 + > default-configs/mips-softmmu.mak | 2 + > default-configs/mips64-softmmu.mak | 2 + > default-configs/mips64el-softmmu.mak | 2 + > default-configs/mipsel-softmmu.mak | 2 + > default-configs/ppc-softmmu.mak | 1 + > default-configs/ppc64-softmmu.mak | 1 + > default-configs/ppcemb-softmmu.mak | 1 + > default-configs/sparc64-softmmu.mak | 2 + > default-configs/x86_64-softmmu.mak | 2 + > hw/cirrus_vga.c | 41 ++++++++++++++++++++++++--= -------- > hw/pc.c | 2 +- > hw/pc.h | 1 - > 16 files changed, 54 insertions(+), 23 deletions(-) >=20 > diff --git a/Makefile.target b/Makefile.target > index ed4c3bf..03fe7b0 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -202,6 +202,8 @@ obj-$(CONFIG_VHOST_NET) +=3D vhost.o > obj-$(CONFIG_REALLY_VIRTFS) +=3D 9pfs/virtio-9p-device.o > obj-$(CONFIG_KVM) +=3D kvm.o kvm-all.o > obj-$(CONFIG_NO_KVM) +=3D kvm-stub.o > +obj-$(CONFIG_VGA) +=3D vga.o > +obj-$(CONFIG_VGA_CIRRUS) +=3D cirrus_vga.o > obj-y +=3D memory.o savevm.o > LIBS+=3D-lz >=20 > @@ -227,9 +229,8 @@ endif > obj-$(CONFIG_IVSHMEM) +=3D ivshmem.o >=20 > # Hardware support > -obj-i386-y +=3D vga.o > obj-i386-y +=3D mc146818rtc.o pc.o > -obj-i386-y +=3D cirrus_vga.o sga.o apic.o ioapic.o piix_pci.o > +obj-i386-y +=3D sga.o apic.o ioapic.o piix_pci.o > obj-i386-y +=3D vmport.o > obj-i386-y +=3D device-hotplug.o pci-hotplug.o smbios.o wdt_ib700.o > obj-i386-y +=3D debugcon.o multiboot.o > @@ -239,7 +240,6 @@ obj-i386-$(CONFIG_SPICE) +=3D qxl.o qxl-logger.o qx= l-render.o >=20 > # shared objects > obj-ppc-y =3D ppc.o ppc_booke.o > -obj-ppc-y +=3D vga.o > # PREP target > obj-ppc-y +=3D mc146818rtc.o > obj-ppc-y +=3D ppc_prep.o > @@ -293,10 +293,8 @@ obj-lm32-y +=3D framebuffer.o >=20 > obj-mips-y =3D mips_r4k.o mips_jazz.o mips_malta.o mips_mipssim.o > obj-mips-y +=3D mips_addr.o mips_timer.o mips_int.o > -obj-mips-y +=3D vga.o > obj-mips-y +=3D jazz_led.o > obj-mips-y +=3D gt64xxx.o mc146818rtc.o > -obj-mips-y +=3D cirrus_vga.o > obj-mips-$(CONFIG_FULONG) +=3D bonito.o vt82c686.o mips_fulong2e.o >=20 > obj-microblaze-y =3D petalogix_s3adsp1800_mmu.o > @@ -326,9 +324,7 @@ obj-cris-y +=3D etraxfs_ser.o >=20 > ifeq ($(TARGET_ARCH), sparc64) > obj-sparc-y =3D sun4u.o apb_pci.o > -obj-sparc-y +=3D vga.o > obj-sparc-y +=3D mc146818rtc.o > -obj-sparc-y +=3D cirrus_vga.o > else > obj-sparc-y =3D sun4m.o lance.o tcx.o sun4m_iommu.o slavio_intctl.o > obj-sparc-y +=3D slavio_timer.o slavio_misc.o sparc32_dma.o > @@ -356,7 +352,7 @@ obj-arm-y +=3D omap1.o omap_lcdc.o omap_dma.o > omap_clk.o omap_mmc.o omap_i2c.o \ > obj-arm-y +=3D omap2.o omap_dss.o soc_dma.o omap_gptimer.o omap_syncti= mer.o \ > omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o > obj-arm-y +=3D omap_sx1.o palm.o tsc210x.o > -obj-arm-y +=3D nseries.o blizzard.o onenand.o vga.o cbus.o tusb6010.o = usb-musb.o > +obj-arm-y +=3D nseries.o blizzard.o onenand.o cbus.o tusb6010.o usb-mu= sb.o > obj-arm-y +=3D mst_fpga.o mainstone.o > obj-arm-y +=3D z2.o > obj-arm-y +=3D musicpal.o bitbang_i2c.o marvell_88w8618_audio.o > @@ -376,7 +372,6 @@ obj-m68k-y +=3D m68k-semi.o dummy_m68k.o > obj-s390x-y =3D s390-virtio-bus.o s390-virtio.o >=20 > obj-alpha-y =3D mc146818rtc.o > -obj-alpha-y +=3D vga.o cirrus_vga.o > obj-alpha-y +=3D alpha_pci.o alpha_dp264.o alpha_typhoon.o >=20 > obj-xtensa-y +=3D xtensa_pic.o > diff --git a/default-configs/alpha-softmmu.mak > b/default-configs/alpha-softmmu.mak > index bd1dd95..501dd41 100644 > --- a/default-configs/alpha-softmmu.mak > +++ b/default-configs/alpha-softmmu.mak > @@ -4,7 +4,9 @@ include pci.mak > CONFIG_SERIAL=3Dy > CONFIG_I8254=3Dy > CONFIG_PCKBD=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > +CONFIG_VGA_CIRRUS=3Dy > CONFIG_IDE_CORE=3Dy > CONFIG_IDE_QDEV=3Dy > CONFIG_VMWARE_VGA=3Dy > diff --git a/default-configs/arm-softmmu.mak b/default-configs/arm-soft= mmu.mak > index 8d1174f1..e542b4f 100644 > --- a/default-configs/arm-softmmu.mak > +++ b/default-configs/arm-softmmu.mak > @@ -2,6 +2,7 @@ >=20 > include pci.mak > CONFIG_GDBSTUB_XML=3Dy > +CONFIG_VGA=3Dy > CONFIG_ISA_MMIO=3Dy > CONFIG_NAND=3Dy > CONFIG_ECC=3Dy > diff --git a/default-configs/i386-softmmu.mak b/default-configs/i386-so= ftmmu.mak > index e67ebb3..662348e 100644 > --- a/default-configs/i386-softmmu.mak > +++ b/default-configs/i386-softmmu.mak > @@ -1,8 +1,10 @@ > # Default configuration for i386-softmmu >=20 > include pci.mak > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_VGA_ISA=3Dy > +CONFIG_VGA_CIRRUS=3Dy > CONFIG_VMWARE_VGA=3Dy > CONFIG_VMMOUSE=3Dy > CONFIG_SERIAL=3Dy > diff --git a/default-configs/mips-softmmu.mak b/default-configs/mips-so= ftmmu.mak > index 94a3486..308d04a 100644 > --- a/default-configs/mips-softmmu.mak > +++ b/default-configs/mips-softmmu.mak > @@ -3,9 +3,11 @@ > include pci.mak > CONFIG_ISA_MMIO=3Dy > CONFIG_ESP=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_VGA_ISA=3Dy > CONFIG_VGA_ISA_MM=3Dy > +CONFIG_VGA_CIRRUS=3Dy > CONFIG_VMWARE_VGA=3Dy > CONFIG_SERIAL=3Dy > CONFIG_PARALLEL=3Dy > diff --git a/default-configs/mips64-softmmu.mak > b/default-configs/mips64-softmmu.mak > index b5d3108..f1b92da 100644 > --- a/default-configs/mips64-softmmu.mak > +++ b/default-configs/mips64-softmmu.mak > @@ -3,9 +3,11 @@ > include pci.mak > CONFIG_ISA_MMIO=3Dy > CONFIG_ESP=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_VGA_ISA=3Dy > CONFIG_VGA_ISA_MM=3Dy > +CONFIG_VGA_CIRRUS=3Dy > CONFIG_VMWARE_VGA=3Dy > CONFIG_SERIAL=3Dy > CONFIG_PARALLEL=3Dy > diff --git a/default-configs/mips64el-softmmu.mak > b/default-configs/mips64el-softmmu.mak > index 2831f44..567396c 100644 > --- a/default-configs/mips64el-softmmu.mak > +++ b/default-configs/mips64el-softmmu.mak > @@ -3,9 +3,11 @@ > include pci.mak > CONFIG_ISA_MMIO=3Dy > CONFIG_ESP=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_VGA_ISA=3Dy > CONFIG_VGA_ISA_MM=3Dy > +CONFIG_VGA_CIRRUS=3Dy > CONFIG_VMWARE_VGA=3Dy > CONFIG_SERIAL=3Dy > CONFIG_PARALLEL=3Dy > diff --git a/default-configs/mipsel-softmmu.mak > b/default-configs/mipsel-softmmu.mak > index 14c949d..a8e421b 100644 > --- a/default-configs/mipsel-softmmu.mak > +++ b/default-configs/mipsel-softmmu.mak > @@ -3,9 +3,11 @@ > include pci.mak > CONFIG_ISA_MMIO=3Dy > CONFIG_ESP=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_VGA_ISA=3Dy > CONFIG_VGA_ISA_MM=3Dy > +CONFIG_VGA_CIRRUS=3Dy > CONFIG_VMWARE_VGA=3Dy > CONFIG_SERIAL=3Dy > CONFIG_PARALLEL=3Dy > diff --git a/default-configs/ppc-softmmu.mak b/default-configs/ppc-soft= mmu.mak > index c85cdce..3277291 100644 > --- a/default-configs/ppc-softmmu.mak > +++ b/default-configs/ppc-softmmu.mak > @@ -5,6 +5,7 @@ CONFIG_GDBSTUB_XML=3Dy > CONFIG_ISA_MMIO=3Dy > CONFIG_ESCC=3Dy > CONFIG_M48T59=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_SERIAL=3Dy > CONFIG_I8254=3Dy > diff --git a/default-configs/ppc64-softmmu.mak > b/default-configs/ppc64-softmmu.mak > index 8874115..f490368 100644 > --- a/default-configs/ppc64-softmmu.mak > +++ b/default-configs/ppc64-softmmu.mak > @@ -5,6 +5,7 @@ CONFIG_GDBSTUB_XML=3Dy > CONFIG_ISA_MMIO=3Dy > CONFIG_ESCC=3Dy > CONFIG_M48T59=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_SERIAL=3Dy > CONFIG_I8254=3Dy > diff --git a/default-configs/ppcemb-softmmu.mak > b/default-configs/ppcemb-softmmu.mak > index 5db7205..829f462 100644 > --- a/default-configs/ppcemb-softmmu.mak > +++ b/default-configs/ppcemb-softmmu.mak > @@ -5,6 +5,7 @@ CONFIG_GDBSTUB_XML=3Dy > CONFIG_ISA_MMIO=3Dy > CONFIG_ESCC=3Dy > CONFIG_M48T59=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_SERIAL=3Dy > CONFIG_I8254=3Dy > diff --git a/default-configs/sparc64-softmmu.mak > b/default-configs/sparc64-softmmu.mak > index d8f17e7..c9a36c1 100644 > --- a/default-configs/sparc64-softmmu.mak > +++ b/default-configs/sparc64-softmmu.mak > @@ -4,7 +4,9 @@ include pci.mak > CONFIG_ISA_MMIO=3Dy > CONFIG_M48T59=3Dy > CONFIG_PTIMER=3Dy > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > +CONFIG_VGA_CIRRUS=3Dy > CONFIG_SERIAL=3Dy > CONFIG_PARALLEL=3Dy > CONFIG_PCKBD=3Dy > diff --git a/default-configs/x86_64-softmmu.mak > b/default-configs/x86_64-softmmu.mak > index b75757e..b445be2 100644 > --- a/default-configs/x86_64-softmmu.mak > +++ b/default-configs/x86_64-softmmu.mak > @@ -1,8 +1,10 @@ > # Default configuration for x86_64-softmmu >=20 > include pci.mak > +CONFIG_VGA=3Dy > CONFIG_VGA_PCI=3Dy > CONFIG_VGA_ISA=3Dy > +CONFIG_VGA_CIRRUS=3Dy > CONFIG_VMWARE_VGA=3Dy > CONFIG_VMMOUSE=3Dy > CONFIG_SERIAL=3Dy > diff --git a/hw/cirrus_vga.c b/hw/cirrus_vga.c > index 4a7de84..a031079 100644 > --- a/hw/cirrus_vga.c > +++ b/hw/cirrus_vga.c > @@ -250,6 +250,11 @@ typedef struct PCICirrusVGAState { > CirrusVGAState cirrus_vga; > } PCICirrusVGAState; >=20 > +typedef struct ISACirrusVGAState { > + ISADevice dev; > + CirrusVGAState cirrus_vga; > +} ISACirrusVGAState; > + > static uint8_t rop_to_index[256]; >=20 > /*************************************** > @@ -2879,23 +2884,35 @@ static void cirrus_init_common(CirrusVGAState > * s, int device_id, int is_pci, > * > ***************************************/ >=20 > -DeviceState *isa_cirrus_vga_init(MemoryRegion *system_memory) > +static int vga_initfn(ISADevice *dev) > { > - CirrusVGAState *s; > - > - s =3D g_malloc0(sizeof(CirrusVGAState)); > - > - vga_common_init(&s->vga, VGA_RAM_SIZE); > - cirrus_init_common(s, CIRRUS_ID_CLGD5430, 0, system_memory); > - s->vga.ds =3D graphic_console_init(s->vga.update, s->vga.invalidat= e, > - s->vga.screen_dump, s->vga.text_u= pdate, > - &s->vga); > - vmstate_register(NULL, 0, &vmstate_cirrus_vga, s); > + ISACirrusVGAState *d =3D DO_UPCAST(ISACirrusVGAState, dev, dev); > + VGACommonState *s =3D &d->cirrus_vga.vga; > + > + vga_common_init(s, VGA_RAM_SIZE); > + cirrus_init_common(&d->cirrus_vga, CIRRUS_ID_CLGD5430, 0, > + isa_address_space(dev)); > + s->ds =3D graphic_console_init(s->update, s->invalidate, > + s->screen_dump, s->text_update, > + s); > rom_add_vga(VGABIOS_CIRRUS_FILENAME); > /* XXX ISA-LFB support */ > /* FIXME not qdev yet */ > - return NULL; > + return 0; > +} > + > +static ISADeviceInfo isa_cirrus_vga_info =3D { > + .qdev.name =3D "isa-cirrus-vga", > + .qdev.size =3D sizeof(ISACirrusVGAState), > + .qdev.vmsd =3D &vmstate_cirrus_vga, > + .init =3D vga_initfn, > +}; > + > +static void isa_cirrus_vga_register(void) > +{ > + isa_qdev_register(&isa_cirrus_vga_info); > } > +device_init(isa_cirrus_vga_register) >=20 > /*************************************** > * > diff --git a/hw/pc.c b/hw/pc.c > index 8cb78d9..b1fd4b0 100644 > --- a/hw/pc.c > +++ b/hw/pc.c > @@ -1080,7 +1080,7 @@ DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus = *pci_bus) > if (pci_bus) { > dev =3D pci_cirrus_vga_init(pci_bus); > } else { > - dev =3D isa_cirrus_vga_init(get_system_memory()); > + dev =3D &isa_create_simple(isa_bus, "isa-cirrus-vga")->qde= v; > } > } else if (vmsvga_enabled) { > if (pci_bus) { > diff --git a/hw/pc.h b/hw/pc.h > index 13e41f1..58a7ea9 100644 > --- a/hw/pc.h > +++ b/hw/pc.h > @@ -226,7 +226,6 @@ int isa_vga_mm_init(target_phys_addr_t vram_base, >=20 > /* cirrus_vga.c */ > DeviceState *pci_cirrus_vga_init(PCIBus *bus); > -DeviceState *isa_cirrus_vga_init(MemoryRegion *address_space); >=20 > /* ne2000.c */ > static inline bool isa_ne2000_init(ISABus *bus, int base, int irq, NIC= Info *nd) Reviewed-by: Jan Kiszka --------------enig1243A823480EDF0316A5A3C8 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk8Qj2AACgkQitSsb3rl5xQ9gQCgy1BoifGQywMPf6fc/L/nWNDq nGYAnR3MAVfnGH463MEdWmbCzTBlcNsk =LvwC -----END PGP SIGNATURE----- --------------enig1243A823480EDF0316A5A3C8--