2009-01-07から1日間の記事一覧

Linux 2.6/mipsのSMP実装について#2

ロック機構のSMP対応がどうなっているかについて確認。 /* * atomic_add - add integer to atomic variable * @i: integer value to add * @v: pointer of type atomic_t * * Atomically adds @i to @v. */ static __inline__ void atomic_add(int i, atomic…

Linux 2.6/mipsのSMP実装について

linuxは全然知らんので、カーネルの起動シーケンスから確認。まず、kernel_entryから起動する。 j start_kernel END(kernel_entry) kernel_entryからstart_kernel()が呼ばれる。 asmlinkage void __init start_kernel(void) { char * command_line; extern s…

NetBSD-5.0BETA/macppcのSMP実装ーCPU初期化以外の部分について

読んでみたらi386より簡単そうだったので、こちらをもう少し読み進める事にする。SMP対応のコードってどんな所に散らばってるんだろうか?とMULTIPROCESSORでgrepしてみると、まぁ大体こんな感じである: bash-3.2$ grep MULTIPROCESSOR -r arch/powerpc arc…

NetBSD-5.0BETA/macppcのSMP実装を駆け足で#2

駆け足でみていったらやっぱり抜けが有ったので、引き続きmacppcについて眺めてみようと思う。 /* * Initialize cpu_info[0] */ INIT_CPUINFO(4,1,9,0) lis 3,__start@ha addi 3,3,__start@l mr 5,6 /* args string */ bl _C_LABEL(initppc) locore.Sのエン…