2010-05-01から1ヶ月間の記事一覧

cpu1にIPIがかからないずら。

現状: cpu1でクロック割り込みはかかる cpu0→cpu0のIPIはかかる cpu1→cpu0のIPIはかかる cpu1→cpu1のIPIはかからない cpu0→cpu1のIPIはかからない 何となく、割り込みコントローラへの設定などなどがしくってるような気がするけど、IMR0の値もステータスレ…

【教えてJavaのエロい人】java.nio.channels.FileLockで共有ロック出来ねぇんですけど

試しにこんなコード書いてみたんですけど、共有ロックの時にも排他ロックがかかってるようにしか見えないんすよね…。内容としては、以下の処理を順にやってるつもり: a.dat, b.datへ書き込むスレッドを4つづつ作って排他ロック、a.datだったら書込み後に30…

dynamic_pager hack on Snow Leopard

dan kogai氏のblogに書かれてたswap抑制ハックネタ(404 Blog Not Found:Mac OS X Leopard - dynamic_pager を骨抜きに)だが、ここに乗ってるMakefileをそのまま使ってコンパイルしようとするとSnow Leopardでは失敗する。 10.4 SDKが存在しないからだ。な…

IPI

Linuxを参考に、IPIのIRQをヘッダに足してみる。 Index: hub.h =================================================================== RCS file: /cvs/src/sys/arch/sgi/xbow/hub.h,v retrieving revision 1.7 diff -u -p -r1.7 hub.h --- hub.h 8 Nov 2009…

割り込みコントローラへのSMP対応コード

全く動作確認取ってないしコンパイルすら通してないけど、俺のゴーストはこれで大丈夫とささやいてるから多分大体あってるはず。 アクセスするレジスタ類はLinuxのip27のコードに合わせて、interm,imaskの配列化は以前ip30向けに実装したコードを参照。 Inde…

Exceptionはハンドル出来てるぽ

hw_cpu_hatch()で割り込み有効にしてbreakかけてddbが上がるかどうか確かめればExceptionをハンドルしてtrap出来てるか分かるという単純極まりない事実に気づいて早速試してみる。 /* * Build proper TLB refill handler trampolines. */ extern void xtlb_m…

Origin 350のセカンダリプロセッサ起動パッチを投げた

この間の起動テストコードに、CPU初期化時にセカンダリプロセッサを探してnasid, physidをstruct cpu_hwinfo secondarycpu_hwinfo[MAXCPUS]に保存し、後でこれを見に行って順に起こすというコードを足した。 でもbootcpu_hwinfoとsecondarycpu_hwinfo[]が分…

CAlias

第四回 カーネル/VM探検隊でも話した通り、Originのメモリレイアウトでは物理メモリの先頭64KBずつが各プロセッサで排他的に使えるメモリ領域として割り当てられており、実際の位置に関わらず物理アドレスは0x0になっている。 ので、Exception Vectorがこの…