Mapping physical addresses to virtual address linux

后端 未结 3 1054
迷失自我
迷失自我 2020-12-31 17:45

I am working on a small embedded system. When my linux boots up into user space, I know where are my devices in the physical memory. I want to map them into user space virtu

3条回答
  •  孤城傲影
    2020-12-31 18:06

    In Kernel module, remap_pfn_range() can be used to convert the physical address to virtual address. When you don't have a actual devices you can: 1) create a virtual device and, 2) use mmap to those virtual devices to access the very same kernel memory through remap_pfn_range virtual mapping of that process. 3) Usually in dedicated environments you may addition want to pin those physical pages lest they are taken away from your process. 4) You also share these physical addresses with different processes but will need to handle synchronization, independently through other IPC mechanisms as to each process they will look as different addresses.

提交回复
热议问题