2011-04-14 79 views
0

當我嘗試加載我的Linux內核模塊時,我得到一個關於未定義符號的錯誤(顯然我在make期間得到一個警告)。特別是我需要在我的模塊中使用宏pgd_offset_k(在asm/pgtable.h中定義)。這在pgd_offset(&init_mm, (address))中進行了擴展。未定義的符號是init_mm。我也已經驗證了其在/ proc/kallsyms存在:加載LKM得到未定義的符號錯誤

$ cat /proc/kallsyms |grep -w init_mm 

c07d49a0 D init_mm 

任何想法?

回答

2

init_mm不會導出到2.6.29之後,因爲沒有超出樹的代碼應該使用它。你能不能沒有pgd_offset_k

+1

也許有一種方法,但我不知道它...我試圖做一些關於虛擬 - >物理地址轉換的實驗......特別是我將轉換從ioremap調用中返回的地址物理地址......這個轉換應該給我傳遞給ioremap的地址(我希望:))。我怎樣才能執行此轉換沒有pgd_offset_k?我想我不能使用virt_to_phys,因爲該地址不是一個邏輯地址對嗎? – MirkoBanchi 2011-04-14 12:02:57

相關問題