Off-by-8 error in findPciRange?

Warren Block wblock at
Tue Oct 9 14:39:36 PDT 2007

Following up: I'm now reasonably sure that there isn't an off-by-8 bug 
in findPciRange.  There is something elsewhere that causes a problem 
with reading the VGA BIOS, but apparently few drivers do that anyway.

For reference:

It appears that handlePciBIOS tries to move the framebuffer base address 
before reading the ROM.  To do that, it needs to find a mappable space 
the size of the framebuffer.  If there isn't a usable PCI space that's 
large enough, the call fails and no BIOS is read.  This happens on 
FreeBSD i386, but doesn't apply to Linux, which reads the ROM from 

Whether the framebuffer actually needs to be remapped before reading the 
ROM, I don't know.  I can say that reading the ROM works without it on 
my system, but that may be causing ugly problems behind the scenes.

handlePciBIOS is in hw/xfree86/os-support/bus/Pci.c.  The code in 
question is commented "if we use a mem base save it and move it out of 
the way".

-Warren Block * Rapid City, South Dakota USA

More information about the xorg mailing list