$ grep -r 'non-linefetch' .
バイナリを除くと、
- arch/arm/mach-ks8695/pci.c
- arch/arm/mach-integrator/pci_v3.c
- arch/arm/mm/fault.c
fault.cには、"non-linefetch"という言葉が3つ出てくる。
このfault.cは、文字列の定義くらいなので、何が理由なのかは分からない。
残りの2ファイルでは、hook_fault_code()を使っているみたいだ。
これの第1引数が、fault.cにある文字列配列の添字と一致しているのだろう。
hook_fault_code(8, ...)とか、hook_fault_code(10, ...)とか。
なんなのかはわからないけど、そういうことだ。
もう1つわからないけど、"non-linefetch"だけでなく"linefetch"という文言もある。
nonだろうとなかろうと、エラー原因になるらしい。
さて、なんなのだろうねぇ。
ARMの本家サイトからの情報を載せておこう。
6.2.4 Linefetch transfers
ほかにもいくつか。
ARM Fault Status Register Values (FSR register)
どうやら、FSRレジスタの値からエラー文字列に してくれたのが、あの文言のようだ。
MMUがらみってことか。
仮想アドレス空間で実アドレスをたたこうとしているとか、アラインメントがあってないとか?
[PATCH] USB: musb: omap2430: fix kernel panic on reboot
ふむ。そういえばrebootさせようとすると、カーネルパニックが起きていたな。
あれも同じ原因なのか?
kernel 2.6.38-rc4では修正したよ、ということのようだ。
私が使っているのは、2.6.32だから、可能性はあるな。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。