> > + if (global_vmstate) { > > + static int have_vga; > > + if (have_vga) { > > + error_report("only one vga device is supported"); > > + exit(1); > > + } > > + have_vga = true; > > + } > > s->is_vbe_vmstate = 1; > > memory_region_init_ram_nomigrate(&s->vram, obj, "vga.vram", > > s->vram_size, > > &error_fatal); > > -- > > 2.9.3 > > > > This seems like a bit of an irritating reason to refuse to > allow multiple VGA devices though, since we could make > them work by having the vmstate be not-global.
Multiple vga devices will also try to use the same isa vga ports. Seems that doesn't make qemu abort any more, which used to happen in older versions. > Which is > exactly what it ought to be -- we're only defaulting to > "use global" here for migration compatibility, I think. Yes. > Since multiple VGA devices didn't work before, there's > no old configs we need to migrate from, and so I think > we could just say "the second and subsequent VGA devices > get non-global ram vmstate" ? Yes, we could allow multiple vga devices that way. But due to the ioport resource conflict only one of the two (or more) vga devices will work properly. So I'm not sure allowing that configuration is actually an improvement ... I surely can update the commit message to also mention the ioport conflict though. cheers, Gerd