vga: pass owner to cirrus_init_common
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
270327feb2
commit
9eb58a473b
@ -2805,7 +2805,8 @@ static const MemoryRegionOps cirrus_vga_io_ops = {
|
||||
},
|
||||
};
|
||||
|
||||
static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci,
|
||||
static void cirrus_init_common(CirrusVGAState *s, Object *owner,
|
||||
int device_id, int is_pci,
|
||||
MemoryRegion *system_memory,
|
||||
MemoryRegion *system_io)
|
||||
{
|
||||
@ -2840,21 +2841,22 @@ static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci,
|
||||
}
|
||||
|
||||
/* Register ioport 0x3b0 - 0x3df */
|
||||
memory_region_init_io(&s->cirrus_vga_io, NULL, &cirrus_vga_io_ops, s,
|
||||
memory_region_init_io(&s->cirrus_vga_io, owner, &cirrus_vga_io_ops, s,
|
||||
"cirrus-io", 0x30);
|
||||
memory_region_add_subregion(system_io, 0x3b0, &s->cirrus_vga_io);
|
||||
|
||||
memory_region_init(&s->low_mem_container, NULL,
|
||||
memory_region_init(&s->low_mem_container, owner,
|
||||
"cirrus-lowmem-container",
|
||||
0x20000);
|
||||
|
||||
memory_region_init_io(&s->low_mem, NULL, &cirrus_vga_mem_ops, s,
|
||||
memory_region_init_io(&s->low_mem, owner, &cirrus_vga_mem_ops, s,
|
||||
"cirrus-low-memory", 0x20000);
|
||||
memory_region_add_subregion(&s->low_mem_container, 0, &s->low_mem);
|
||||
for (i = 0; i < 2; ++i) {
|
||||
static const char *names[] = { "vga.bank0", "vga.bank1" };
|
||||
MemoryRegion *bank = &s->cirrus_bank[i];
|
||||
memory_region_init_alias(bank, NULL, names[i], &s->vga.vram, 0, 0x8000);
|
||||
memory_region_init_alias(bank, owner, names[i], &s->vga.vram,
|
||||
0, 0x8000);
|
||||
memory_region_set_enabled(bank, false);
|
||||
memory_region_add_subregion_overlap(&s->low_mem_container, i * 0x8000,
|
||||
bank, 1);
|
||||
@ -2866,13 +2868,13 @@ static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci,
|
||||
memory_region_set_coalescing(&s->low_mem);
|
||||
|
||||
/* I/O handler for LFB */
|
||||
memory_region_init_io(&s->cirrus_linear_io, NULL, &cirrus_linear_io_ops, s,
|
||||
memory_region_init_io(&s->cirrus_linear_io, owner, &cirrus_linear_io_ops, s,
|
||||
"cirrus-linear-io", s->vga.vram_size_mb
|
||||
* 1024 * 1024);
|
||||
memory_region_set_flush_coalesced(&s->cirrus_linear_io);
|
||||
|
||||
/* I/O handler for LFB */
|
||||
memory_region_init_io(&s->cirrus_linear_bitblt_io, NULL,
|
||||
memory_region_init_io(&s->cirrus_linear_bitblt_io, owner,
|
||||
&cirrus_linear_bitblt_io_ops,
|
||||
s,
|
||||
"cirrus-bitblt-mmio",
|
||||
@ -2880,7 +2882,7 @@ static void cirrus_init_common(CirrusVGAState * s, int device_id, int is_pci,
|
||||
memory_region_set_flush_coalesced(&s->cirrus_linear_bitblt_io);
|
||||
|
||||
/* I/O handler for memory-mapped I/O */
|
||||
memory_region_init_io(&s->cirrus_mmio_io, NULL, &cirrus_mmio_io_ops, s,
|
||||
memory_region_init_io(&s->cirrus_mmio_io, owner, &cirrus_mmio_io_ops, s,
|
||||
"cirrus-mmio", CIRRUS_PNPMMIO_SIZE);
|
||||
memory_region_set_flush_coalesced(&s->cirrus_mmio_io);
|
||||
|
||||
@ -2913,7 +2915,7 @@ static void isa_cirrus_vga_realizefn(DeviceState *dev, Error **errp)
|
||||
VGACommonState *s = &d->cirrus_vga.vga;
|
||||
|
||||
vga_common_init(s, OBJECT(dev));
|
||||
cirrus_init_common(&d->cirrus_vga, CIRRUS_ID_CLGD5430, 0,
|
||||
cirrus_init_common(&d->cirrus_vga, OBJECT(dev), CIRRUS_ID_CLGD5430, 0,
|
||||
isa_address_space(isadev),
|
||||
isa_address_space_io(isadev));
|
||||
s->con = graphic_console_init(dev, s->hw_ops, s);
|
||||
@ -2959,7 +2961,7 @@ static int pci_cirrus_vga_initfn(PCIDevice *dev)
|
||||
|
||||
/* setup VGA */
|
||||
vga_common_init(&s->vga, OBJECT(dev));
|
||||
cirrus_init_common(s, device_id, 1, pci_address_space(dev),
|
||||
cirrus_init_common(s, OBJECT(dev), device_id, 1, pci_address_space(dev),
|
||||
pci_address_space_io(dev));
|
||||
s->vga.con = graphic_console_init(DEVICE(dev), s->vga.hw_ops, &s->vga);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user