HEADSUP : n64 changes in HEAD.

waynegong L waynegong83 at gmail.com
Thu Aug 5 13:13:23 UTC 2010


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.


-----------------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.

Thanks,
Wayne.

On Wed, Aug 4, 2010 at 7:52 PM, Jayachandran C. <c.jayachandran at gmail.com>wrote:

> I have checked the n64 changes into HEAD.  The changes areto add 3 level
> page tables for n64 compilation.  Juli's work (from octeon branch) had
> added
> most of kernel and userspace code for n64, other than the page table code,
> so this is just one of the last pieces of the whole effort.  I have already
> checked in fixes to many user/kernel components for n64 during the past
> week.
>
> I have tried quite a bit to make sure that the new 32 bit code in pmap.c is
> completely equivalent to the earlier code.  If you see any regressions in
> the o32 compilation, please let me know.
>
> To try out 64 bit, the environment and commands are:
> --
> export TARGET=mips
> export TARGET_ARCH=mips
> export TARGET_CPUTYPE=mips64
> export TARGET_BIG_ENDIAN=y
> export TARGET_ABI=n64
> export KERNCONF=XLR64
> make buildworld  -DWITHOUT_CDDL -DWITHOUT_USB -DWITHOUT_BLUETOOTH
> make buildkernel
> --
>
> The n64 kernel and userspace comes up in multi-user, and is pretty stable.
>
> There is still some work to do:
> - SMP is still untested
> - PTE entries are still 32 bit, physmem >4GB is not yet supported
> - ddb does not fully work yet
> - thread libraries are not tested yet.
> - page table page allocation code needs to be updated to use XKPHYS.
> - buildworld still has some components (see -D above) which does not
> compile.
> - code for 32 bit compatibility is still not there, so only n64 executables
> run on n64 kernel.
>
> But other than this, if you come across any crash or failure in n64 please
> let me know.
>
> Thanks,
> JC.
> _______________________________________________
> freebsd-mips at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-mips
> To unsubscribe, send any mail to "freebsd-mips-unsubscribe at freebsd.org"
>


More information about the freebsd-mips mailing list