vga: make Cirrus ISA device optional
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
This commit is contained in:
parent
a369da5f31
commit
3d402831de
@ -196,6 +196,8 @@ obj-$(CONFIG_VHOST_NET) += vhost.o
|
||||
obj-$(CONFIG_REALLY_VIRTFS) += 9pfs/virtio-9p-device.o
|
||||
obj-$(CONFIG_KVM) += kvm.o kvm-all.o
|
||||
obj-$(CONFIG_NO_KVM) += kvm-stub.o
|
||||
obj-$(CONFIG_VGA) += vga.o
|
||||
obj-$(CONFIG_VGA_CIRRUS) += cirrus_vga.o
|
||||
obj-y += memory.o savevm.o
|
||||
LIBS+=-lz
|
||||
|
||||
@ -224,9 +226,8 @@ obj-$(CONFIG_IVSHMEM) += ivshmem.o
|
||||
obj-y += device-hotplug.o
|
||||
|
||||
# Hardware support
|
||||
obj-i386-y += vga.o
|
||||
obj-i386-y += mc146818rtc.o pc.o
|
||||
obj-i386-y += cirrus_vga.o sga.o apic.o ioapic.o piix_pci.o
|
||||
obj-i386-y += sga.o apic.o ioapic.o piix_pci.o
|
||||
obj-i386-y += vmport.o
|
||||
obj-i386-y += pci-hotplug.o smbios.o wdt_ib700.o
|
||||
obj-i386-y += debugcon.o multiboot.o
|
||||
@ -236,7 +237,6 @@ obj-i386-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o
|
||||
|
||||
# shared objects
|
||||
obj-ppc-y = ppc.o ppc_booke.o
|
||||
obj-ppc-y += vga.o
|
||||
# PREP target
|
||||
obj-ppc-y += mc146818rtc.o
|
||||
obj-ppc-y += ppc_prep.o
|
||||
@ -290,10 +290,8 @@ obj-lm32-y += framebuffer.o
|
||||
|
||||
obj-mips-y = mips_r4k.o mips_jazz.o mips_malta.o mips_mipssim.o
|
||||
obj-mips-y += mips_addr.o mips_timer.o mips_int.o
|
||||
obj-mips-y += vga.o
|
||||
obj-mips-y += jazz_led.o
|
||||
obj-mips-y += gt64xxx.o mc146818rtc.o
|
||||
obj-mips-y += cirrus_vga.o
|
||||
obj-mips-$(CONFIG_FULONG) += bonito.o vt82c686.o mips_fulong2e.o
|
||||
|
||||
obj-microblaze-y = petalogix_s3adsp1800_mmu.o
|
||||
@ -323,9 +321,7 @@ obj-cris-y += etraxfs_ser.o
|
||||
|
||||
ifeq ($(TARGET_ARCH), sparc64)
|
||||
obj-sparc-y = sun4u.o apb_pci.o
|
||||
obj-sparc-y += vga.o
|
||||
obj-sparc-y += mc146818rtc.o
|
||||
obj-sparc-y += cirrus_vga.o
|
||||
else
|
||||
obj-sparc-y = sun4m.o lance.o tcx.o sun4m_iommu.o slavio_intctl.o
|
||||
obj-sparc-y += slavio_timer.o slavio_misc.o sparc32_dma.o
|
||||
@ -353,7 +349,7 @@ obj-arm-y += omap1.o omap_lcdc.o omap_dma.o omap_clk.o omap_mmc.o omap_i2c.o \
|
||||
obj-arm-y += omap2.o omap_dss.o soc_dma.o omap_gptimer.o omap_synctimer.o \
|
||||
omap_gpmc.o omap_sdrc.o omap_spi.o omap_tap.o omap_l4.o
|
||||
obj-arm-y += omap_sx1.o palm.o tsc210x.o
|
||||
obj-arm-y += nseries.o blizzard.o onenand.o vga.o cbus.o tusb6010.o usb-musb.o
|
||||
obj-arm-y += nseries.o blizzard.o onenand.o cbus.o tusb6010.o usb-musb.o
|
||||
obj-arm-y += mst_fpga.o mainstone.o
|
||||
obj-arm-y += z2.o
|
||||
obj-arm-y += musicpal.o bitbang_i2c.o marvell_88w8618_audio.o
|
||||
@ -373,7 +369,6 @@ obj-m68k-y += m68k-semi.o dummy_m68k.o
|
||||
obj-s390x-y = s390-virtio-bus.o s390-virtio.o
|
||||
|
||||
obj-alpha-y = mc146818rtc.o
|
||||
obj-alpha-y += vga.o cirrus_vga.o
|
||||
obj-alpha-y += alpha_pci.o alpha_dp264.o alpha_typhoon.o
|
||||
|
||||
obj-xtensa-y += xtensa_pic.o
|
||||
|
@ -4,7 +4,9 @@ include pci.mak
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_I8254=y
|
||||
CONFIG_PCKBD=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_IDE_CORE=y
|
||||
CONFIG_IDE_QDEV=y
|
||||
CONFIG_VMWARE_VGA=y
|
||||
|
@ -2,6 +2,7 @@
|
||||
|
||||
include pci.mak
|
||||
CONFIG_GDBSTUB_XML=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_NAND=y
|
||||
CONFIG_ECC=y
|
||||
|
@ -1,8 +1,10 @@
|
||||
# Default configuration for i386-softmmu
|
||||
|
||||
include pci.mak
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_VGA_ISA=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_VMWARE_VGA=y
|
||||
CONFIG_VMMOUSE=y
|
||||
CONFIG_SERIAL=y
|
||||
|
@ -3,9 +3,11 @@
|
||||
include pci.mak
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_ESP=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_VGA_ISA=y
|
||||
CONFIG_VGA_ISA_MM=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_VMWARE_VGA=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_PARALLEL=y
|
||||
|
@ -3,9 +3,11 @@
|
||||
include pci.mak
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_ESP=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_VGA_ISA=y
|
||||
CONFIG_VGA_ISA_MM=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_VMWARE_VGA=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_PARALLEL=y
|
||||
|
@ -3,9 +3,11 @@
|
||||
include pci.mak
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_ESP=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_VGA_ISA=y
|
||||
CONFIG_VGA_ISA_MM=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_VMWARE_VGA=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_PARALLEL=y
|
||||
|
@ -3,9 +3,11 @@
|
||||
include pci.mak
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_ESP=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_VGA_ISA=y
|
||||
CONFIG_VGA_ISA_MM=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_VMWARE_VGA=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_PARALLEL=y
|
||||
|
@ -5,6 +5,7 @@ CONFIG_GDBSTUB_XML=y
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_ESCC=y
|
||||
CONFIG_M48T59=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_I8254=y
|
||||
|
@ -5,6 +5,7 @@ CONFIG_GDBSTUB_XML=y
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_ESCC=y
|
||||
CONFIG_M48T59=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_I8254=y
|
||||
|
@ -5,6 +5,7 @@ CONFIG_GDBSTUB_XML=y
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_ESCC=y
|
||||
CONFIG_M48T59=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_I8254=y
|
||||
|
@ -4,7 +4,9 @@ include pci.mak
|
||||
CONFIG_ISA_MMIO=y
|
||||
CONFIG_M48T59=y
|
||||
CONFIG_PTIMER=y
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_SERIAL=y
|
||||
CONFIG_PARALLEL=y
|
||||
CONFIG_PCKBD=y
|
||||
|
@ -1,8 +1,10 @@
|
||||
# Default configuration for x86_64-softmmu
|
||||
|
||||
include pci.mak
|
||||
CONFIG_VGA=y
|
||||
CONFIG_VGA_PCI=y
|
||||
CONFIG_VGA_ISA=y
|
||||
CONFIG_VGA_CIRRUS=y
|
||||
CONFIG_VMWARE_VGA=y
|
||||
CONFIG_VMMOUSE=y
|
||||
CONFIG_SERIAL=y
|
||||
|
@ -250,6 +250,11 @@ typedef struct PCICirrusVGAState {
|
||||
CirrusVGAState cirrus_vga;
|
||||
} PCICirrusVGAState;
|
||||
|
||||
typedef struct ISACirrusVGAState {
|
||||
ISADevice dev;
|
||||
CirrusVGAState cirrus_vga;
|
||||
} ISACirrusVGAState;
|
||||
|
||||
static uint8_t rop_to_index[256];
|
||||
|
||||
/***************************************
|
||||
@ -2883,24 +2888,36 @@ static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci,
|
||||
*
|
||||
***************************************/
|
||||
|
||||
DeviceState *isa_cirrus_vga_init(MemoryRegion *system_memory)
|
||||
static int vga_initfn(ISADevice *dev)
|
||||
{
|
||||
CirrusVGAState *s;
|
||||
ISACirrusVGAState *d = DO_UPCAST(ISACirrusVGAState, dev, dev);
|
||||
VGACommonState *s = &d->cirrus_vga.vga;
|
||||
|
||||
s = 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 = graphic_console_init(s->vga.update, s->vga.invalidate,
|
||||
s->vga.screen_dump, s->vga.text_update,
|
||||
&s->vga);
|
||||
vmstate_register(NULL, 0, &vmstate_cirrus_vga, s);
|
||||
vga_common_init(s, VGA_RAM_SIZE);
|
||||
cirrus_init_common(&d->cirrus_vga, CIRRUS_ID_CLGD5430, 0,
|
||||
isa_address_space(dev));
|
||||
s->ds = 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 = {
|
||||
.qdev.name = "isa-cirrus-vga",
|
||||
.qdev.size = sizeof(ISACirrusVGAState),
|
||||
.qdev.vmsd = &vmstate_cirrus_vga,
|
||||
.init = vga_initfn,
|
||||
};
|
||||
|
||||
static void isa_cirrus_vga_register(void)
|
||||
{
|
||||
isa_qdev_register(&isa_cirrus_vga_info);
|
||||
}
|
||||
device_init(isa_cirrus_vga_register)
|
||||
|
||||
/***************************************
|
||||
*
|
||||
* PCI bus support
|
||||
|
2
hw/pc.c
2
hw/pc.c
@ -1080,7 +1080,7 @@ DeviceState *pc_vga_init(ISABus *isa_bus, PCIBus *pci_bus)
|
||||
if (pci_bus) {
|
||||
dev = pci_cirrus_vga_init(pci_bus);
|
||||
} else {
|
||||
dev = isa_cirrus_vga_init(get_system_memory());
|
||||
dev = &isa_create_simple(isa_bus, "isa-cirrus-vga")->qdev;
|
||||
}
|
||||
} else if (vmsvga_enabled) {
|
||||
if (pci_bus) {
|
||||
|
1
hw/pc.h
1
hw/pc.h
@ -226,7 +226,6 @@ int isa_vga_mm_init(target_phys_addr_t vram_base,
|
||||
|
||||
/* cirrus_vga.c */
|
||||
DeviceState *pci_cirrus_vga_init(PCIBus *bus);
|
||||
DeviceState *isa_cirrus_vga_init(MemoryRegion *address_space);
|
||||
|
||||
/* ne2000.c */
|
||||
static inline bool isa_ne2000_init(ISABus *bus, int base, int irq, NICInfo *nd)
|
||||
|
Loading…
Reference in New Issue
Block a user