[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: PCI config space and expansion ROM problem
Hi,
I am a PCI interface designer and may give you some ideas I have with your
situation for your reference:
I think it's a dead lock situation happening with the following projectures:
1. 0xE0000 is a reserved space for the VIDEO card you failed to boot as
DEFAULT VALUE in design;
2. After card2 applys for 256K memory for ROM, its mapping address is mapped
into 0xE0000 (you may confirm it with waveforms during BAR0/BAR1 write
operation with not all '1' value);
3. The VIDEO card generates nDEVSEL 1 clock after nFRAME is asserted, it
wants to make sure the card is "FAST" type; but when it wants to send data,
it finds that the address does not fall into its designated address, so it
doen't generate nTRDY that is generated later than nDEVSEL;
4. Your card2 finds that nDEVSEL is asserted by other agent, so it doesn't
response to the transaction considering that the transaction doesn't belong
to it.
To confirm my theory, you may do following test:
1. Replace VIDEO card that fails to boot with VIDEO card that work well with
card2 inserted;
2. Confirm system works well without card2 inserted;
3. Insert card2; Now we have correct combination of right VIDEO card and
card2. It should work well now.
The dead lock is caused by wrong combination of VIDEO card and card2.
Any comments are welcome and appreciated.
Weng Tianxiang
Micro Memory Inc.
9540 Vassar Av.
Chatsworth, CA 91311
Phone: 818-998-0070, Fax: 818-998-4459
----- Original Message -----
From: Ajit Madhekar <ajit@controlnet.co.in>
To: <pci-sig@znyx.com>
Sent: Sunday, November 26, 2000 8:41 PM
Subject: 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
>
>
>
>