> I am writing sendpage (this is called when sendfile system call is used) function for my protocol. User application calls with socket and filename, kernel maps file and pass struct page * to sendpage function. > > I use following expression to get virtual address and copy data > > virtual_address = phys_to_virt(page_to_pfn(page) << PAGE_SHIFT); > > This works fine on Pentium III machine with 515324 KB memory, but when I run same code on Xeon with 2074604 KB memory, I get > > Unable to handle kernel paging request at virtual address 3ab6c000 > > Is this because this address (struct page *) is not mapped ? how do I check in my code whether it is mapped or not, since it is mapped on Pentium. > > Thanks for help. Guys I need help. On i386 machine, I get * page 0xc1342180 * virtual da10c00 and on Xeon * page 0xc1fc5ce0 * virtual 0x3a09d000 Is virtual address in case of Xeon not mapped ? do I need to map it ? _________________________________________________________________ Put your friends on the big screen with Windows Vista® + Windows Live™. http://www.microsoft.com/windows/shop/specialoffers.mspx?ocid=TXT_TAGLM_CPC_MediaCtr_bigscreen_102007 -- To unsubscribe from this list: send an email with "unsubscribe kernelnewbies" to ecartis@xxxxxxxxxxxx Please read the FAQ at http://kernelnewbies.org/FAQ