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