On Wed, Jan 24, 2001 at 04:59:19PM +0100, Florian Lohoff wrote:
> Decoded this is:
>
> Unable to handle kernel paging request at virtual address 00000000, epc ==
> 00000000, ra == 00000000
> $0 : 00000000 1004fc00 fffffff2 00000001
> $4 : fffffff2 00000000 00000001 00000000
> $8 : 00000000 2abf3a94 8800f4a0 00000004
> $12: 8ec09f10 7ffffaf8 8ec09f18 8ec09f18
> $16: 8801acf8 00000000 10011510 00000002
> $20: 10011510 7ffffdd8 7ffffdcc 00000002
> $24: 00000000 2abf3a80
> $28: 8ec08000 8ec09ef8 7ffffd10 00000000
> epc : 00000000
> Using defaults from ksymoops -t elf32-bigmips -a mips:3000
> Status: 1004fc03
> Cause : 30000008
Ok - another one (sorry to spam you)
>From "handle_sys" i see that system call address and no of
args are in t2 and t3 which are 0x8800f4a0 and 4 with the register
dump above.
8800f4a0 is sys_sysmips which i also saw in the find strace.
>From the strace i find
sysmips(0x7d1, 0x2ac95d24, 0x1, 0) = 4149
all the time - 0x7d1 is "MIPS_ATOMIC_SET" - Ok from the trace
i see the call comes from handle_sys which itself would end with
o32_ret_from_sys_call.
sysmips(MIPS_ATOMIC_SET, ...)
would itself return with "ret_from_sys_call".
If i now apply
Index: arch/mips/kernel/sysmips.c
===================================================================
RCS file: /cvs/linux/arch/mips/kernel/sysmips.c,v
retrieving revision 1.15
diff -u -r1.15 sysmips.c
--- arch/mips/kernel/sysmips.c 2000/11/18 01:19:35 1.15
+++ arch/mips/kernel/sysmips.c 2001/01/25 15:48:44
@@ -111,7 +111,7 @@
__asm__ __volatile__(
"move\t$29, %0\n\t"
- "j\tret_from_sys_call"
+ "j\to32_ret_from_sys_call"
: /* No outputs */
: "r" (&cmd));
/* Unreached */
The machine now at least doesnt crash anymore - Others have to decide
if this is correct. (Nevertheless find doesnt return but this might
be a different problem)
Flo
--
Florian Lohoff flo@rfc822.org +49-5201-669912
Why is it called "common sense" when nobody seems to have any?
|