[U-Boot] Got trap No.23 when booting mips32

wilbur.chan wilbur512 at gmail.com
Wed Oct 21 16:51:43 CEST 2009


Hi all,


I've got some problem when booting mips32 in kernel.

I know this is uboot maillist , but I think people here may be more
famililar with booting,so I post here for your help :D




I got a No.23 trap when calling start_kernel --->  local_irq_enable :


irq 23, desc: 802a98a0, depth: 1, count: 0, unhandled: 0
->handle_irq():  80148c6c, handle_bad_irq+0x0/0x2b4
->chip(): 8029f738, 0x8029f738
->action(): 00000000
 IRQ_DISABLED set
unexpected IRQ # 23


No.23 trap is a Watch trap, which means that, when

"Physical address of load/store matched enabled value in


WatchLo/ WatahHi registers."---<see mips sun>   happened, a No.23 trap
was triggered by cpu.


So I used macro

__u32 watch_regh0= read_c0_watchhi0();
__u32 watch_regl0= read_c0_watchlo0();

to retrieve value from WatchHi and WatchLo register,  found them 0x1 and 0x0

respectively,which mean that ,'r' together with  'w' bits were set to
zero and no trap should be triggered.


But now , I got a 23 trap, why ?


At last , I used  to set WatchHi to 0x0, but failed , and found it
still 0x1 after

calling write_c0_watchhi0(0)


Any suggestion would be grateful.

regards


More information about the U-Boot mailing list