[Suzaku:01526] Re: エラー表示の解析方法について
mizo
email@hidden
2009年 6月 24日 (水) 09:36:08 JST
溝渕です。
菊地 義和 wrote:
> Registers dump: mode=1
>
> r1=C0024B5C, r2=00000000, r3=00000080, r4=C1C6FEAC
> r5=C01BC56C, r6=C1C6FEA0, r7=00000001, r8=000061A2
> r9=C07B47A4, r10=000061A0, r11=0000000D, r12=8000003E
> r13=00000000, r14=10001EC8, r15=C00D15D0, r16=00000001
> r17=00000001, r18=00000000, r19=C00CFCD8, r20=00001000
> r21=00000000, r22=C204C000, r23=8060C000, r24=00000000
> r25=000061A2, r26=81000000, r27=FFFFA83C, r28=80000000
> r29=00000003, r30=C00D1564, r31=C07B47A4, rPC=C0024B5C
> ear=00000084, esr=00000C92
> Oops: kernel access of bad area, sig: 11
> Registers dump: mode=1
>
> r1=C0024B5C, r2=00000000, r3=00000080, r4=C1C6FEAC
> r5=C01BC56C, r6=C1C6FEA0, r7=00000001, r8=000061A2
> r9=C07B47A4, r10=000061A0, r11=0000000D, r12=8000003E
> r13=00000000, r14=10001EC8, r15=C00D15D0, r16=00000001
> r17=00000001, r18=00000000, r19=C00CFCD8, r20=00001000
> r21=00000000, r22=C204C000, r23=8060C000, r24=00000000
> r25=000061A2, r26=81000000, r27=FFFFA83C, r28=80000000
> r29=00000003, r30=C00D1564, r31=C07B47A4, rPC=C0024B5C
> ear=00000084, esr=00000C92
>
> 不具合解析するためには上記内容をどのように見るとよいのでしょうか。
> CPUのマニュアルからおおよそ次のことはわかりましたが
> デバグする上で、どのように見たらよいのかわかりません。
C言語のままレジスタダンプとの対応を見るのは厳しいので、まずカーネルを逆
アセンブルします。
[ATDE]$ cd linux-2.6.x
[ATDE]$ microblaze-linux-gnu-objdump -dx vmlinux
rPCがプログラムカウンタです。逆アセンブルしたコード上でどの場所になって
いるかを確認してみてください。
> Oops: kernel access of bad area, sig: 11
と出力されていたので、エラーが発生した原因が「使用してはいけない空間にア
クセスしたこと」であることがわかります。
suzaku メーリングリストの案内