On 08/24/2011 03:13 AM, Richard Henderson wrote:
Signed-off-by: Richard Henderson<r...@twiddle.net>
Breaks qemu-system-ppc -M mac99
+/* Used by both ISA and PCI */ MemoryRegion *vga_init_io(VGACommonState *s) { MemoryRegion *vga_mem; - register_ioport_write(0x3c0, 16, 1, vga_ioport_write, s); - - register_ioport_write(0x3b4, 2, 1, vga_ioport_write, s); - register_ioport_write(0x3d4, 2, 1, vga_ioport_write, s); - register_ioport_write(0x3ba, 1, 1, vga_ioport_write, s); - register_ioport_write(0x3da, 1, 1, vga_ioport_write, s); - - register_ioport_read(0x3c0, 16, 1, vga_ioport_read, s); - - register_ioport_read(0x3b4, 2, 1, vga_ioport_read, s); - register_ioport_read(0x3d4, 2, 1, vga_ioport_read, s); - register_ioport_read(0x3ba, 1, 1, vga_ioport_read, s); - register_ioport_read(0x3da, 1, 1, vga_ioport_read, s); + /* The PCI-ISA bridge should have been configured properly such that + this works for PCI devices as well. This only supports one bridge, + but "secondary" VGA cards are generally accessed by MMIO only anyway. */ + isa_register_portio_list(NULL, 0x3b0, vga_portio_list, s, "vga"); memory_region_init_io(vga_mem,&vga_mem_ops, s,
This is called even for pci machines which have no ISA bus (and even if they did, the code should work wit the pci bus, not ISA). The code should return the portio list of the caller to register, or perhaps accept a callback to do the registration.
-- error compiling committee.c: too many arguments to function