Mapping of Device Physical Address to Kernel Virtual address
From: Philipp Ittershagen <hidden>
Date: 2012-07-10 05:47:17
Hi Prabhu, On Tue, Jul 10, 2012 at 6:56 AM, Prabhu nath [off-list ref] 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? Greetings, Philipp [1]: http://www.kernelport.org/defines.html