http://www.ibm.com/developerworks/cn/linux/l-cn-watchdog/index.html#resources
附上一段bug信息:
[2098 : 2098 CRITICAL][utils.c:664]Erase flash at 0x00000000
[2098 : 2098 CRITICAL][utils.c:539]EraseFlashArea (0x0, 0x10000)
[2098 : 2098 CRITICAL][utils.c:561]EI Start is 0, size is 10000
[ 356.270000] BUG: soft lockup - CPU#0 stuck for 22s! [hostflasher:2098]
[ 356.270000] Modules linked in: videocap(O) hid(O) hdisk(O) floppy(O) ncsi(O) cdrom(O) usb1_hw(O) iUSB(O) usbe(O) bt_hw(O) bt(O) host_spi_flash_hw(O) host_spi_)
[ 356.270000]
[ 356.270000] CPU: 0 PID: 2098 Comm: hostflasher Tainted: P O 3.14.17-ami #1
[ 356.270000] task: c5fbbc20 ti: c4878000 task.ti: c4878000
[ 356.270000] PC is at ast_host_spi_flash_transfer+0x34/0x1dc [host_spi_flash_hw]
[ 356.270000] LR is at ast_host_spi_flash_transfer+0x28/0x1dc [host_spi_flash_hw]
[ 356.270000] pc : [] lr : [] psr: 60000013
[ 356.270000] sp : c4879c60 ip : 00000004 fp : c4879c84
[ 356.270000] r10: bf0e2348 r9 : 00000005 r8 : 00000000
[ 356.270000] r7 : 00000001 r6 : c4879c97 r5 : 00000001 r4 : c4879c96
[ 356.270000] r3 : cd946000 r2 : 7100d2e6 r1 : bf0e6730 r0 : 00000000
[ 356.270000] Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
[ 356.270000] Control: 00c5387d Table: 84808008 DAC: 00000015
[ 356.270000] CPU: 0 PID: 2098 Comm: hostflasher Tainted: P O 3.14.17-ami #1
[ 356.270000] Backtrace:
[ 356.270000] [] (dump_backtrace) from [] (show_stack+0x18/0x1c)
[ 356.270000] r6:c4879c18 r5:00000135 r4:c4879c18 r3:c04d2008
[ 356.270000] [] (show_stack) from [] (dump_stack+0x20/0x28)
[ 356.270000] [] (dump_stack) from [] (show_regs+0x24/0x2c)
[ 356.270000] [] (show_regs) from [] (watchdog_timer_fn+0xe0/0x130)
[ 356.270000] r4:c04dc9f8 r3:a3febb35
[ 356.270000] [] (watchdog_timer_fn) from [] (hrtimer_run_queues+0x120/0x1c0)
[ 356.270000] r9:1439d6a1 r8:3a814c28 r7:ffffffff r6:c04d9858 r5:c04d9858 r4:c04dca08
[ 356.270000] [] (hrtimer_run_queues) from [] (run_local_timers+0x10/0x1c)
[ 356.270000] r10:bf0e2348 r9:00000005 r8:00000000 r7:00000000 r6:00000000 r5:c5fbbc20
[ 356.270000] r4:c4878000
[ 356.270000] [] (run_local_timers) from [] (update_process_times+0x30/0x5c)
[ 356.270000] [] (update_process_times) from [] (timer_tick+0x30/0x38)
[ 356.270000] r6:00000010 r5:c04dacfc r4:c04d7fd0 r3:60000013
[ 356.270000] [] (timer_tick) from [] (ast_timer_interrupt+0x20/0x2c)
[ 356.270000] [] (ast_timer_interrupt) from [] (handle_irq_event_percpu+0x34/0x19c)
[ 356.270000] [] (handle_irq_event_percpu) from [] (handle_irq_event+0x30/0x40)
[ 356.270000] r10:bf0e2348 r9:00000005 r8:00000000 r7:c4879c4c r6:fe6c0000 r5:00000000
[ 356.270000] r4:c04dacfc
[ 356.270000] [] (handle_irq_event) from [] (handle_level_irq+0xc8/0xd8)
[ 356.270000] r4:c04dacfc r3:00020000
[ 356.270000] [] (handle_level_irq) from [] (generic_handle_irq+0x28/0x38)
[ 356.270000] r4:00000010 r3:c003f0d0
[ 356.270000] [] (generic_handle_irq) from [] (handle_IRQ+0x68/0x8c)
[ 356.270000] r4:00000010 r3:00000040
[ 356.270000] [] (handle_IRQ) from [] (asm_do_IRQ+0x10/0x14)
[ 356.270000] r5:60000013 r4:bf0e60e4
[ 356.270000] [] (asm_do_IRQ) from [] (__irq_svc+0x34/0x104)
[ 356.270000] Exception stack(0xc4879c18 to 0xc4879c60)
[ 356.270000] 9c00: 00000000 bf0e6730
[ 356.270000] 9c20: 7100d2e6 cd946000 c4879c96 00000001 c4879c97 00000001 00000000 00000005
[ 356.270000] 9c40: bf0e2348 c4879c84 00000004 c4879c60 bf0e60d8 bf0e60e4 60000013 ffffffff
[ 356.270000] [] (ast_host_spi_flash_transfer [host_spi_flash_hw]) from [] (host_spi_flash_unregister+0x9c/0x2f8 [host_spi_flash])
[ 356.270000] r8:00000000 r7:00000000 r6:c4879c96 r5:bf0e65e0 r4:01827fe5 r3:00000001
[ 356.270000] [] (host_spi_flash_unregister [host_spi_flash]) from [] (host_spi_flash_erase+0x1bc/0x294 [host_spi_flash])
[ 356.270000] r8:00010000 r7:bf0e65e4 r6:00010000 r5:bf0e65e0 r4:00000000
[ 356.270000] [] (host_spi_flash_erase [host_spi_flash]) from [] (part_erase+0x38/0x88)
[ 356.270000] r10:00000000 r9:00000000 r8:000001b8 r7:c34a68c0 r6:c89a5800 r5:00000000
[ 356.270000] r4:00000000
[ 356.270000] [] (part_erase) from [] (mtd_erase+0x78/0x8c)
[ 356.270000] r8:00010000 r7:c4879e9c r6:c34a68c0 r5:00000000 r4:00000000 r3:00010000
[ 356.270000] [] (mtd_erase) from [] (mtdchar_ioctl+0x46c/0xe94)
[ 356.270000] r9:c4878000 r8:c4878000 r6:c34a68c0 r5:c89a5800 r4:becd4b80 r3:00000000
[ 356.270000] [] (mtdchar_ioctl) from [] (mtdchar_unlocked_ioctl+0x34/0x4c)
[ 356.270000] r9:c4878000 r8:00000006 r7:40084d02 r6:becd4b80 r5:c3435820 r4:c04eeaf0
[ 356.270000] [] (mtdchar_unlocked_ioctl) from [] (vfs_ioctl+0x20/0x3c)
[ 356.270000] r7:40084d02 r6:00000006 r5:c929eaa0 r4:becd4b80
[ 356.270000] [] (vfs_ioctl) from [] (do_vfs_ioctl+0x4f8/0x54c)
[ 356.270000] [] (do_vfs_ioctl) from [] (SyS_ioctl+0x40/0x5c)
[ 356.270000] r9:c4878000 r8:00000006 r7:40084d02 r6:becd4b80 r5:c3435820 r4:c3435820
[ 356.270000] [] (SyS_ioctl) from [] (ret_fast_syscall+0x0/0x30)
[ 356.270000] r8:c00093a4 r7:00000036 r6:00010000 r5:00000000 r4:00010000 r3:00000001
from: http://blog.csdn.net/justlinux2010/article/details/8739395