Subject: RE: no /dev/console or panic: Prefetch abort in non-USR mode (was )
To: None <gavan@coolfactor.org>
From: Chris Budd <budd_iq80321@hotmail.com>
List: port-arm
Date: 01/23/2004 13:59:17
>From: Gavan Fantom <gavan@coolfactor.org>
>Date: Fri, 23 Jan 2004 13:53:28 +0000 (GMT)
>
> > Realizing that the version on the CD is old (NetBSD 1.6F (IQ80321) #0: 
>Thu
> > Aug 22 17:18:41 EDT 2002), I grabbed the 1.6.1 release (NetBSD 1.6.1
> > (IQ80321) #0: Mon Apr  7 22:31:19 UTC 2003) from NetBSD.org.  Now I do 
>not
> > get the panic, but I still have problems with no console.
>
>1.6F is an (old) version of the trunk; 1.6.1 is cut from the release
>branch. You probably want to be looking at a later snapshot of current
>from releng.netbsd.org.
>

I have now tried:
NetBSD 1.6ZG (IQ80321) #0: Sun Jan  4 08:32:30 UTC 2004
NetBSD 1.6.2_RC4 (IQ80321) #0: Fri Jan  9 08:38:47 UTC 2004

1.6ZG did not get very far before it hit a different panic.  1.6.2_RC4 was 
similiar to 1.6.1; no console, and no panic.

I have noticed in the Ethernet captures, that the iq80321 was looking for a 
/sbin/mount_mfs file; it is not in the 1.6.1 package, nor the 1.6.2_RC4 
package.  If I blindly copy the mount_mfs from the 1.6F package, they get 
the same type of panic.

Why is mount_mfs missing from base.tgz?


>init should be creating a memory filesystem on /dev and executing MAKEDEV.
>Perhaps you could verify whether this is in fact happening using ddb?
>

Not sure what ddb can tell me.  I know that when mount_mfs is there, it 
reads the MAKEDEV files, and probably creates the /dev/console in RAM, but 
it hits the panic.  I included the panic, ps, t, and t/t below.

If the mount_mfs file is not there, such as with 1.6.1 and 1.6.2_RC4, I 
cannot get ddb since there is no console on which to send a break.


>Alternatively, you could use MAKEDEV to create the device files on your
>NFS server.
>

I tried this previously.  If I manually make a /dev/console using "sh 
MAKEDEV std; chmod 777 console" on the NFS server, then every thirty seconds 
the iq80321 overwrites the /dev/console file on the NFS server with some 
ASCII text:

Jan 23 20:29:15 init: can't get /dev/console for controlling terminal: 
Inappropriate ioctl for device

My two big questions are:

1.  Why isn't mount_mfs in the evbarm binary packages?
2.  If I manually copy mount_mfs from 1.6F, then I assume the iq80321 
attempts to build a mfs /dev/console based on the reads from the NFS server. 
  However, why do I get the panic?  Could it be something with the PCI slot 
in which this iq80321 lives?

I am too new, so the trace below does not mean much to me, but maybe someone 
will recognize something.

Thanks,
Chris.

panic: Prefetch abort in non-USR mode (frame=0xc7b13d38 PC=0x00000008)

Stopped in pid 12 (sh) at       cpu_Debugger+0x10:      ldmdb   r11, {r11, 
r13,
r
15}
db>
db>
db> ps
PID             PPID       PGRP        UID S   FLAGS          COMMAND    
WAIT
>12                 1          1          0 7  0x4004               sh
11                 1         11          0 3    0x84        mount_mfs  
mfsidl
9                  0          0          0 3 0x20204         aiodoned 
aiodone
8                  0          0          0 3 0x20204          ioflush  
syncer
7                  0          0          0 3 0x20204           reaper  
reaper
6                  0          0          0 3 0x20204       pagedaemon 
pgdaemo
5                  0          0          0 3 0x20284            nfsio  
nfsidl
4                  0          0          0 3 0x20284            nfsio  
nfsidl
3                  0          0          0 3 0x20284            nfsio  
nfsidl
2                  0          0          0 3 0x20284            nfsio  
nfsidl
1                  0          1          0 3  0x4084             init    
wait
0                 -1          0          0 3 0x20204          swapper 
schedul
db> t
cpu_Debugger+0xc
        scp=0xc0314e28 rlv=0xc028b7ec (panic+0xdc)
        rsp=0xc7b13ce8 rfp=0xc7b13cfc
panic+0x10
        scp=0xc028b720 rlv=0xc031bc10 (prefetch_abort_handler+0xac)
        rsp=0xc7b13d10 rfp=0xc7b13d34
prefetch_abort_handler+0xc
        scp=0xc031bb70 rlv=0xc031b1dc (exception_exit)
        rsp=0xc7b13d38 rfp=0x00000000
        r8=0x00000000 r7=0x00000000
        r6=0x00000000 r5=0x00000000 r4=0x00000000
db> t/t c
trace: pid 12 at 0xc7b13f80
       0x2
        scp=0x00000002 rlv=0x00000000 (         0)
        rsp=0x0000000d rfp=0xc7b13fb4[u]vm_fault(0xc03a46f0, fffff000, 1, 0) 
->
e
Unhandled trap (frame = 0xc7b13a80)
Data abort: 'Translation fault (section)' status=005 address=fffffffa 
PC=c031527
4
Stopped in pid 12 (sh) at  db_stack_trace_p
rint+0x170:     ldr     r7, [r4, r2, lsl #2]
db>

_________________________________________________________________
Check out the coupons and bargains on MSN Offers! 
http://shopping.msn.com/softcontent/softcontent.aspx?scmId=1418