On Sat, 23 Jan 2010 19:03:46 -0500 "Kevin O'Connor" kevin@koconnor.net wrote:
On Sun, Jan 24, 2010 at 01:35:21AM +0200, Izik Eidus wrote:
On Sat, 23 Jan 2010 18:10:37 -0500 "Kevin O'Connor" kevin@koconnor.net wrote:
What is special about 0xe0000000 that the OS can't map pci devices there? Normal machines don't treat 0xe0000000 as special, why does the VBE device require that?
From the last time I looked on the code 0xe0000000 was the LFB address, LFB is used by vesa devices as the framebuffer memory area, this mean that vesa devices (not the case for vga) will try to map this 0xe000000 physical memory.
Okay, but why does the device hardcoded 0xe0000000 - why doesn't it use a PCI bar? A PCI bar should also be sufficient to stop the OS from mapping two things to the same address, and it has the advantage of not requiring special code in the BIOS.
VESA standard is unrelated to pci devices, and therefore it can be used with isa devices...
For example spice start the system with the isa device and then only when there is a driver it move into the QXL device.
I have saw in QA bug that was just this case, windows tryed to map pci device into the lfb.
Thanks.
-Kevin