Dears, * I'm encounter a oops error while run the userspace application * I tried to porting the openwrt to a R3000 cpu, which will be a new router but can not buy on market yet * Would like you give me some advice, thanks * below is some messages (detail refer to enclosed file) {{{ arrow, plat_irq_dispatch: 127, cpuint_ip: 0x800, extint: 0x1000, Call Trace: [<80005388>] dump_stack+0x8/0x38 [<8000924c>] plat_irq_dispatch+0x60/0x294 [<80000424>] ret_from_irq+0x0/0x4 [<80163a7c>] uart_start+0xa4/0xc0 [<80165f6c>] uart_write+0x12c/0x15c [<8015a5e8>] n_tty_write+0x300/0x504 [<80156b30>] tty_write+0x1bc/0x294 [<80096348>] vfs_write+0xc0/0x190 [<80096564>] sys_write+0xa8/0x118 [<800022f4>] stack_done+0x20/0x3c CPU 0 Unable to handle kernel paging request at virtual address 00000000, epc == 00000000, ra == 800092a4 Oops[#1]: Cpu 0 $ 0 : 00000000 1000ff00 8029b674 00000000 $ 4 : 0000000c 8029b674 00000001 000076fa $ 8 : 0000000a 00000000 00000001 64000000 $12 : 24000000 03bd0000 03bf0000 ac000000 $16 : 00001000 00000800 00000800 80240000 $20 : 1000ff01 81a42c1d 00000fff 8187c000 $24 : ffffffff 80168080 $28 : 81a70000 81a71cf8 8187c0e0 800092a4 Hi : 00000000 Lo : 000003c0 epc : 00000000 (null) Not tainted ra : 800092a4 plat_irq_dispatch+0xb8/0x294 Status: 1000ff00 Cause : 00000808 BadVA : 00000000 }}} * the plat_irq_dispatch code as below {{{ asmlinkage void plat_irq_dispatch(void) { unsigned int cpuint_ip = read_c0_cause() & read_c0_status() & ST0_IM; unsigned int extint_ip = REG32(GIMR) & REG32(GISR); printk("arrow, %s: %d, cpuint_ip: 0x%x, extint: 0x%x, \n", __func__, __LINE__, cpuint_ip, extint_ip); dump_stack(); if (cpuint_ip & CAUSEF_IP7) { /* Timer 0 */ do_IRQ(TC0_IRQ); } else if (cpuint_ip & CAUSEF_IP3) { /* UART 0 */ do_IRQ(UART0_IRQ); } else if (cpuint_ip & CAUSEF_IP6) { /* MAC2- External Ethernet */ do_IRQ(SW_IRQ); } else if (cpuint_ip & CAUSEF_IP2) { /* For shared interrupts */ printk("arrow, %s: %d, extint_ip: 0x%x\n", __func__, __LINE__, extint_ip); if (extint_ip & TC1_IP) { do_IRQ(TC1_IRQ); } else if (extint_ip & UART1_IP) { do_IRQ(UART1_IRQ); } else if (extint_ip & USB_D_IP) { do_IRQ(USB_D_IRQ); } else if (extint_ip & USB_H_IP) { do_IRQ(USB_H_IRQ); } else if (extint_ip & NIC100_IP) { do_IRQ(NIC100_IRQ); } else if (extint_ip & SAR_IP) { do_IRQ(SAR_IRQ); } else if (extint_ip & DMT_IP) { do_IRQ(7); } else { printk("Unknown Interrupt extint_ip (%x)\n", extint_ip); } } else { printk("Unknown Interrupt cpuint_ip (%x)\n", cpuint_ip); } } }}}
Attachment:
014.dump.open.write.bt
Description: Binary data