__proc_info_begin 부터 __proc_info_end 까지 ( 섹션 .proc.info.init 영역 ) 저장된 proc_info_list 구조체에서 cpu_val, cpu_mask 값을 읽어 온다.
호출 되기전 R9에 Process ID가 저장되어 있고, 이 값을 읽어온 cpu_mask 과 mask 하고, cpu_val 과 같은 지 비교한다.
같으면, 리턴하고, 다르면 proc_info_list 구조체 만큼 이동하며 __proc_info_end 까지 반복한다.
호출 되기전 R9에 Process ID가 저장되어 있고, 이 값을 읽어온 cpu_mask 과 mask 하고, cpu_val 과 같은 지 비교한다.
같으면, 리턴하고, 다르면 proc_info_list 구조체 만큼 이동하며 __proc_info_end 까지 반복한다.
성공 하면, R5 은 일치하는 proc_info_list 구조체의 시작 주소를 가지게 되고, 실패하면 R5에 0값을 대입한다.
'리눅스커널' 카테고리의 다른 글
[ __create_page_tables ] /arch/arm/kernel/head.S (0) | 2009.10.02 |
---|---|
[ __lookup_machine_type ] arch/arm/kernel/head-common.S (0) | 2009.10.02 |
[ stext ] arch/arm/kernel/head.S (0) | 2009.10.02 |
ARM Instruction (0) | 2009.10.02 |
Linux Kernel 분석 - 준비 (0) | 2009.10.02 |