Hello om, > * How does the Linux kernel know that 0x8000_0000 is allocated for this > particular bridge? The kernel detects all pci devices through scanning the PCI configuration space. From the pci configuration space kernel gets the base address (0x8000_0000). > How exactly an access to 0x8000_0000 gets converted > to memory cycles on PCI? What is the sequence of code functions.. etc. > (just file/functions will suffice ) I think these are pci hardware internals. From a programmer point of view just access those areas like any other memory area. Pls correct me if i am wrong... > > After assigning this address, we do request_mem_region() and ioremap(). > The /proc/iomem shows this region as allocated to our driver as well. > But I am clueless about the convertion of this address to PCI memory cycles. pci hardware internals... > > * What should be the functions that we should use to access the memory > mapped regions? Is it inb() outb() readw() writew()..etc? Or access the > memory by * operator would suffice? For memory mapped its readw() and writew() or any variant of read and write. For i/o mapped its inb and outb. Should "never" use * operator... > > Regards, > Om. Regards, Shine Mohamed Jabbar "Human history becomes more and more a race between education and catastrophe." ~ H. G. Wells -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/