Hi Wolfgang

Thanks for the reply...

> Decode the backtrace (see
ftp://ftp.denx.de/pub/tools/backtrace)

Which I did - but what does it tell me...and why so many
unknown addresses?:

###################################################################################
###################################################################################
.....
.....
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 1024)
eth0: config: auto-negotiation on, 100FDX, 100HDX, 10FDX,
10HDX.
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
Looking up port of RPC 100003/2 on 172.17.5.125
Looking up port of RPC 100005/2 on 172.17.5.125
VFS: Mounted root (nfs filesystem).
Freeing unused kernel memory: 48k init
Machine check in kernel mode.
Caused by (from SRR1=49030): Transfer error ack signal
Oops: machine check, sig: 7
NIP: C000D594 XER: 20000000 LR: C0040238 SP: C0EE1DB0 REGS:
c0ee1d00 TRAP: 0200
MSR: 00049030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
TASK = c0ee0000[8] 'modprobe' Last syscall: 5
last math c0ee0000 last altivec 00000000
GPR00: 00000040 C0EE1DB0 C0EE0000 C0EDE000 0FFE0C58
00001000 C0EDDFFF 0FFDF304
GPR08: C01F25C0 00000000 C0EDE000 00000001 24888088
1003A1A8 00FFB000 007FFF79
GPR16: C013B478 C013B578 C0EE1F08 84888024 00009032
00EE1DF0 00000000 C0003DE4
GPR24: C0003B20 0FFEAA94 0FFED6A0 100389E8 00000008
C0EDE000 00001000 0FFE0C58
Call backtrace:
C00401C8 C0033434 C0003B7C 00000000 0FF1A05C 0FF4FBF8
0FF4EA04
0FF4F858 0FF4C4C8 0FF85B60 0FF85998 10015108 0FEE67B8
0FECFF74
00000000

***********************************************************************************
The backtrace:
***********************************************************************************
0xc00401c8 -- 0xc00401a0 + 0x0028   Letext
0xc0033434 -- 0xc0033418 + 0x001c   sys_open
0xc0003b7c -- 0xc0003b7c + 0x0000   ret_from_syscall_1
0x00000000 -- unknown address
0x0ff1a05c -- unknown address
0x0ff4fbf8 -- unknown address
0x0ff4ea04 -- unknown address
0x0ff4f858 -- unknown address
0x0ff4c4c8 -- unknown address
0x0ff85b60 -- unknown address
0x0ff85998 -- unknown address
0x10015108 -- unknown address
0x0fee67b8 -- unknown address
0x0fecff74 -- unknown address
***********************************************************************************

INIT: version 2.78 booting
Machine check in kernel mode.
Caused by (from SRR1=49030): Transfer error ack signal
Oops: machine check, sig: 7
NIP: C000D594 XER: 20000000 LR: C0040238 SP: C01F1DF0 REGS:
c01f1d40 TRAP: 0200
MSR: 00049030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11
TASK = c01f0000[1] 'init' Last syscall: 33
last math 00000000 last altivec 00000000
GPR00: 00000040 C01F1DF0 C01F0000 C0E7E000 0FFE6DA8
00001000 C0E7DFFF FEFEFEFF
GPR08: C01F25E0 00000000 C0E7E000 00000001 4444408D
1001F5A8 00FFB000 007FFF79
GPR16: 00000001 00000000 007FFF00 10010000 00009032
001F1E70 00000000 C0003DE4
GPR24: C0003B20 10006BF0 7FFFFAD8 00000000 C01F1E38
C0E7E000 00001000 0FFE6DA8
Call backtrace:
C00401C8 C00417FC C0032784 C0003B7C 3000B178 0FFB5D08
0FFB5F6C
1000660C 10006690 10003384 10004328 10005C64 10006088
0FECFF70
00000000

***********************************************************************************
The backtrace:
***********************************************************************************
0xc00401c8 -- 0xc00401a0 + 0x0028   Letext
0xc00417fc -- 0xc00417e0 + 0x001c   __user_walk
0xc0032784 -- 0xc003271c + 0x0068   sys_access
0xc0003b7c -- 0xc0003b7c + 0x0000   ret_from_syscall_1
0x3000b178 -- unknown address
0x0ffb5d08 -- unknown address
0x0ffb5f6c -- unknown address
0x1000660c -- unknown address
0x10006690 -- unknown address
0x10003384 -- unknown address
0x10004328 -- unknown address
0x10005c64 -- unknown address
0x10006088 -- unknown address
0x0fecff70 -- unknown address
***********************************************************************************

Kernel panic: Attempted to kill init!
Rebooting in 1 seconds..


###################################################################################
###################################################################################


> To me it seems that you should check your memory  map.

Well I only map the internal dpram and the flash in init.c;

***********************************************************************************
        case _MACH_8260:
                setbat(0, IMAP_ADDR, IMAP_ADDR, 0x1000000, IO_PAGE);            
        /*
Internal regs */
                setbat(1, 0xf0000000, 0xf0000000, 0x10000000,
IO_PAGE);               /* FLASH */
                ioremap_base = IMAP_ADDR;
        break;
***********************************************************************************

> For  example, where  is  the  IMMR  mapped?

Here are excerpts from my BDI config file;
***********************************************************************************
WREG    MSR             0x00001002      ; default MSR
WM32    0x000101A8      0x0F000000      ; IMMR  == 0x0F000000, move
internal memspace to 0x0F000000
WM32    0x0F010004      0xFFFFFFC3      ; SYPCR == no watchdog
WM32    0x0F010C80      0x00000019      ; SCCR  == normal operations
WM32    0x0F010024      0x100C0000      ; BCR   == single mode

;       CHIP SELECT     BASE ADDRESS    SIZE     BUS    PORT SIZE       COMMENTS
;       -----------     ------------    ----    -----   ---------       --------
;          #CS0          0xFF000000     16MB     60x      64 bits       16MB 
FLASH
;          #CS1          0x00000000     16MB     60x      32bits        16MB 
SDRAM
;          #CS2          0xE2000000     16 B    Local      8 bits       16 B RTC
;          #CS3          0xE3000000      8 B    Local     16 bits        8 B USB
;          #CS4          0xE4000000      1 B    Local      8 bits        1 B CAN
;          #CS5          0xE5000000     16 B    Local      8 bits       16 B 
ARCNET
;          #CS6          0xE6000000     16MB    Local     32 bits       16MB 
FPGA
;
WM32    0x0F010100      0xFF000001      ; BR0 - FLASH
WM32    0x0F010104      0xFF001047      ; OR0 - FLASH

WM16    0x0F010184      0x2000  ; MPTPR: Divide bus clock by 32
WM8     0x0F01019C      0x20            ; PSRT(Local bus SDRAM Refresh Timer):
Divide MPTPR output by 30

WM32    0x0F01010C      0xFF0030C0      ; OR1 - SDRAM
WM32    0x0F010108      0x00001841      ; BR1 - SDRAM 0x00001841

WM32    0x0F010190      0xAA66B552      ; PSDMR: Precharge all banks E
WM32    0x00000000      0xFF            ; Access SDRAM
WM32    0x0F010190      0x8A66B552      ; PSDMR: CBR Refresh C
WM8     0x00000000      0xFF            ; Access SDRAM
WM8     0x00000000      0xFF            ; Access SDRAM
WM32    0x0F010190      0x9A66B552      ; PSDMR: Mode Set D
WM8     0x00000000      0xFF            ; Access SDRAM
WM32    0x0F010190      0xC266B552      ; PSDMR: enable refresh, normal
C36AB552
WM8     0x00000000      0xFF            ; Access SDRAM

WM32    0x0F010114      0xFF001CF6      ; OR2 - RTC
WM32    0x0F010110      0xE2000821      ; BR2 - RTC
WM32    0x0F01011C      0xFF001047      ; OR3 - USB
WM32    0x0F010118      0xE3001021      ; BR3 - USB
WM32    0x0F010124      0xFF001CF6      ; OR4 - CAN
WM32    0x0F010120      0xE4000821      ; BR4 - CAN
WM32    0x0F01012C      0xFF001047      ; OR5 - ARCNET
WM32    0x0F010128      0xE5001021      ; BR5 - ARCNET
***********************************************************************************

> Did you make sure to put it at a "high" address?

Is 0x0F000000 high enough? Do you have a better suggestion?

Furthermore, if I disable the 60x Busmonitor (i.e. write
0xFFFFFF34 to SYPCR at startup), I do not get the oops, but
the system only hangs after freeing init memory....does
this mean that the problem lies with my 60x bus
(SDRAM/FLASH)?

Thanks

Etienne

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/



Reply via email to