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