Messages in this thread | | | From | Suniel Mahesh <> | Subject | Machine specific static mappings iotable_init(), are they required ? | Date | Tue, 6 Aug 2019 18:49:52 +0530 |
| |
Hi,
I am trying to port a machine based on arm926 with MMU, having 64MB of RAM.
I am trying to understand the difference between:
machine specific static I/O mappings which are done via iotable_init() (done via callback .map_io in DT_MACHINE_START) and dynamic I/O mappings done via ioremap()
In the kernel docs/mailing list, I have encountered a statement which states:
"with machine specific static I/O mappings which are done via iotable_init(), registers can be mapped at the upper end of vmalloc area so that one can use as little of the VA space as possible so vmalloc and friends have a better chance of getting memory"
I am writing board initialization C file and got stuck at .map_io callback function, whether to define it or not. If yes, under what scenario should I do it
now-a-days I think less boards are using iotable_init(). (is this defunct) ? I might be wrong here
Can't I use ioremap and do dynamic mappings when ever required via device tree ? If I do so will I encounter any problems with vmalloc area.
Thanks & Regards -- Suniel Mahesh
| |