Dear all,

 

I have a big problem about porting Linux-2.6.22.-uc0 to Winbond W90N740.
When get_irqnr_and_base is implemented as following, the listed error will
occurred. Is this get_irqnr_and_base  mistake? The error prompts "Flags:
nZCv  IRQs off  FIQs on  Mode SVC_32  Segment kernel", but the error is
occurred in __irq_svc, why does the Flag prompt "IRQs off"? 

 

/*

 *  include/asm/arch-w90n740/entry-macro.S

 *

 *  defines machine dependent entry macros.

 *  included in the arch/arm/kernel/entry-armv.S

 */

#include <asm/mach-types.h>

#include <asm/arch/hardware.h>

#ifndef CONFIG_ARCH_W90N740

#error "Did not defined WINBOND W90N740"

#endif

         .macro get_irqnr_preamble base, tmp

         /* FIXME */

         .endm

 

        .macro  disable_fiq

         /* FIXME */

        .endm

 

         .macro arch_ret_to_user base, tmp

         /* FIXME */

         .endm

 

         .macro get_irqnr_and_base, irqnr, irqstat, base, tmp

         mov          \irqnr, #0

         ldr     r10, =AIC_IPER

         ldr     r10,[r10]

         ldr     \tmp, =AIC_ISNR

         ldr     \tmp,[\tmp]

         mov r9,#0

         add  r9,r9, r10, LSR#2

         cmp r10, \tmp

         bne  99f

         mov \irqnr, \tmp

99:

         .endm

 

The error is occurred when the system execute 'root=' option. BTW, Kernel
command line is" init=/linuxrc console=ttySA0,115200 mem=32MB
root=/dev/mtdblock2"

Freeing init memory: 44K

Memory configure register: 000010F5

Warning: unable to open an initial console.

Try to execute /linuxrc

Unhandled fault: vector exception (0x800) at 0x00000000

Internal error: : 800 [#1]

CPU: 0    Not tainted  (2.6.22-uc0 #58)

PC is at __irq_svc+0x58/0x80

LR is at __init_begin+0xffff8000/0x2c

pc : [<00013a58>]    lr : [<00000000>]    psr: 60000093

sp : 00757f68  ip : 00757f48  fp : 0079ff14

r10: 00000000  r9 : 00000000  r8 : 20000010

r7 : ef900003  r6 : 00000000  r5 : 00757f9c  r4 : ffffffff

r3 : 00000000  r2 : 00000001  r1 : 00757ef0  r0 : 00000000

Flags: nZCv  IRQs off  FIQs on  Mode SVC_32  Segment kernel

Process linuxrc (pid: 1, stack limit = 0x00756258)

Stack: (0x00757f68 to 0x00758000)

7f60:                   00000000 0079ff27 00000001 00796680 00796680
00796670 

7f80: 00000000 ef900003 20000010 000003ab 00796660 0079ff14 0079ff18
00757fb0 

7fa0: 007928a0 00013e4c 20000013 ffffffff 00000000 0079ff27 00000001
00796680 

7fc0: 00796680 00796670 00000000 00000000 00000000 00000003 00796660
0079ff14 

7fe0: 0079ff18 0079ff04 00790170 007928a0 20000010 00000000 07008980
42201b00 

Backtrace: 

Code: e1a0000e 11a0100d 124fe034 1afffd69 (e5878000) 

Kernel panic - not syncing: Attempted to kill init!

_______________________________________________
uClinux-dev mailing list
[email protected]
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by [email protected]
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to