On Tue, Jul 10, 2012 at 10:03 PM, 弋天 卜 <buyit@xxxxxxx> wrote:
I mean fixed/static mapping rather than kernel allocating kernel virtual address dynamically.
You mean ioremap(...) will not map the physical address of the device into vmalloc region ?
My requirement is very simple. I have designed a layout showing mapping of physical address to kernel virtual address. I also want to implement in the same way.
1. Low mem region - which is already fixed by the kernel based on the memory size.
2. Vmalloc region which can be fixed as per your previous mail
3. Also have a fixed mapping of device physical address by ioremap_page_range(...)
I think I got what I needed. Thank you all very much for your valuable time.
Thanks for your reply. Plz see inlineOn Tue, Jul 10, 2012 at 11:17 AM, Philipp Ittershagen <p.ittershagen@xxxxxxxxxxxxxx> wrote:
Hi Prabhu,
I don't think this is possible, because these virtual address ranges
On Tue, Jul 10, 2012 at 6:56 AM, Prabhu nath <gprabhunath@xxxxxxxxx> 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.
are handled by the kernel VMA system and are allocated dynamically, so
that is not just a bitmask or something to change.
You could change PAGE_OFFSET. From [1]:
> 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
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.what do you mean constant?After mapping, it is constant.Before mapping, it is constant forLow memory region, but is notConstant for vmalloc region.
I mean fixed/static mapping rather than kernel allocating kernel virtual address dynamically.
Vmalloc region is separate in default.Your change doesn't make any sense.
You mean ioremap(...) will not map the physical address of the device into vmalloc region ?
The most difficult thing for you isTo make sure what do you want toDo really. Please give detail demand.
My requirement is very simple. I have designed a layout showing mapping of physical address to kernel virtual address. I also want to implement in the same way.
1. Low mem region - which is already fixed by the kernel based on the memory size.
2. Vmalloc region which can be fixed as per your previous mail
3. Also have a fixed mapping of device physical address by ioremap_page_range(...)
I think I got what I needed. Thank you all very much for your valuable time.
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies