2013-06-19 60 views
1

我想調試一個內核恐慌。 內核日誌說,Linux內核恐慌。瞭解oops消息 - pgd?

[63859.139142] Unable to handle kernel paging request at virtual address c0a0da06 
[63859.139236] pgd = ec040000 
[63859.139289] [c0a0da06] *pgd=00a1941e(bad) 

我有興趣知道什麼是pgd? 謝謝。

回答

2

pgd是「頁面全局目錄」的縮寫,即頁面頂層的內核名稱。

+0

非常感謝。任何想法一個壞的pgd是什麼意思?它是一個內存腐敗?我發現PC值本身c0a0da06不能在vmlinux的objdump中定位。在後面的軌跡中,我看到恐慌是由預取中止觸發的。任何指針都會有幫助 –

+0

@Manty你爲什麼要保持背部祕密? –

+1

'c0a0da06'不一定是PC的值,它也可能是代碼試圖讀取或寫入的虛擬地址。一個糟糕的pgd條目的確切含義取決於體系結構,但通常意味着它被標記爲不存在或不可寫。 – caf