Re: pte_page

mdaljeet@in.ibm.com
Thu, 31 May 2001 15:27:38 +0530


I am doing a DMA from a card to system memory. The system memory "physical
address" is '0x104000'. I am doing this on x86 with kernel version 2.4.2.
Can this address be the address of a user space buffer?

Regards,
Daljeet.

|--------+----------------------->
| | Ingo Molnar |
| | <mingo@elte.h|
| | u> |
| | |
| | 05/30/01 |
| | 11:09 PM |
| | Please |
| | respond to |
| | mingo |
| | |
|--------+----------------------->
>--------------------------------------------------------|
| |
| To: Pete Wyckoff <pw@osc.edu> |
| cc: Daljeet Maini/India/IBM@IBMIN, |
| linux-kernel@vger.kernel.org |
| Subject: Re: pte_page |
>--------------------------------------------------------|

On Wed, 30 May 2001, Pete Wyckoff wrote:

> > __pa(page_address(pte_page(pte))) is the address you want. [or
> > pte_val(*pte) & (PAGE_SIZE-1) on x86 but this is platform-dependent.]
>
> Does this work on x86 non-kmapped highmem user pages too? (i.e. is
> page->virtual valid for every potential user page.)

you are right, the highmem-compatible solution is to use page-mem_map as
the physical page index.

Ingo

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/