From: Tsillas, D. J <jts...@en...> - 2004-07-09 14:32:41
|
I'm trying to map some kernel memory (allocated using kmalloc) to some user memory space (through an mmap file op). The guts of this operation is remap_page_range. Typically one has to convert the virtual address returned by kmalloc to a physical address using virt_to_phys. This is not present with UML. The closest I could find was uml_virt_to_phys. Any help appreciated. Please copy me directly via e-mail. thanks, -Jim. |
From: BlaisorBlade <bla...@ya...> - 2004-07-21 17:20:34
|
Alle 16:32, venerd=EC 9 luglio 2004, Tsillas, Demetrios J ha scritto: > I'm trying to map some kernel memory (allocated > using kmalloc) to some user memory space (through > an mmap file op). > > The guts of this operation is remap_page_range. > Typically one has to convert the virtual address > returned by kmalloc to a physical address using > virt_to_phys. This is not present with UML. > > The closest I could find was uml_virt_to_phys. > Any help appreciated. Please copy me directly > via e-mail. I use 2.6.7 and 2.4.24-1 to 2.4.26-2, and in all these (or almost all these= )=20 asm-um/io.h contains virt_to_phys. In i386 it is in asm-i386/io.h, so pleas= e=20 what did not you find? If you got a linking error it's clear you did not=20 include the header (it's an inline, so the linker cannot know about it). If the export for __pa() is missing (I don't think so), add it (to=20 arch/um/kernel/ksyms.c for 2.4) and post the patch. =2D-=20 Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 |