hi 2009/10/28 Mulyadi Santosa <mulyadi.santosa@xxxxxxxxx>: > Hi... > > On Tue, Oct 27, 2009 at 8:27 PM, loody <miloody@xxxxxxxxx> wrote: >> Dear all: >> I use kernel 2.6.18 and I get the kernel panic as below: >> Unhandled kernel unaligned access[#1]: >> Cpu 0 >> $ 0 : 00000000 11000001 0000040a 8721f0d8 >> $ 4 : 874a6c00 80001d18 00000000 00000000 >> $ 8 : 00000000 ffffa438 00000000 874c2000 >> $12 : 00000000 00000000 00005800 00011000 >> $16 : 80001d10 874a6c40 874a6c00 87d7bf00 >> $20 : 874a6c78 871a0000 87370000 874a6c80 >> $24 : 00000000 2aacc770 >> $28 : 87d7a000 87d7be88 ffffa438 8709ed20 >> Hi : 00000000 >> Lo : 00000000 >> epc : 8709e72c sync_sb_inodes+0x9c/0x320 Not tainted >> ra : 8709ed20 writeback_inodes+0xb4/0x160 > > Hmmm, your machine is not x86, is it? So, I guess this panic is caused > by unaligned memory access. Yes, my machine is mips machine. if do_ade in unaligned.c is a trap, where do we register it? I grep the source code but I only find the definition but cannot get the place where we register the trap. Does it have any relationship with the word 'asmlinkage'? I know init is the keyword for init section. but what does asmlinkage mean? > AFAIK, in certain architecture, accessing memory at address not a > multiple of its word size might cause trap. So, for example if it is a > CPU with 4 byte word size, then accessing memory at 0x00000005 will > cause panic. > > >> my questions are: >> 1. what does "Not tainted" mean? > > AFAIK, it means no non GPL-ed kernel module are currently inserted. > >> 2. I grep the kernel and I find the above message comes from do_ade in >> unaligned.c, If I guess correctly. >> but from the call trace I cannot find out who call it. >> who and how kernel pass the information to do_ade? > > Likely it is part of trap handler.... thus it is installed as interrupt handler. > > > -- appreciate your help, miloody