pte_offset_kernel 함수로 pte를 알아내려 하는데 문제가 있습니다.
글쓴이: lmk378 / 작성시간: 수, 2011/03/23 - 11:16오전
코드는 다음같이 간단합니다.
...생략
pmd = pmd_offset(pud, addr);
pte = pte_offset_kernel(pmd, addr);
if(!pte_present(*pte))
goto out;
...생략
문제는 pte_present 함수에서 에러가 납니다.
커널은 2.6.35 이고 x86 32계열입니다.
PAE도 사용하지 않습니다.
dmesg시
[ 1295.834284] vaddr : 859f008
[ 1295.834288] pgd : ee9b3084
[ 1295.834291] pud : ee9b3084
[ 1295.834293] pmd : ee9b3084
[ 1295.834294] pte : 9f88c67c
위와같이 나타나는데 어떤 문제가 있는지 감이 오질 않습니다.
참고로 제가 만들고 있는 모듈은 가상주소를 넘겨주면 물리주소로 변환해주는 모듈입니다.
Forums:
댓글 달기