HEADSUP : n64 changes in HEAD.
Jayachandran C.
c.jayachandran at gmail.com
Sat Aug 7 04:17:41 UTC 2010
On Fri, Aug 6, 2010 at 12:06 PM, waynegong L <waynegong83 at gmail.com> wrote:
> Jayachandran,
>
> Please see my reply inline.
>
> On Thu, Aug 5, 2010 at 7:43 PM, Jayachandran C. <c.jayachandran at gmail.com>
> wrote:
>>
>> On Thu, Aug 5, 2010 at 6:43 PM, waynegong L <waynegong83 at gmail.com> wrote:
>> > Hi Jayachandran,
>> >
>> > I have been waiting for n64 support and happy to see this mail.
>> > But unfortunately i got a panic with the from HEAD(revision 210854) on
>> > my
>> > octeon board. Please find the information below.
>> > I have built rootfs in to the kernel and the rootfs is stripped one with
>> > 30M
>> > size. Also SMP support is disabled in the config file.
>>
> As i am building for OCTEON board, my config file OCTEON1 has the respective
> options
>
> options ISA_MIPS64
> makeoptions LDSCRIPT_NAME=ldscript.mips.octeon1.64
> makeoptions ARCH_FLAGS="-march=octeon -mabi=64"
> makeoptions KERNLOADADDR=0xffffffff80100000
>
>
>> There are few other changes to the config file too, to
>>
>> options ISA_MIPS64
>> makeoptions LDSCRIPT_NAME=ldscript.mips.64
>> makeoptions ARCH_FLAGS="-march=mips64 -mabi=64"
>> makeoptions KERNLOADADDR=0xffffffff80100000
>>
>> ideally, we should get this setup when TARGET_ABI is set, but not yet.
>>
>> > -----------------panic
>> > info------------------------------------------------------------------
>> > Trying to mount root from ufs:/dev/md0
>> > warning: no time-of-day clock registered, system time will not be set
>> > accurately
>> > Lookup of /dev for devfs, error: 2
>> > start_init: trying /sbin/init
>> > panic: userret: Returning with 1 locks held.
>> > KDB: enter: panic
>> > [ thread pid 1 tid 100001 ]
>> > Stopped at kdb_enter+0x90: lui at,0x0
>> >
>> >
>> > A bit of debugging pointed has taken me to lockmgr.
>> >
>> > db> show alllocks
>> > Process 1 (init) thread 0xc000000007926000 (100001)
>> > exclusive lockmgr devfs (devfs) r = 0 (0xc000000007fb8cf0) locked @
>> > /freebsd/testmainline/
>> > head/sys/kern/vfs_subr.c:2101
>> >
>> > db> show lockedvnods
>> > Locked vnodes
>> >
>> > db> show lock 0xc000000007fb8cf0
>> > class: lockmgr
>> > name: devfs
>> > state: XLOCK: 0xc000000007926000 (tid 100001, pid 1, "init")
>> > waiters: none
>> > spinners: none
>> >
>> > db> show thread 100001
>> > Thread 100001 at 0xc000000007926000:
>> > proc (pid 1): 0xc000000007923000
>> > name: init
>> > stack: 0xc00000002589c000-0xc00000002589dfff
>> > flags: 0x1000004 pflags: 0
>> > state: RUNNING (CPU 0)
>> > priority: 180
>> > container lock: sched lock (0xffffffff8240a338)
>> >
>> >
>> > db> ps
>> > pid ppid pgrp uid state wmesg wchan cmd
>> > 15 0 0 0 DL mdwait 0xc0000000080a0800 [md0]
>> > 14 0 0 0 DL - 0xffffffff82404eb4 [schedcpu]
>> > 13 0 0 0 DL sdflush 0xffffffff825b00c8
>> > [softdepflush]
>> > 9 0 0 0 DL syncer 0xffffffff825ac2a0 [syncer]
>> > 8 0 0 0 DL vlruwt 0xc0000000080a9448 [vnlru]
>> > 7 0 0 0 DL psleep 0xffffffff825abe50 [bufdaemon]
>> > 6 0 0 0 RL [pagezero]
>> > 5 0 0 0 DL psleep 0xffffffff825b0e8c
>> > [pagedaemon]
>> > 12 0 0 0 DL - 0xffffffff82404eb4 [yarrow]
>> > 4 0 0 0 DL - 0xffffffff82401950 [g_down]
>> > 3 0 0 0 DL - 0xffffffff82401948 [g_up]
>> > 2 0 0 0 DL - 0xffffffff82401938 [g_event]
>> > 11 0 0 0 WL (threaded) [intr]
>> > 100015 I [swi0: uart
>> > uart]
>> > 100014 I [swi5: +]
>> > 100012 I [swi6: task
>> > queue]
>> > 100011 I [swi6:
>> > Giant
>> > taskq]
>> > 100005 I [swi3: vm]
>> > 100004 I [swi1:
>> > netisr
>> > 0]
>> > 100003 I [swi4:
>> > clock]
>> > 10 0 0 0 RL [idle]
>> > 1 0 0 0 RL CPU 0 [init]
>> > 0 0 0 0 DLs (threaded) [kernel]
>> > 100017 D deadlkre 0xffffffff82404eb4 [deadlkres]
>> > 100016 D - 0xc0000000079b4380 [octe
>> > taskq]
>> > 100013 D - 0xc000000007972e00 [kqueue
>> > taskq]
>> > 100010 D - 0xc000000007955500 [thread
>> > taskq]
>> > 100000 D sched 0xffffffff824019c8 [swapper]
>> >
>> > My env is as below.
>> > TARGET=mips
>> > TARGET_ABI=n64
>> > TARGET_CPUTYPE=mips64
>> > TARGET_BIG_ENDIAN=y
>> >
>> > My kernel build was successful, Also buildworld/install world was done
>> > with
>> > the below components as suggested.
>> > -DWITHOUT_CDDL -DWITHOUT_USB -DWITHOUT_BLUETOOTH
>> >
>> > Please let me know if you need any more info.
>>
>> `show registers' output will be good, but I think the kernel is still
>> not 64 bit, so the 64 bit userspace crashed.
>
> db> show reg
> at 0xffffffff82410000 sysctl__debug_witness_children+0x26d8
> v0 0x12 _DYNAMIC_LINKING+0x11
> v1 0x12 _DYNAMIC_LINKING+0x11
> a0 0
> a1 0xa _DYNAMIC_LINKING+0x9
> a2 0xffffffff825d1fe0
> a3 0x109 _DYNAMIC_LINKING+0x108
> t0 0
> t1 0
> t2 0
> t3 0
> t4 0xc000000007987638
> t5 0
> t6 0
> t7 0
> s0 0xffffffff80408ab0
> s1 0xc000000007926000
> s2 0xc00000002589dd30
> s3 0xc000000007923000
> s4 0x22 _DYNAMIC_LINKING+0x21
> s5 0xc000000007926000
> s6 0xc000000007927c80
> s7 0x1 _DYNAMIC_LINKING
> t8 0
> t9 0x120004da0
> k0 0
> k1 0xa _DYNAMIC_LINKING+0x9
> gp 0xffffffff82405684 _gp
> sp 0xc00000002589db70
> s8 0x1 _DYNAMIC_LINKING
> ra 0xffffffff801ffd64 kdb_enter+0x74
> sr 0x408084e3
> lo 0
> hi 0x111d _DYNAMIC_LINKING+0x111c
> bad 0xc0000000079ac600
> cs 0x24 _DYNAMIC_LINKING+0x23
> pc 0xffffffff801ffd80 kdb_enter+0x90
> kdb_enter+0x90: lui at,0x0
>
>
> Please let me know if u need any more info.
Looks like the kernel and userspace are 64bit, and it crashed on
getting into userspace the first time. I am really not sure what
could have caused that lock to be held...
Have you checked if the exact same source comes up on 32 bit
compilation? This may be worth checking first. After that, may be
enabling debug in trap.c may be a good way to see if the exceptions
generated while jumping to userspace are handled correctly.
JC.
More information about the freebsd-mips
mailing list