I found the problem. It is because of memory configuration problem. I have misconfiged the memory organization. However it still made me confused that when configuration is wrong, U-boot can still detect memory as 64M and relocate itself to the area near 64M boundary.
======= 2004-05-19 11:19:00 Origianl message======= > I encountered a problem. > 1) Linux works fine on MPC8241 platform with 32Mbyte memory. (I used > swap partition in disk) > 2) When working in MPC8241 with 64Mbyte memory, system crash when > execuate memory-hungry program such as samba and lvm. The > following is the log info: > > First , U-boot relocates itself to 3fe1000 and works fine. > > Then, Transferring control to Linux (at address 00000000) ... > Loading kernel ......Memory BAT mapping: BAT2=64Mb, BAT3=0Mb, residual: 0Mb > Linux version 2.4.21 > ... > On node 0 totalpages: 16384 > zone(0): 16384 pages. > zone(1): 0 pages. > zone(2): 0 pages. > OpenPIC Version 1.2 (1 CPUs and 6 IRQ sources) at fdfcd000 > OpenPIC timer frequency is 66.000000 MHz > time_init: decrementer frequency = 16.000000 MHz > Calibrating delay loop... 106.49 BogoMIPS > Memory: 61860k available (1996k kernel code, 784k data, 84k init, 0k > highmem) > Dentry cache hash table entries: 8192 (order: 4, 65536 bytes) > Inode cache hash table entries: 4096 (order: 3, 32768 bytes) > Mount cache hash table entries: 512 (order: 0, 4096 bytes) > Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) > Page-cache hash table entries: 16384 (order: 4, 65536 bytes) > ......... > Freeing unused kernel memory: 84k init > INIT: version 2.84 booting > > After booting OK, when user access the system through samba or execute > lvm command, system crash. > lvm vgdisplay > Oops: kernel access of bad area, sig: 11 > NIP: C0046F3C XER: 00000000 LR: C0047E3C SP: C2C93E70 REGS: c2c93dc0 TRAP: > 0300 Not tainted >MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 >DAR: 0000008C, DSISR: 20000000 >TASK = c2c92000[577] 'lvm' Last syscall: 106 >last math c2c92000 last altivec 00000000 >GPR00: C0047E3C C2C93E70 C2C92000 00000000 00000001 C2C93F18 C3905010 C3FC0E20 >GPR08: C3905000 00000009 00001000 C23C6368 44000428 10075EF8 00000000 00000000 >GPR16: 00000000 00000000 00000000 00000000 00009032 02C93F40 00000000 C0005E90 >GPR24: C0005C00 00000001 00000009 C3905001 00000000 C2C93F18 C2C93F18 C3905000 >Call backtrace: >C2C93F18 C0047E3C C0047E84 C0048078 C00483E0 C0043B50 C0005C5C >00000008 1001FB14 1001FA6C 1001FB78 1001FA6C 1001FC64 1002046C >1001A67C 1001A788 10036A30 100131EC 10016118 1000BF6C 1000C800 >0FE7304C 00000000 > >This is the top command: > 7:07pm up 7 min, 1 user, load average: 0.03, 0.17, 0.12 >23 processes: 22 sleeping, 1 running, 0 zombie, 0 stopped >CPU states: 0.7 user, 0.5 system, 0.0 nice, 98.6 idle >Mem: 61944K av, 28132K used, 33812K free, 0K shrd, 1784K buff >Swap: 498004K av, 0K used, 498004K free 16504K cached > > PID USER PRI NI SIZE RSS SHARE STAT TIME COMMAND > 580 root 15 0 1108 1104 924 R 0.9 1.7 0:00 top > 1 root 8 0 540 540 484 S 0.0 0.8 1:08 init > 2 root 9 0 0 0 0 SW 0.0 0.0 0:00 keventd > 3 root 19 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU0 > 4 root 9 0 0 0 0 SW 0.0 0.0 0:00 kswapd > 5 root 9 0 0 0 0 SW 0.0 0.0 0:00 bdflush > 6 root 9 0 0 0 0 SW 0.0 0.0 0:00 kupdated > 8 root 9 0 0 0 0 SW 0.0 0.0 0:00 khubd > 12 root 9 0 0 0 0 SW 0.0 0.0 0:00 kcopyd > 7:08pm up 8 min, 1 user, load average: 0.00, 0.12, 0.10 >24 processes: 23 sleeping, 1 running, 0 zombie, 0 stopped >CPU states: 0.9 user, 0.0 system, 0.0 nice, 99.0 idle >Mem: 61944K av, 29500K used, 32444K free, 0K shrd, 1804K buff >Swap: 498004K av, 0K used, 498004K free 17540K cached > >Oops: kernel access of bad area, sig: 11 >NIP: C003D210 XER: 00000000 LR: C003E410 SP: C2C93E30 REGS: c2c93d80 TRAP: >0300 Not tainted >MSR: 00009032 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 >DAR: 2BC1BFB7, DSISR: 20000000 >TASK = c2c92000[586] 'smbd' Last syscall: 4 >last math c2c92000 last altivec 00000000 >GPR00: 00000D4C C2C93E30 C2C92000 2BC1BFB3 0003AE16 00001000 00000303 00000FFF >GPR08: 0003AE16 C02A0000 00E82B8B C03A4D4C 44000862 100FAC68 00000000 C26338AC >GPR16: C2CCC240 C0067968 C2C93E48 00001000 00000000 C23A0000 C2633840 00000001 >GPR24: 0000002F C3134360 00000000 C0340094 00000FBF C2C93E48 00000000 00001000 >Call backtrace: >C2C93E48 C003E85C C003F25C C0067E10 C002E028 C003B4F8 C0005C5C >1000CA38 1000D004 10026764 1003AAE0 1003ABBC 1003ADCC 1003B904 >1000365C 0FE4D04C 00000000 > > I test the memory using simplt write-and-read method and it is >OK. Therefore I think it is not becuase of the memory configuration >problem. And since system works fine with 32M memory so it is not >becuase of programs. I am confused about this. Can anyone give me some >clues? = = = = = = = = = = = = = = = = = = = = Best regards Jack Liu R&D Dept. USI(Shanghai) Inc. Tel: +86-21-58966996x1155 Fax: +86-21-58967931 Email: Jack_liu at usish.com http://www.usi.com.tw ** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/