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 ? -- Onkar -- 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