*参照元 [#k99f264a] #backlinks *説明 [#w7216960] -パス: [[linux-2.6.33/arch/arm/include/asm/proc-fns.h]] -コンフィグに対応した CPU の名前を定義する。 -複数のコンフィグが有効になっている場合は、 複数 CPU 対応コードを生成しようとしていると判断され、 MULTI_CPU が #define され有効になる。 --[[linux-2.6.33/MULTI_CPU]] -MULTI_CPU が定義されているときの CPU_NAME は、 一番優先度の高い CPU 名が定義される。 --優先度は「参考」の章にある表を参照のこと。 上が優先度高、下が優先度低である。 **参考 [#dd6439e2] -各コンフィグと対応する CPU_NAME の定義は下記の通り。 | CONFIG | CPU_NAME | | CONFIG_CPU_ARM610 | cpu_arm6 | | CONFIG_CPU_ARM7TDMI | cpu_arm7tdmi | | CONFIG_CPU_ARM710 | cpu_arm7 | | CONFIG_CPU_ARM720T | cpu_arm720 | | CONFIG_CPU_ARM740T | cpu_arm740 | | CONFIG_CPU_ARM9TDMI | cpu_arm9tdmi | | CONFIG_CPU_ARM920T | cpu_arm920 | | CONFIG_CPU_ARM922T | cpu_arm922 | | CONFIG_CPU_FA526 | cpu_fa526 | | CONFIG_CPU_ARM925T | cpu_arm925 | | CONFIG_CPU_ARM926T | cpu_arm926 | | CONFIG_CPU_ARM940T | cpu_arm940 | | CONFIG_CPU_ARM946E | cpu_arm946 | | CONFIG_CPU_SA110 | cpu_sa110 | | CONFIG_CPU_SA1100 | cpu_sa1100 | | CONFIG_CPU_ARM1020 | cpu_arm1020 | | CONFIG_CPU_ARM1020E | cpu_arm1020e | | CONFIG_CPU_ARM1022 | cpu_arm1022 | | CONFIG_CPU_ARM1026 | cpu_arm1026 | | CONFIG_CPU_XSCALE | cpu_xscale | | CONFIG_CPU_XSC3 | cpu_xsc3 | | CONFIG_CPU_MOHAWK | cpu_mohawk | | CONFIG_CPU_FEROCEON | cpu_feroceon | | CONFIG_CPU_V6 | cpu_v6 | | CONFIG_CPU_V7 | cpu_v7 | --[[linux-2.6.33/CONFIG_CPU_ARM610]] --[[linux-2.6.33/CONFIG_CPU_ARM7TDMI]] --[[linux-2.6.33/CONFIG_CPU_ARM710]] --[[linux-2.6.33/CONFIG_CPU_ARM720T]] --[[linux-2.6.33/CONFIG_CPU_ARM740T]] --[[linux-2.6.33/CONFIG_CPU_ARM9TDMI]] --[[linux-2.6.33/CONFIG_CPU_ARM920T]] --[[linux-2.6.33/CONFIG_CPU_ARM922T]] --[[linux-2.6.33/CONFIG_CPU_FA526]] --[[linux-2.6.33/CONFIG_CPU_ARM925T]] --[[linux-2.6.33/CONFIG_CPU_ARM926T]] --[[linux-2.6.33/CONFIG_CPU_ARM940T]] --[[linux-2.6.33/CONFIG_CPU_ARM946E]] --[[linux-2.6.33/CONFIG_CPU_SA110]] --[[linux-2.6.33/CONFIG_CPU_SA1100]] --[[linux-2.6.33/CONFIG_CPU_ARM1020]] --[[linux-2.6.33/CONFIG_CPU_ARM1020E]] --[[linux-2.6.33/CONFIG_CPU_ARM1022]] --[[linux-2.6.33/CONFIG_CPU_ARM1026]] --[[linux-2.6.33/CONFIG_CPU_XSCALE]] --[[linux-2.6.33/CONFIG_CPU_XSC3]] --[[linux-2.6.33/CONFIG_CPU_MOHAWK]] --[[linux-2.6.33/CONFIG_CPU_FEROCEON]] --[[linux-2.6.33/CONFIG_CPU_V6]] --[[linux-2.6.33/CONFIG_CPU_V7]] *実装 [#i0aa9146] #ifdef CONFIG_CPU_ARM610 # ifdef CPU_NAME -既に別の CONFIG が CPU_NAME を定義している、 つまり 2つ以上の CONFIG が有効になっている場合。 # undef MULTI_CPU # define MULTI_CPU -二重定義エラーにならないように一旦 #undef する。 -複数 CPU 対応へと切り替える。 -二重定義エラーにならないように一旦 #undef し、 MULTI_CPU を定義(=複数 CPU 対応)する。 # else # define CPU_NAME cpu_arm6 -まだいずれの CONFIG も有効になっていない場合は CPU_NAME を定義する。 こちらに来るのは下記のどちらかの場合である。 --単一の CONFIG しか定義されていない場合。 --複数の CONFIG が定義されている中で、一番優先度の高い CONFIG である場合。 # endif #endif -以下、同じ形式の #ifdef CONFIG_xxxx 〜 #endif が CONFIG の数だけずっと続く -以下、同じ形式の #ifdef CONFIG_xxxx 〜 #endif が、 CONFIG の数だけ続くだけなので省略する。 *コメント [#jd02d134]