Hiya,
I'd appreciate an early curtailment of my need to turn user virtual
addresses to physical addresses (from withing a driver module). My
assumptions and searches have mounted to the following:
1) User virtual addresses != kernel virtual addresses (no prizes)
2) __va() & __pa() are dumb macros for kernel/physical address
traslation.
3) copy_to_user() and friends are written in assembler so I'm kind of
knackered with them. Unless I have a decade of free time.
4) I assume that the user pages are swapped in (using a machine with
no disk, let alone swap).
For additional bonus trivia:
o) I'm running some 2.2.1 kernel on a MIPS (playstation) for this test
but will ultimately be running on a diskless set-top-box with a
2.4.current kernel.
I saw something in a real old post about current->mm, and will have to
read a pile more on this. I have the Rubini book and will have a look
at what this is. Hopffully it'll provide me with a VMA struct that I
can use to knab out the page descriptor for the user VM and then do
the kernel __pa() translation for each page in teh VMA.
If you know a solution, a pointer to a website, some good structures
available from within kernel space, whatever, I'd appreciate it.
TIA
James
[James dot Irwin at zarlink dot com dot no dot spamming dot please]