Revision db895a1e hw/display/vga-isa.c
b/hw/display/vga-isa.c | ||
---|---|---|
48 | 48 |
vga_common_reset(s); |
49 | 49 |
} |
50 | 50 |
|
51 |
static int vga_initfn(ISADevice *dev)
|
|
51 |
static void vga_isa_realizefn(DeviceState *dev, Error **errp)
|
|
52 | 52 |
{ |
53 |
ISADevice *isadev = ISA_DEVICE(dev); |
|
53 | 54 |
ISAVGAState *d = ISA_VGA(dev); |
54 | 55 |
VGACommonState *s = &d->state; |
55 | 56 |
MemoryRegion *vga_io_memory; |
56 | 57 |
const MemoryRegionPortio *vga_ports, *vbe_ports; |
57 | 58 |
|
58 | 59 |
vga_common_init(s); |
59 |
s->legacy_address_space = isa_address_space(dev); |
|
60 |
s->legacy_address_space = isa_address_space(isadev);
|
|
60 | 61 |
vga_io_memory = vga_init_io(s, &vga_ports, &vbe_ports); |
61 |
isa_register_portio_list(dev, 0x3b0, vga_ports, s, "vga"); |
|
62 |
isa_register_portio_list(isadev, 0x3b0, vga_ports, s, "vga");
|
|
62 | 63 |
if (vbe_ports) { |
63 |
isa_register_portio_list(dev, 0x1ce, vbe_ports, s, "vbe"); |
|
64 |
isa_register_portio_list(isadev, 0x1ce, vbe_ports, s, "vbe");
|
|
64 | 65 |
} |
65 |
memory_region_add_subregion_overlap(isa_address_space(dev), |
|
66 |
memory_region_add_subregion_overlap(isa_address_space(isadev),
|
|
66 | 67 |
isa_mem_base + 0x000a0000, |
67 | 68 |
vga_io_memory, 1); |
68 | 69 |
memory_region_set_coalescing(vga_io_memory); |
69 | 70 |
s->con = graphic_console_init(DEVICE(dev), s->hw_ops, s); |
70 | 71 |
|
71 |
vga_init_vbe(s, isa_address_space(dev)); |
|
72 |
vga_init_vbe(s, isa_address_space(isadev));
|
|
72 | 73 |
/* ROM BIOS */ |
73 | 74 |
rom_add_vga(VGABIOS_FILENAME); |
74 |
return 0; |
|
75 | 75 |
} |
76 | 76 |
|
77 | 77 |
static Property vga_isa_properties[] = { |
... | ... | |
82 | 82 |
static void vga_isa_class_initfn(ObjectClass *klass, void *data) |
83 | 83 |
{ |
84 | 84 |
DeviceClass *dc = DEVICE_CLASS(klass); |
85 |
ISADeviceClass *ic = ISA_DEVICE_CLASS(klass); |
|
86 | 85 |
|
87 |
ic->init = vga_initfn;
|
|
86 |
dc->realize = vga_isa_realizefn;
|
|
88 | 87 |
dc->reset = vga_isa_reset; |
89 | 88 |
dc->vmsd = &vmstate_vga_common; |
90 | 89 |
dc->props = vga_isa_properties; |
Also available in: Unified diff