2009/10/28 Mulyadi Santosa <firstname.lastname@example.org>:
> On Tue, Oct 27, 2009 at 8:27 PM, loody <email@example.com> 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
appreciate your help,