오늘은 Unhanlded fault에 대해 질문하려 합니다.
어느 특정 physical address를 virtual address로 mapping했습니다.
(음 일종의 interrupt controller가 되겠습니다.)
address mapping에는 문제가 없다고 생각하는데 그 address 영역의 register를 access하려고 하니 다음과 같은 메시지가 출력됩니다.
"Unhandled fault: external abort on non-linefetch(0x808) at (맵핑된 주소)"
구글링을 해봐도 잘 모르겠네요...
일단 상황은 실제 사용되는 register map은 1K정도의 영역인데 이를 MT_4K의 영역에 mapping시켰습니다. (MT_1K는 뭔지 address mapping에 문제가 있는듯 해서..)
그리고 1K가 연속되는 register의 영역은 아니고 중간중간 acess가 안되는 영역도 있습니다.
저런 메시지를 봤을때, 혹시 의심을 해봐야 할 부분들은 무엇일까요?
힌트를 주시면 감사하겠습니다.
그 후에 커널에서는 작업해야할 듯 합니다.