Mapping of Device Physical Address to Kernel Virtual address

Prabhu nath gprabhunath at gmail.com
Tue Jul 10 04:57:16 EDT 2012


Thanks for your reply. Plz see inline

On Tue, Jul 10, 2012 at 11:17 AM, Philipp Ittershagen <
p.ittershagen at googlemail.com> wrote:

> Hi Prabhu,
>
> On Tue, Jul 10, 2012 at 6:56 AM, Prabhu nath <gprabhunath at gmail.com>
> wrote:
> > For E.g. I have a device whose physical address range is 0x80008000 to
> > 0x80008FFF.
> >              Is it possible to map this device physical address to a
> known
> > virtual address range 0xF0008000 to 0xF0008FFF.
>
> I don't think this is possible, because these virtual address ranges
> are handled by the kernel VMA system and are allocated dynamically, so
> that is not just a bitmask or something to change.
>
> > My hardware configuration has 128 MB of system RAM which will have been
> > MAPPED to the Kernel virtual address from 0xC0000000 to 0xC7FFFFFF
> >
> > Also is it possible to configure the vmalloc kernel virtual address
> region
> > to a fixed range of 128 MB from 0xC8000000 to 0xCFFFFFFF
>
> You could change PAGE_OFFSET. From [1]:
>
>
> PHYS_OFFSET
>         Physical start address of the first bank of RAM.
>
> PAGE_OFFSET
>         Virtual start address of the first bank of RAM.  During the kernel
>         boot phase, virtual address PAGE_OFFSET will be mapped to physical
>         address PHYS_OFFSET, along with any other mappings you supply.
>         This should be the same value as TASK_SIZE.
>
>
> But I'm curious: Why do you want to change it?
>

      Just wanted to have a constant mapping from PA to VA of devices and
wanted to have a separate region for vmalloc.

>
>
> Greetings,
>
>   Philipp
>
>
> [1]: http://www.kernelport.org/defines.html
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20120710/8b70a2c2/attachment.html 


More information about the Kernelnewbies mailing list