3
我需要通過/ dev/mem遍歷用戶空間中mem_map中包含的所有物理頁面。 mmap不能使用。唯一的希望是使用打開/讀取呼叫。我知道內核中mem_map的物理地址。這是在用戶空間代碼:Linux內核:如何使用/ dev/mem從用戶空間遍歷mem_map中的物理頁面?
/* open /dev/mem file*/
if((fd = open("/dev/mem", O_RDONLY)) == -1) {
printf("/dev/mem could not be opened.\n");
perror("open");
exit(1);
} else {
printf("/dev/mem opened.\n");
/* seek to the mem_map at mem_map_phy_addr */
if(lseek(fd, mem_map_phy_addr, SEEK_SET) == -1) {
perror("lseek");
}
else {
printf("lseek ok\n");
}
現在的問題是如何開始遍歷mem_map中?什麼用戶地包含文件有'結構頁'?
謝謝。
用戶級包含文件沒有'struct page'。你必須使用內核頭文件。 –
你能更具體嗎?我如何使用內核頭文件?複製頭文件與我的用戶程序編譯? – user899159
是的,就是這樣。 –