On 01/25/2010 09:06 AM, Avi Kivity wrote:
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.
This isn't a guest visible change so for 0.12, I would expect that bringing in the vgabios changes would be reasonable. I don't love the idea of carrying a different behaviour in SeaBIOS and VGABIOS for 0.12 than in master.
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.
Yes, it would remove the BCC dependency on the build which would be really nice.
Regards,
Anthony Liguori