*参照元 [#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; /* * 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); } cpu_name = list->cpu_name; __cpu_architecture = __get_cpu_architecture(); #ifdef MULTI_CPU processor = *list->proc; #endif #ifdef MULTI_TLB cpu_tlb = *list->tlb; #endif #ifdef MULTI_USER cpu_user = *list->user; #endif #ifdef MULTI_CACHE cpu_cache = *list->cache; #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()); 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; cpuid_init_hwcaps(); #ifndef CONFIG_ARM_THUMB elf_hwcap &= ~(HWCAP_THUMB | HWCAP_IDIVT); #endif #ifdef CONFIG_MMU init_default_cache_policy(list->__cpu_mm_mmu_flags); #endif erratum_a15_798181_init(); elf_hwcap_fixup(); cacheid_init(); cpu_init(); } *コメント [#k620f0f1]