Re: pci_check_type2() help.

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

 



On 04/16/2012 09:20 AM, Onkar N Mahajan wrote:

> On Mon, 2012-04-16 at 12:13 -0700, Randy Dunlap wrote: 
>> On 04/16/2012 09:02 AM, Onkar N Mahajan wrote:
>>
>>> Hello list, 
>>>
>>> I am trying to understand the PCI functionality in Linux kernel. 
>>> What is the best way to start to understanding this - where to start 
>>> in the kernel code ? Books ? Manuals ? 
>>>
>>> I started reading the code - where I am stuck in this function -
>>> pci_check_type2() ; Wherein I am not able to get from where these values
>>> 0xCFB,0xCF8,0xCFA are arrived at ? I guess these are port numbers , but 
>>> in which manuals can I find this all information. 
>>>
>>> linux/arch/x86/pci/init.c: 
>>> static int __init pci_check_type2(void)
>>> {
>>>     unsigned long flags;
>>>     int works = 0;
>>>
>>>     local_irq_save(flags);
>>>
>>>     outb(0x00, 0xCFB);
>>>     outb(0x00, 0xCF8);
>>>     outb(0x00, 0xCFA);
>>>     if (inb(0xCF8) == 0x00 && inb(0xCFA) == 0x00 &&
>>>         pci_sanity_check(&pci_direct_conf2)) {
>>>         works = 1;
>>>     }
>>>
>>>     local_irq_restore(flags);
>>>
>>>     return works;
>>> }
>>>
>>>
>>> Please help me figuring out right manuals for this. 
>>
>>
>> The PCI spec (version 2.1 seems to be all I have available)
>> discusses PCI Configuration Mechanisms and Special Cycles and
>> these PCI config registers.
>>
> Thanks Randy , for your help. Can you please also guide me with 
> respect to good way to start understanding the PCI implementation 
> in Linux ?


Not really.  It's best to ask specific questions about it.

-- 
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-pci" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux