* Physical address of a user virtual address
@ 2001-10-30 0:42 Mark_H_Johnson
2001-10-30 18:17 ` Timur Tabi
2001-11-01 14:08 ` Stephen C. Tweedie
0 siblings, 2 replies; 3+ messages in thread
From: Mark_H_Johnson @ 2001-10-30 0:42 UTC (permalink / raw)
To: linux-mm; +Cc: James_P_Cassidy
We have an application where we will be...
- using mlockall() to lock the application into physical memory
- communicating to / from other systems using an interface similar to
shared memory
- most of the other systems run Linux - we have a device driver to handle
that case (they exchange information so the operation is "safe")
- but one of the other systems does not have an operating system - just
our code
For the system with our code in it, we need the physical address of a
region in the user's virtual address space. We are aware of the problems
with memory fragmentation and would be probing several addresses (at 4
Kbyte boundaries) to compute the base address & lengths of each contiguous
region.
We can't seem to find any "easy" way (e.g., call a function) that converts
an address in the virtual address space of an application to the physical
address. The book "Linux Device Drivers" basically tells us to walk the
page tables. From that, we think we must create a driver or kernel module
to get access to the proper variables and functions. That looks like a lot
of work for something that sounds simple.
Has someone already solved this done this and can point us to some code
that implements this?
Is there a better way to solve this problem?
Thanks.
--Mark H Johnson
<mailto:Mark_H_Johnson@raytheon.com>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Physical address of a user virtual address
2001-10-30 0:42 Physical address of a user virtual address Mark_H_Johnson
@ 2001-10-30 18:17 ` Timur Tabi
2001-11-01 14:08 ` Stephen C. Tweedie
1 sibling, 0 replies; 3+ messages in thread
From: Timur Tabi @ 2001-10-30 18:17 UTC (permalink / raw)
To: Mark_H_Johnson; +Cc: linux-mm
Mark_H_Johnson@Raytheon.com wrote:
> We can't seem to find any "easy" way (e.g., call a function) that converts
> an address in the virtual address space of an application to the physical
> address. The book "Linux Device Drivers" basically tells us to walk the
> page tables. From that, we think we must create a driver or kernel module
> to get access to the proper variables and functions. That looks like a lot
> of work for something that sounds simple.
User apps are not supposed to be concerned with physical memory, so it doesn't
surprise me at all that you need to make a driver. Fortunately, writing a
driver isn't that difficult. I'd help you out, if I didn't already have a job
doing exactly what you're looking for!
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: Physical address of a user virtual address
2001-10-30 0:42 Physical address of a user virtual address Mark_H_Johnson
2001-10-30 18:17 ` Timur Tabi
@ 2001-11-01 14:08 ` Stephen C. Tweedie
1 sibling, 0 replies; 3+ messages in thread
From: Stephen C. Tweedie @ 2001-11-01 14:08 UTC (permalink / raw)
To: Mark_H_Johnson; +Cc: linux-mm, James_P_Cassidy
Hi,
On Mon, Oct 29, 2001 at 06:42:51PM -0600, Mark_H_Johnson@Raytheon.com wrote:
> We can't seem to find any "easy" way (e.g., call a function) that converts
> an address in the virtual address space of an application to the physical
> address. The book "Linux Device Drivers" basically tells us to walk the
> page tables. From that, we think we must create a driver or kernel module
> to get access to the proper variables and functions. That looks like a lot
> of work for something that sounds simple.
>
> Has someone already solved this done this and can point us to some code
> that implements this?
map_user_kiobuf() is designed to walk the page tables, find the
appropriate physical pages and pin them in memory.
--Stephen
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2001-11-01 14:08 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-10-30 0:42 Physical address of a user virtual address Mark_H_Johnson
2001-10-30 18:17 ` Timur Tabi
2001-11-01 14:08 ` Stephen C. Tweedie
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox