[LV] Can anybody build a kernel with Maciej's toolchain?
Peter Firefly Lund
firefly at vax64.dk
Wed Aug 22 02:54:08 CEST 2007
On Wed, 2007-08-22 at 01:33 +0200, Jan-Benedict Glaw wrote:
> But back to the topic, maybe try sticking a stacktrace there?
Got a stack trace now (it is officially tomorrow anyway).
Had to comment out the two lines in arch/vax/kernel/early_printk.c that
switched the early printk off, because otherwise I wouldn't get any
further output (console=ttyS0 doesn't seem to work for me).
...[normal boot stuff]...
Disabling early console. If this is the last text you see, try to append "console=ttyS0" to the kernel command line
test of not so early console [line I inserted]
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 62228k/65472k available
Calibrating delay loop... 22.93 BogoMIPS (lpj=114688)
Mount-cache hash table entries: 512
Reserved operand fault at PC=80279a7b
Stack dump
80271f4c 00000000 00000000 20000000 80271f90
80271f5c 80271f70 80279aab 00000001 00000006
80271f6c 802825a0 00000000 21c00000 80271fac
80271f7c 80271f98 80279ae8 8010bfd4 0a000006
80271f8c 8010bfd4 00000000 80271fd0 00000000
80271f9c 20000000 80271fd0 80271fb8 802724d9
80271fac 00000000 80283020 80271ffc 00000000
80271fbc 20400000 80271ffc 80271fd8 8010377b
80271fcc 8028a030 00000000 00000000 00000000
80271fdc 23c00000 80000344 80000000 80100418
80271fec 00029f80 00029f80 0010028a 0027e56c
80271ffc 00000000 04c20000 a5efd45e d0fffce8
8027200c 01045001 04c20000 95ef9f5e 9ffffce8
8027201c 02fb04ac f210a1ef 5001d0ff 07c00104
8027202c d05e04c2 9e5904ac 00e157ef ef9e5800
8027203c fff23cf8 5668d05a 01fb56dd f23dd5ef
r0 3fffff25 r1 fffffffb r2 00000024 r3 ffffffff
r4 00000000 r5 00000000 r6 00000006 r7 8029e9e0
r8 80279a66 r9 802825a0 r10 80242ae8 r11 00000000
ap 80271f64 fp 80271f50 sp 80271f4c pc 80279a7b
psl 00000001 ipl 0 mode K (prev K) C
p0br 00000000 sbr 002a6e00 astlvl 00000004
p0lr 00000000 slr 0003c780 sisr 00000000
p1br 00000000 pcbb 00241dbc mapen 00000001
p1lr 00000000 scbb 00287000 sid 0a000006
isp 80287000 ksp 80271e38 esp 00000000 ssp 00000000 usp 00000000
panic: machine_halt!
Stack dump
80271e54 00000000 00000000 20000000 80271e8c
80271e64 80271e78 801064af 00000001 80223014
80271e74 8010bfd4 00000000 20000000 80271eb0
80271e84 80271e94 8010461e 00000000 80271ee4
80271e94 00000000 20c00000 80271ee8 80271ec0
80271ea4 801048e3 00000006 80287738 00000002
80271eb4 80271ef8 80271f44 20400000 00000000
80271ec4 27c00000 80271f64 80271f50 80104d26
80271ed4 00000006 8029e9e0 80279a66 802825a0
80271ee4 80242ae8 00000003 80271ef8 8028773e
80271ef4 80271f44 3fffff25 fffffffb 00000024
80271f04 ffffffff 00000000 00000000 00000006
80271f14 8029e9e0 80279a66 802825a0 80242ae8
80271f24 00000000 80271f64 80271f50 80271f4c
80271f34 80279a7b 00000001 3fffff25 8028773e
80271f44 80279a7b 00000001 00000000 00000000
Call Trace:
[<801064af>] machine_halt+0x21/0x44
[<8010bfd4>] printk+0x0/0x1a
[<8010461e>] reserved_instr_handler+0x0/0x9a
[<801048e3>] do_irq_excep+0x27/0x100
[<80104d26>] ret_from_syscall+0x0/0x2a
[<80279a66>] __maxindex+0x0/0x2e
[<80279a66>] __maxindex+0x0/0x2e
[<80279a7b>] __maxindex+0x15/0x2e
[<80279a7b>] __maxindex+0x15/0x2e
[<80279aab>] radix_tree_init_maxindex+0x17/0x22
[<80279ae8>] radix_tree_init+0x32/0x34
[<8010bfd4>] printk+0x0/0x1a
[<8010bfd4>] printk+0x0/0x1a
[<802724d9>] start_kernel+0x16f/0x18c
[<8010377b>] vax_start_kernel+0x137/0x138
[<80100418>] now_on_kstack+0x7/0x8
So there is apparently a bad instruction somewhere.
80279a7b is inside __maxindex:
(make ARCH=vax CROSS_COMPILe=vax-linux- lib/radix-tree.s)
.size radix_tree_node_ctor, .-radix_tree_node_ctor
.section .init.text,"ax", at progbits
.align 1
.type __maxindex, @function
__maxindex:
.word 0x0
subl2 $4,%sp
mull3 4(%ap),$6,%r2 # height,, tmp
subl3 %r2,$31,%r1 # tmp,, tmp25
mcoml $0,%r3 #, tmp27
subb3 %r1,$32,%r0 # tmp25,, tmp28
extzv %r1,%r0,%r3,%r0 # tmp25, tmp28, tmp27, tmp26
rotl $31,%r0,%r0 #, tmp26, index
bicl2 $-2147483648,%r0 #, index
cmpl %r2,$31 # tmp,
jlequ .L268 #
movl %r3,%r0 # tmp27, index
.L268:
ret
vax-linux-objdump -d lib/radix-tree.o:
00000000 <__maxindex>:
0: 00 00 Entry mask 0x0000 = < >
2: c2 04 5e subl2 $0x4,sp
5: c5 ac 04 06 mull3 0x4(ap),$0x6,r2
9: 52
a: c3 52 1f 51 subl3 r2,$0x1f,r1
e: d2 00 53 mcoml $0x0,r3
11: 83 51 20 50 subb3 r1,$0x20,r0
15: ef 51 50 53 extzv r1,r0,r3,r0
19: 50
1a: 9c 1f 50 50 rotl $0x1f,r0,r0
1e: ca 8f 00 00 bicl2 $0x80000000,r0
22: 00 80 50
25: d1 52 1f cmpl r2,$0x1f
28: 1b 03 blequ 2d <__maxindex+0x2d>
2a: d0 53 50 movl r3,r0
2d: 04 ret
-Peter
_______________________________________________
Linux-Vax mailing list
Linux-Vax at pergamentum.com
http://www.pergamentum.com/mailman/listinfo/linux-vax
More information about the Vax-linux
mailing list