[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

PCI config space and expansion ROM problem



Hi there,
 I am experimenting with two network interface cards , lets call them card1
and card2.

 Card1 :
   Asks for 1K memory mapped space
   Asks for 256 bytes I/O space
   No Expansion ROM space asked. and no support for exp ROM on the card
seen.
   At PCI config address 0x10 I/O is asked.
   At PCI configaddress 0x14 memory is asked
    64 bit addressing support.

 Card2 :
   Asks for 1K memory mapped space
   Asks for 256 bytes I/O space
   Asks for 256 K byte Exp ROM space.but no exp ROM on the card seen.
   At PCI config address 0x10 memory space is asked.
   At PCI config address 0x14 I/O space is asked
    64 bit addressing support.

 Card1 boots in all the available systems with me. ( I tried on 8/9 systems
 with diff chip sets, diff O/S , diff. BIOSs)
 One system refuse to boot when Card2 is plugged into it. The same system
 with card1 boots.

 I tried to observe the cycles and found that at address 0x000E0000 ( memory
 read ) the DEVSEL# is given by some other target but no TRDY# is given.
 card2 just waits for the bus to become free as this cycle is not run onto
it.

 With the card2 removed , the same cycle runs fine.

 What can be the problem ?

 I am suspecting 2 areas.

 1) the large space asked by card2 for EXP. ROM (256 k )
     As the image will be copied into system RAM 0xC0000 to 0xDFFFF,
    And BIOS should copy video card exp ROM image 0xC0000  onwords .and then
the NIC ROM will be copied.
What can be the max space asked by a NIC expansion ROM ? In what space the
Video Expansion ROM fits useually ?


 2) I/O and memory  address interchanged at 0x10, 0x14
       I tried with other 2-3 NIC cards of diff mfg and found that all
implement 0x10 I/O and 0x14 memory at config space.
Is it stated in PCI 2.1/2.2 or it is a rule of thumb to follow if I/O and
memory both to be supported.

can anybody help

Regards,
Ajit