RAM 썸네일형 리스트형 kernel 초기화시 지켜야 할 Ram memory size align 단위 kernel 2.6.32 kernel 초기화시 각 영역별로 ram memory 를 잡게 됩니다. 이러한 메모리들은 bank 에 저장되어서 start_kernel 에서 bootmem_init 을 호출하여 초기화 하게 되지요. 조금 더 정확하게 적자면 다음과 같이 boot param 을 bootloader에서 kernel로 전달되게 되면 "meminfo=mem=80M mem=253M@0x40000000 mem=128M@0x50000000" parse_cmdline 에서 early_mem 함수를 호출하여서 해당 구문을 해석하고 arm_add_memory 를 호출합니다. arm_add_memory 는 bank 구조체에 해당 정보를 채우게 되지요. meminfo = ( nr_banks = 0x3, bank = (.. 더보기 Ram Memory 설정하기 안녕하세요. 오늘은 linux kernel 에서 ram 사용 setting 에 대해 아주 조금만 적어보겠습니다. 커널이 부팅할때 boot param 으로 셋팅이 넘어가게 되는데요. 이 영역은 vmlinux.lds 라는 파일에 다음과 같이 기술되어 있습니다. linux-2.6.29.4/arch/arm/kernel/vmlinux.lds ... *(.init.setup) __setup_end = .; __early_begin = .; *(.early_param.init) __early_end = .; ... setup.c 에 보면 __early_param("mem=", early_mem); 이라는 메크로가 나오는데요. 이를 해석하면 다음과 같습니다. #define __early_param(name,fn) \ .. 더보기 이전 1 다음