*参照元 [#l272b436] #backlinks *説明 [#c8bdea1f] -パス: 複数あり --複数 CPU アーキテクチャ対応版: [[linux-2.6.33/arch/arm/include/asm/cpu-multi32.h]] --単一 CPU アーキテクチャ対応版: [[linux-2.6.33/arch/arm/include/asm/cpu-single.h]] -FIXME: これは何? --説明 **引数 [#ba6ba876] -pgd -- -mm -- **返り値 [#ned3ca9a] - -- **参考 [#t1662877] -switch_mm の関数群 --ARMv6 版: [[linux-2.6.33/cpu_v6_switch_mm()]] --ARMv7 版: [[linux-2.6.33/cpu_v7_switch_mm()]] *実装 [#ha3aff96] **複数 CPU アーキテクチャ対応版: cpu-multi32.h [#e95b5c27] #define cpu_do_switch_mm(pgd,mm) processor.switch_mm(pgd,mm) -processor は struct processor 型のグローバル変数 --[[linux-2.6.33/processor(global)]] - --[[linux-2.6.33/processor]] **単一 CPU アーキテクチャ対応版: cpu-single.h [#ub366096] #define cpu_do_switch_mm __cpu_fn(CPU_NAME,_switch_mm) -CPU_NAME と _switch_mm を連結する。 --[[linux-2.6.33/CPU_NAME]] --[[linux-2.6.33/__cpu_fn()]] 例: CONFIG_CPU_ARM610 が有効だった場合 CPU_NAME は armv6 例: CONFIG_CPU_ARM610 のみ有効だった場合 ---------------------------------------- CPU_NAME は cpu_arm6 となるので、 cpu_do_switch_mm は cpu_arm6_switch_mm に置換される。 *コメント [#s75c4a41]