*参照元 [#ra477d15] #backlinks *説明 [#m7ce685f] -パス: [[linux-4.4.1/arch/arm/kernel/setup.c]] -FIXME: これは何? --説明 **引数 [#d0a21742] -なし **返り値 [#r2a412fe] -なし **参考 [#zcd9a2e6] *実装 [#h1bdc0b8] static void __init setup_processor(void) { struct proc_info_list *list; - --[[linux-4.4.1/proc_info_list]] /* * locate processor in the list of supported processor * types. The linker builds this table for us from the * entries in arch/arm/mm/proc-*.S */ list = lookup_processor_type(read_cpuid_id()); if (!list) { pr_err("CPU configuration botched (ID %08x), unable to continue.\n", read_cpuid_id()); while (1); } - --[[linux-4.4.1/lookup_processor_type()]] --[[linux-4.4.1/read_cpuid_id()]] cpu_name = list->cpu_name; __cpu_architecture = __get_cpu_architecture(); - --[[linux-4.4.1/__get_cpu_architecture()]] --[[linux-4.4.1/__cpu_architecture(global)]] --[[linux-4.4.1/cpu_name(global)]] #ifdef MULTI_CPU - --[[linux-4.4.1/MULTI_CPU]] processor = *list->proc; - --[[linux-4.4.1/processor(global)]] #endif #ifdef MULTI_TLB - --[[linux-4.4.1/MULTI_TLB]] cpu_tlb = *list->tlb; - --[[linux-4.4.1/cpu_tlb()]] #endif #ifdef MULTI_USER - --[[linux-4.4.1/MULTI_USER]] cpu_user = *list->user; - --[[linux-4.4.1/cpu_user(global)]] #endif #ifdef MULTI_CACHE - --[[linux-4.4.1/MULTI_CACHE]] cpu_cache = *list->cache; - --[[linux-4.4.1/cpu_cache(global)]] #endif pr_info("CPU: %s [%08x] revision %d (ARMv%s), cr=%08lx\n", cpu_name, read_cpuid_id(), read_cpuid_id() & 15, proc_arch[cpu_architecture()], get_cr()); - --[[linux-4.4.1/pr_info()]] --[[linux-4.4.1/read_cpuid_id()]] --[[linux-4.4.1/proc_arch(global)]] --[[linux-4.4.1/get_cr()]] snprintf(init_utsname()->machine, __NEW_UTS_LEN + 1, "%s%c", list->arch_name, ENDIANNESS); snprintf(elf_platform, ELF_PLATFORM_SIZE, "%s%c", list->elf_name, ENDIANNESS); elf_hwcap = list->elf_hwcap; - --[[linux-4.4.1/snprintf()]] --[[linux-4.4.1/init_utsname()]] cpuid_init_hwcaps(); - --[[linux-4.4.1/cpuid_init_hwcaps()]] #ifndef CONFIG_ARM_THUMB - --[[linux-4.4.1/CONFIG_ARM_THUMB]] elf_hwcap &= ~(HWCAP_THUMB | HWCAP_IDIVT); #endif #ifdef CONFIG_MMU - --[[linux-4.4.1/CONFIG_MMU]] init_default_cache_policy(list->__cpu_mm_mmu_flags); - --[[linux-4.4.1/init_default_cache_policy()]] #endif erratum_a15_798181_init(); - --[[linux-4.4.1/erratum_a15_798181_init()]] elf_hwcap_fixup(); - --[[linux-4.4.1/elf_hwcap_fixup()]] cacheid_init(); cpu_init(); - --[[linux-4.4.1/cacheid_init()]] --[[linux-4.4.1/cpu_init()]] } *コメント [#k620f0f1]