2
我在我的驅動程序中使用devm_kzalloc(.., .., GFP_KERNEL)
分配緩衝區,然後我將此緩衝區註冊爲幀緩衝區驅動程序,以便它顯示爲/dev/fb0
下的文件。然後我可以打開這個文件並寫入它。當我這樣做時,一切正常,我的數據到達驅動程序內存緩衝區。內核驅動程序和用戶空間的mmap
但是,如果我然後mmap
它在用戶進程中是這樣的:mmap(NULL, size, PROT_WRITE, MAP_SHARED, fd, 0)
,使用相同的文件fd並嘗試寫入返回的內存空間,沒有任何寫入驅動程序內存。
我在這裏忘了什麼嗎?
http://man7.org/linux/man-pages/man2/mmap.2.html - 仔細閱讀MAP_SHARED段落,那裏可能有線索。 – Mat