<DIV>There are four PCI video cards on the mainboard. They are the same with each other. I have </DIV>
<DIV>written the driver myself running in XFree86 4.2.0. The four video cards work fine in Redhat </DIV>
<DIV>7.0 when setting "xinerama" in the config file. </DIV>
<DIV>Then I upgrade the driver in order to run in Xorg 1.6.4. The new driver can only make the </DIV>
<DIV>primary video card work fine in Ubuntu 9.10(XServer version is 1.6.4) . But it cannot make </DIV>
<DIV>four video cards work fine at the same time when setting "xinerama" in the config file. In </DIV>
<DIV>the log I find that it can read rom of the primary video card. But it cannot read roms of </DIV>
<DIV>the other video cards. The Xserver reports an error:<BR>Cannot read V_BIOS (3) Input/output error</DIV>
<DIV> </DIV>
<DIV> I do some further work.</DIV>
<DIV> </DIV>
<DIV>First I type the command "lspci -nv" and find the four video cards in pci address 03:01.0, </DIV>
<DIV>03:02.0, 03:03.0 and 03:04.0.<BR> In "sys/bus/pci/devices/", there are four directories "0000:03:01.0\", "0000:03:02.0\", </DIV>
<DIV>"0000:03:03.0\", "0000:03:04.0\". And there is a file named rom in each of the four </DIV>
<DIV>directories.<BR> In Xserver's log file, I find that information about video bios of the four video cards </DIV>
<DIV>are as follows.<BR> Primary V_BIOS segment is: 0xc000 (the primary card)<BR> Cannot read V_BIOS (3) Input/output error (the other cards)</DIV>
<DIV> Then I tracked into source code of XServer and libpciaccess. In function </DIV>
<DIV>xf86ExtendedInitInt10 in hw\xfree86\int10\generic.c, function pci_device_read_rom is called.<BR>Function pci_device_read_rom calls function pci_device_linux_sysfs_read_rom in libpciaccess</DIV>
<DIV>-0.10.6\src\linux_sysfs.c. In function pci_device_linux_sysfs_read_rom, it read file </DIV>
<DIV>"0000:03:0x.0\rom". This is where the error occurs. An error returns when reading </DIV>
<DIV>"0000:03:02.0\rom" or "0000:03:03.0\rom" or "0000:03:04.0\rom". I wonder why it failed when </DIV>
<DIV>reading "0000:03:02.0\rom" or "0000:03:03.0\rom" or "0000:03:04.0\rom" while it succedded </DIV>
<DIV>when reading "0000:03:01.0\rom"?</DIV>
<DIV> I believe each video bios is needed to be called to initialise each video card. But video </DIV>
<DIV>bios of the 2nd, 3rd and 4th video card haven't been called successfully.</DIV>
<DIV>Any comments on this question would be appreciated. </DIV>
<DIV> Harry</DIV>