virtual address를 physical address로 바꿔주는 모듈을 작성하였습니다.
글쓴이: lmk378 / 작성시간: 화, 2011/03/22 - 8:09오후
dmesg시 다음과 같이 출력됩니다.
[ 1241.158217] in ioctl
[ 1241.158223] vaddr : 992b008
[ 1241.158226] pgd : dfbad098
[ 1241.158232] pte : 9e71c4ac
[ 1241.158234] paddr : 9e71c4b4
최초 virtual address(vaddr)가 0x992b008 입니다.
pte값이 page base address가 될것입니다.
헌데 page base address이므로 4k의 배수가 될것으로 생각되는데
그렇게 나오지는 않네요.
때문에 올바르게 짠건지 잘 판단이 안섭니다.
physical address(paddr)는 pte + 0x008(vaddr & 0xfff)입니다.
올바르게 만든것인가요?
혹시 버디 슬랩 할당자 때문에 4k의 배수가 아닐수도 있는건가요?
Forums:
댓글 달기