Hello! Here is my problem. When initing kernel allocatest ranges for ioports some "random" style. #cat /proc/pci Bus 2, device 13, function 0: Class ff00: PCI device 4953:4d50 (rev 1). IRQ 5. Master Capable. Latency=64. Min Gnt=255. I/O at 0xda80 [0xdabf]. I/O at 0xd080 [0xd0ff]. I/O at 0xd980 [0xd9bf]. Non-prefetchable 32 bit memory at 0xfeaf8000 [0xfeaf8fff]. I/O at 0xde20 [0xde3f]. Bus 2, device 12, function 0: Class ff00: PCI device 4953:4d50 (rev 1). IRQ 11. Master Capable. Latency=64. Min Gnt=255. I/O at 0xdcc0 [0xdcff]. I/O at 0xd400 [0xd47f]. I/O at 0xdb00 [0xdb3f]. Non-prefetchable 32 bit memory at 0xfeaf9000 [0xfeaf9fff]. I/O at 0xdec0 [0xdedf]. Bus 2, device 11, function 0: Class ff00: PCI device 4953:4d50 (rev 1). IRQ 10. Master Capable. Latency=64. Min Gnt=255. I/O at 0xdd80 [0xddbf]. I/O at 0xd480 [0xd4ff]. I/O at 0xdd00 [0xdd3f]. Non-prefetchable 32 bit memory at 0xfeafa000 [0xfeafafff]. I/O at 0xdf40 [0xdf5f]. Bus 2, device 10, function 0: Class ff00: PCI device 4953:4d50 (rev 1). IRQ 5. Master Capable. Latency=64. Min Gnt=255. I/O at 0xdf00 [0xdf3f]. I/O at 0xdc00 [0xdc7f]. I/O at 0xde80 [0xdebf]. Non-prefetchable 32 bit memory at 0xfeafb000 [0xfeafbfff]. I/O at 0xdf80 [0xdf9f]. As you can see regions of device hashed. Why? Why they arent one-by-one to make possible use one base pointer to device and works with ports using single shift? May be I can use some tricks? Please advice. -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/