Problems with linuxppc_2_2 on an MVME-2400
Michael Lundkvist
ml at epact.se
Sun Aug 20 21:02:34 EST 2000
I rsync:ed against FSMLabs repository yesterday and got linuxppc_2_2
to play with on my MVME-2400.
I've got a MVME-2400 VME-board with a Ramix PMC-disk (based an a
CMD-646 controller with an IBM disk).
I can get it to boot but as soon as I start any moderate disk activity
I get a panic in find_buffer().
NIP: C0030594 XER: 00000000 LR: C00305D4 REGS: cf99fc50 TRAP: 0300
MSR: 00009032 [EEIRDRME]
TASK = cf99e000[26] 'bzip2' mm->pgd cfcca000 Last syscall: 3
last math cf9d4000
GPR00: 0003FFFF CF99FD00 CF99E000 0180C200 00010CE2 00001000 00000302 C0100000
GPR08: 00433880 0180C200 CFF00000 C0100000 24244858 1001D3C4 00000000 C015DDE0
GPR16: C0109A78 C00243B8 C0100000 00000001 C0030000 00000001 00000000 00000302
GPR24: CF99FD8C 00000000 C04FD198 CCAFEEA0 00001000 CCAFEEB8 CCAFEEA0 00010CE2
Call backtrace:
00000001 C0031718 C0031AD8 C0023B88 C0024050 C00244AC C002E75C
C0003924 FFFFFFFF 0FF13E10 0FF151B8 0FF149EC 0FF15594 0FF0FAE0
0FFDD464 10001064 1000296C 10003AD8 0FEDF75C 00000000
Kernel panic: kernel access of bad area pc c0030594 lr c00305d4 address 180C204 tsk bzip2/26
Rebooting in 180 seconds..
>>NIP; c0030594 <find_buffer+64/94> <=====
Trace; 00000001 Before first symbol
Trace; c0031718 <brw_page+134/3a0>
Trace; c0031ad8 <generic_readpage+a8/c0>
Trace; c0023b88 <try_to_read_ahead+17c/1a0>
Trace; c0024050 <do_generic_file_read+300/668>
Trace; c00244ac <generic_file_read+68/a0>
Trace; c002e75c <sys_read+fc/120>
Trace; c0003924 <syscall_ret_1+0/a0>
Trace; ffffffff <END_OF_CODE+3fe99f63/????>
Trace; 0ff13e10 Before first symbol
Trace; 0ff151b8 Before first symbol
Trace; 0ff149ec Before first symbol
Trace; 0ff15594 Before first symbol
Trace; 0ff0fae0 Before first symbol
Trace; 0ffdd464 Before first symbol
Trace; 10001064 Before first symbol
Trace; 1000296c Before first symbol
Trace; 10003ad8 Before first symbol
Trace; 0fedf75c Before first symbol
Trace; 00000000 Before first symbol
I've tried several times and the panic is always in the same place.
This is the disassemble of the find_buffer function:
c0030530 <find_buffer>:
c0030530: 3d 20 c0 10 lis r9,-16368
c0030534: 81 69 74 38 lwz r11,29752(r9)
c0030538: 7c 66 1b 78 mr r6,r3
c003053c: 39 2b ff fa addi r9,r11,-6
c0030540: 39 0b ff f4 addi r8,r11,-12
c0030544: 7c 8a 48 30 slw r10,r4,r9
c0030548: 7c 80 6e 70 srawi r0,r4,13
c003054c: 39 6b ff f7 addi r11,r11,-9
c0030550: 7d 4a 02 78 xor r10,r10,r0
c0030554: 7c cb 58 30 slw r11,r6,r11
c0030558: 7c 88 40 30 slw r8,r4,r8
c003055c: 7c c9 48 30 slw r9,r6,r9
c0030560: 3c e0 c0 10 lis r7,-16368
c0030564: 7d 29 5a 78 xor r9,r9,r11
c0030568: 7d 4a 42 78 xor r10,r10,r8
c003056c: 80 07 74 34 lwz r0,29748(r7)
c0030570: 7d 29 52 78 xor r9,r9,r10
c0030574: 3d 60 c0 10 lis r11,-16368
c0030578: 7d 29 00 38 and r9,r9,r0
c003057c: 81 4b 74 3c lwz r10,29756(r11)
c0030580: 55 29 10 3a rlwinm r9,r9,2,0,29
c0030584: 7c 69 50 2e lwzx r3,r9,r10
c0030588: 2c 03 00 00 cmpwi r3,0
c003058c: 7c 69 1b 78 mr r9,r3
c0030590: 4d 82 00 20 beqlr
c0030594: 80 09 00 04 lwz r0,4(r9)
c0030598: 80 63 00 00 lwz r3,0(r3)
c003059c: 7c 00 20 00 cmpw r0,r4
c00305a0: 40 82 ff e8 bne c0030588 <find_buffer+0x58>
c00305a4: 80 09 00 08 lwz r0,8(r9)
c00305a8: 7c 00 28 00 cmpw r0,r5
c00305ac: 40 82 ff dc bne c0030588 <find_buffer+0x58>
c00305b0: a0 09 00 0c lhz r0,12(r9)
c00305b4: 7c 00 30 00 cmpw r0,r6
c00305b8: 40 82 ff d0 bne c0030588 <find_buffer+0x58>
c00305bc: 7d 23 4b 78 mr r3,r9
c00305c0: 4e 80 00 20 blr
I have a pre-compiled Debian kernel that works, but I can't seem to
find the source for exactly that version.
This is what the working version claims to be:
Linux version 2.2.16pre4 (drow at crack.them.org) (gcc version 2.95.2 20000313 (Debian GNU/Linux)) #1 Tue Jun 6 17:34:50 CDT 2000
Does anyone have any hints on how to solve this?
/Micke
** Sent via the linuxppc-dev mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-dev
mailing list