proc_info_list의 __cpu_flush에 저장되어 있던 분기 명령이 실행되면서 ARM920 일경우 __arm920_setup으로 이동한다. I-Cache와 D-Cache를 무효화(invalidate)하고 쓰기 버퍼의 내용도 비운다. 더불어 I/D-TLB도 무효화한다.
CP15 제어 레지스터를 읽어서 MMU, Cache 관련 비트를 설정한다. (R0 레지스터)
[ __v6_setup ] arch/arm/mm/proc-v6.S
proc_info_list의 __cpu_flush에 저장되어 있던 분기 명령이 실행되면서 ARMv6 일경우 __v6_setup으로 이동한다.
I-Cache와 D-Cache를 무효화(invalidate)하고 쓰기 버퍼의 내용도 비운다. 더불어 I/D-TLB도 무효화한다.
CP15 제어 레지스터를 읽어서 MMU, Cache 관련 비트를 설정한다. (R0 레지스터)
'리눅스커널' 카테고리의 다른 글
[ __turn_mmu_on ] arch/arm/kernel/head.S (0) | 2009.10.02 |
---|---|
[ __enable_mmu ] arch/arm/kernel/head.S (0) | 2009.10.02 |
[ __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 |
[ __lookup_processor_type ] arch/arm/kernel/head-common.S (0) | 2009.10.02 |