aboutsummaryrefslogtreecommitdiff
path: root/hw/vga-isa.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@twiddle.net>2011-08-16 08:27:39 -0700
committerAvi Kivity <avi@redhat.com>2011-10-11 15:57:10 +0200
commit0a039dc70096b768d3810afa50ba1d214768aaf4 (patch)
tree6f47043cf7b2913ffb82d0eed6d4bb7da643ef47 /hw/vga-isa.c
parent42c1a22de73bcf82c3d4fb4fa18e1a70fd67561e (diff)
downloadqemu-0a039dc70096b768d3810afa50ba1d214768aaf4.zip
qemu-0a039dc70096b768d3810afa50ba1d214768aaf4.tar.gz
qemu-0a039dc70096b768d3810afa50ba1d214768aaf4.tar.bz2
vga: Convert to isa_register_portio_list
[jan: fix cut'n'paste errors] [avi: adjust pci variants not to use isa functions] Signed-off-by: Richard Henderson <rth@twiddle.net> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'hw/vga-isa.c')
-rw-r--r--hw/vga-isa.c17
1 files changed, 6 insertions, 11 deletions
diff --git a/hw/vga-isa.c b/hw/vga-isa.c
index 6b5c8ed..4825313 100644
--- a/hw/vga-isa.c
+++ b/hw/vga-isa.c
@@ -47,24 +47,19 @@ static int vga_initfn(ISADevice *dev)
ISAVGAState *d = DO_UPCAST(ISAVGAState, dev, dev);
VGACommonState *s = &d->state;
MemoryRegion *vga_io_memory;
+ const MemoryRegionPortio *vga_ports, *vbe_ports;
vga_common_init(s, VGA_RAM_SIZE);
s->legacy_address_space = isa_address_space(dev);
- vga_io_memory = vga_init_io(s);
+ vga_io_memory = vga_init_io(s, &vga_ports, &vbe_ports);
+ isa_register_portio_list(dev, 0x3b0, vga_ports, s, "vga");
+ if (vbe_ports) {
+ isa_register_portio_list(dev, 0x1ce, vbe_ports, s, "vbe");
+ }
memory_region_add_subregion_overlap(isa_address_space(dev),
isa_mem_base + 0x000a0000,
vga_io_memory, 1);
memory_region_set_coalescing(vga_io_memory);
- isa_init_ioport(dev, 0x3c0);
- isa_init_ioport(dev, 0x3b4);
- isa_init_ioport(dev, 0x3ba);
- isa_init_ioport(dev, 0x3da);
- isa_init_ioport(dev, 0x3c0);
-#ifdef CONFIG_BOCHS_VBE
- isa_init_ioport(dev, 0x1ce);
- isa_init_ioport(dev, 0x1cf);
- isa_init_ioport(dev, 0x1d0);
-#endif /* CONFIG_BOCHS_VBE */
s->ds = graphic_console_init(s->update, s->invalidate,
s->screen_dump, s->text_update, s);