Hello, I have external (I/O-like) memory on my i386 linux 2.6.9 box and I can use it through a device driver using the standard "ioremap" call. This all works fine... What I need is a "struct page *" which corresponds to this memory and this seems to be a problem. Namely, all the kernel support functions (mostly macros...) which provide mappings from i.e. phys_addresses (or virt_addresses) to a "struct page *" seem to assume that a "struct page *" already exists in the kernel (the so-called "mem_map" array) and is obtained by simple indexing from the physical address. This is, of course, not correct since the memory I am accessing was not part of the kernel's map. Anybody knows a way how to do this? BTW, I would like to implement the "sendfile" system call for my external chunk of memory and the "agent" function needs to see a "struct page *" representation of my memory... Any help/pointers appreciated... -- Tonko -- Ante "Tonko" Ljubicic Tel: +1-631-344-7346 Bldg. 510A Fax: +1-631-344-4206 Brookhaven National Lab., P.O. Box 5000 Upton, NY, 11973, USA -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/