2018/09/15

    [커널분석] arm64_memblock_init()

    리눅스 커널 분석은 4.16 버전을 기준으로 하였습니다. memblock은 리눅스 커널 부트업 단계에서 사용되는 메모리 할당자입니다. memblock은 메모리를 3가지 타입으로 나누어 관리하고 있는데요, 각각 memory, reserved, physmem 타입입니다. 먼저 memblock 자료구조에 대해 확인해보시죠. memblock은 3개의 type을 위한 memblock_type 구조체를 가지고 있고, 각 타입에는 region이란 영역을 관리하기 위해 memblock_region 구조체 포인터를 가지고 있습니다. memory, reserved 영역은 총 128개의 region을 가질 수 있으며 모두 사용하게 되면 2배로 크기가 늘어나 설정되어 집니다.[include/linux/memblock.h]12..

});