start_kernel()-->setup_arch()-->setup_machine_tags()
arch/arm/kernel/setup.c에서setup_arch()함수 내에서 머신이름을 설정한다.
machine_arch_type은 include/generated/mach-types.h에서 정의되어 있는데 이는 gen-mach-types 툴을 이용해서 생성된다.
예)
define MACH_TYPE_CODECAT 1
ifdef CONFIG_CODECAT
define machine_arch_type MACH_TYPE_CODECAT
예)
define MACH_TYPE_CODECAT 1
ifdef CONFIG_CODECAT
define machine_arch_type MACH_TYPE_CODECAT
machine_arch_type은 setup_machine_tags의 인자로 넘어가고, setup_machine_tags()내의
for_each_machine_desc는 __arch_info_begin 에서 __arch_info_end 를 순환하면서 machine_desc구조체의 nr(architecture number를 인자로 받아온 machine_arch_type과 비교하여 같은 경우, archiecture name을 찍어준다.
'리눅스 > 커널' 카테고리의 다른 글
driver 초기화 시에 쓰이는 module_init (0) | 2014.04.04 |
---|---|
Machine 이름 바꾸기 (0) | 2014.04.03 |
early_param에 대해 (0) | 2014.03.31 |
/dev/tty 와 /dev/console의 차이점 (0) | 2014.02.05 |
FrameBuffer size 구하기 (0) | 2013.12.11 |