我正在研究一個小型嵌入式系統。當我的Linux啓動到用戶空間時,我知道我的設備在物理內存中。我想將它們映射到用戶空間虛擬地址。目前,我正在通過一個內核模塊來完成它。我使用vmalloc/kmalloc(取決於大小),然後在返回的虛擬地址上使用ioremap_page_range來映射我的物理地址。我不認爲這是正確的方式。首先我分配內存,然後我要求內核將該虛擬地址空間重新映射到一些不同的物理地址空間。 (在vmcall/kmalloc中最初映射的物理 - >虛擬是沒用的,因爲我不關心這些物理頁面,這絕對不好)。將物理地址映射到虛擬地址linux
取而代之,有一種更好的方式將已知物理內存映射到用戶空間進程。 (我知道的比我的用戶空間程序等,沒有人要去觸摸內存。)
感謝
我在做remap_pfn之前需要先做mmap。但是,我不想那樣做。我沒有附帶那個內存的設備。所以,我想直接將該物理內存映射到虛擬地址。謝謝 – 2012-07-24 17:14:02