[Suzaku:01533] Re: エラー表示の解析方法について
mizo
email@hidden
2009年 6月 24日 (水) 17:59:32 JST
溝渕です。
菊地 義和 wrote:
> エラーの内容は次のとおりで、rPC,R5,R7の内容は同じです。
> Registers dump: mode=1
> r1=C0045BF0, r2=00000000, r3=00000131, r4=C1C6E000
> r5=00000080, r6=00000020, r7=00000000, r8=C1C6FDFC
> r9=C2048300, r10=00000000, r11=C0001DA0, r12=8000003E
> r13=00000000, r14=00000002, r15=C00EE978, r16=00000000
> r17=00000000, r18=00001000, r19=C1C6FC54, r20=C0018554
> r21=00000000, r22=C001983C, r23=C0021E20, r24=C07B47A4
> r25=C0018CFC, r26=00000000, r27=C1C6FD6C, r28=00000002
> r29=C01BA1B8, r30=00000000, r31=C07B47A4, rPC=C0045BF0
> ear=00000080, esr=000008F2
> Oops: kernel access of bad area, sig: 11
> Registers dump: mode=1
> r1=C0045BF0, r2=00000000, r3=00000131, r4=C1C6E000
> r5=00000080, r6=00000020, r7=00000000, r8=C1C6FDFC
> r9=C2048300, r10=00000000, r11=C0001DA0, r12=8000003E
> r13=00000000, r14=00000002, r15=C00EE978, r16=00000000
> r17=00000000, r18=00001000, r19=C1C6FC54, r20=C0018554
> r21=00000000, r22=C001983C, r23=C0021E20, r24=C07B47A4
> r25=C0018CFC, r26=00000000, r27=C1C6FD6C, r28=00000002
> r29=C01BA1B8, r30=00000000, r31=C07B47A4, rPC=C0045BF0
> ear=00000080, esr=000008F2
> Kernel panic - not syncing: Aiee, killing interrupt handler!
> <0>Rebooting in 120 seconds..
lwi r7, r5, 0
でエラーが発生しているのであれば、
r5=00000080
となっているので、0x80番地のデータを読み出そうとしてエラーが発生している
ことになりますね。
void *kmem_cache_alloc(struct kmem_cache *cachep, gfp_t flags)
から追っていくと、
linux-2.6.x/mm/slab.cの
____cache_alloc()が呼び出している
cpu_cache_get(cachep);
あたりでエラーが発生していることがわかります。
cpu_cache_getの引数cachepは、kmem_cache_alloc()の第1引数に与えられたもの
と同じです。
第一引数には、r5が使用されます。
メールに貼り付けられたコードからは、kmem_cache_alloc()がどこから呼ばれて
いるかがわかりませんが、参考にしてみてください。
suzaku メーリングリストの案内