안녕하세요.
ARM기반 리눅스의 메모리를 공부하고 있는데요, kmap과 관련한 질문이 있습니다.
부팅 초기단계에서 paging_init함수 내 kmap_init함수에서 kmap초기화가 이루어지는데요,
여기서 하는 작업은 딱 하나입니다.
바로 pkmap_page_table의 주소를 할당해 주는 것이구요, 이 주소는 kmap이 사용하게 될 페이지테이블의 시작 주소를 가리키고, 테이블의 갯수는 512개 입니다.(2MB)
궁금한 점은,
1. kmap 사용 목적과 절차
: zone_higmem의 high memory를 접근하기 위한 매핑공간으로 이해하고 있습니다. 그럼 page를 할당받은 이후 kmap을 하게 되는건가요?
: kmap을 사용하는 목적인 뭔가요? 사례는?