Hi, I am trying to understand PCI unsuccessfully. Let's say i have 4 GB of RAM and x86 32bit. Now, i have 1 PCI card with a device on it. It has 4gb worth of registers. I.e. memory. So, it sits on bus:0, device:1 function:2. 1) If i wish to address just two words (to be set to 0xffee) (32 bits) register on address 0xe0000000. What will be the hardware steps to take? My guess work (and please CMIIW): The address bus register on the cpu is set to 0xe0000000, the CPU data bus is switched to PCI bus 0 and somewhere on the bus 0 controller we set a register to 0x110 to represent device:1 function:2. The CPU then writes to it's data bus 0xffee and we are done. Also, i would appreciate to have the actual commands in linux to do the above. 2) The PCI device now wants it's memory to be i/o memory mapped to ram (probably at boottime) so i can write *my_memmaped_pointer=0xffee; What are the steps to do that in linux? Btw, i am in serious doubt that there are devices on a PC x86 that allows a PCI to directly connect it's data bus and address bus to the RAM address and data bus like handheld computers does etc... instead of working like a port on ISA (i.e. a separate bus). 10x. -- Regards, Tzahi. -- Tzahi Fadida Blog: http://tzahi.blogsite.org | Home Site: http://tzahi.webhop.info WARNING TO SPAMMERS: see at http://members.lycos.co.uk/my2nis/spamwarning.html -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ