*参照元 [#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]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS