NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: port-evbppc/57926: ppc405: lockdebug crash because cpu_index(curcpu()) is invalid (not 0) value.
cc -E src/external/gpl3/gcc/dist/libgcc/config/rs6000/crtresxgpr.S
(version of gcc)
...
.type _restgpr_29_x,@function; .globl _restgpr_29_x; _restgpr_29_x: .hidden
_restgpr_29_x; lwz 29,-12(11)
.type _restgpr_30_x,@function; .globl _restgpr_30_x; _restgpr_30_x: .hidden
_restgpr_30_x; lwz 30,-8(11)
.type _restgpr_31_x,@function; .globl _restgpr_31_x; _restgpr_31_x: .hidden
_restgpr_31_x; lwz 0,4(11) <---
lwz 31,-4(11) <---
mtlr 0
mr 1,11
blr
...
cc -E src/sys/lib/libkern/arch/powerpc/gprsavrest.S
(version of NetBSD)
.hidden _restgpr_29_x; .text; .align 2; .globl _restgpr_29_x; .type
_restgpr_29
_x,@function; _restgpr_29_x:; lwz 29,(-4*(32-29))(11)
.hidden _restgpr_30_x; .text; .align 2; .globl _restgpr_30_x; .type
_restgpr_30
_x,@function; _restgpr_30_x:; lwz 30,(-4*(32-30))(11)
.hidden _restgpr_31_x; .text; .align 2; .globl _restgpr_31_x; .type
_restgpr_31
_x,@function; _restgpr_31_x:; lwz 31,(-4*(32-31))(11) <---
lwz 0,4(11) <---
mtlr 0
mr 1,11
blr
I change gprsavrest.S's lwz 31,(-4)(11) and lwz 0,4(11), kernel works more
stable.
(I change lwz 0,4(11); mtlr 0; mr 1,11 to comment like gcc's crtresgpr.S,
kernel works more stable...)
I don't understand what's happening...
# but hptide's udma is unstable(bus-master DMA error: missing interrupt),
# pio-4 is almost stable, but stop on heavy load...
Home |
Main Index |
Thread Index |
Old Index