On 01/24/2010 08:18 PM, Kevin O'Connor wrote:
On Sun, Jan 24, 2010 at 12:16:11PM +0200, Avi Kivity wrote:
That's not correct - when running with PCI -vga std _is_ a PCI device (and it has a BAR). What's needed is to make the VBE BIOS aware of it.
According to Sebastian, the latest version of vgabios (v0.6c) does support this. I see that the following was added to vbe.c:
lfb_addr = pci_get_lfb_addr(0x1234); // experimental vendor
if (lfb_addr> 0) {
info.PhysBasePtr = ((Bit32u)lfb_addr<< 16);
}
It's clear we should pull this for qemu.git master. But what about 0.12? I prefer going back to 0xf0* to reduce the risk for further regressions.
The vgabios code could use an overhaul - it has many of the same maintenance problems that bochs bios has. A port to gcc would be a big help. Some time back, I ported the base vga code (see the vgasrc/ directory in seabios git), but I haven't looked at the cirrus or vbe extensions.
That would be great, even though vgabios doesn't see much churn.