linux-mips
[Top] [All Lists]

[Help] R3000 CPU porting, Oops while run app

To: linux-mips@linux-mips.org
Subject: [Help] R3000 CPU porting, Oops while run app
From: arrow zhang <arrow.ebd@gmail.com>
Date: Tue, 17 Aug 2010 08:28:17 +0800
Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:date:message-id :subject:from:to:content-type; bh=xtvXa5VNjRId1BGnH4OCbPXnBO04KBfB0XC3yKsp4yU=; b=TTx7DgS0cSX2QNsUPEFL+NH4K4ZeFLp7US9u751BmR3rlw+CNoQ7w8rBHqiPbkzFQS qUTm1dByJCOQOTmoNeaT/ja41ZJVri6PiJrT3wZrhNzO/ieKem+5Xilpza6Q9c/KV2M1 vHmFeCC8PQfc0DeynnrXWVnNsAJ7JFo3520jg=
Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type; b=BqCsDERYTYeGljLA5U19Ena5XWFoZkqMFKgHjsXF92c3buLF3I3quVzT52fFeaObCc uflAkvcAR20mwcP/Xb0sQPHg/tzYoFEShZYPdO04j1x79SwldRVPXzclBHbfaBl9j0yJ BZcsiE9XyulgLp5E4Rqb1FyU64lykKjrHae1I=
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
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
* kernel version linux-2.6.32.16
* 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

<Prev in Thread] Current Thread [Next in Thread>