Subject: Re: Back at single user mode! Testers needed!
To: None <port-hp700@NetBSD.org>
From: Izumi Tsutsui <tsutsui@ceres.dti.ne.jp>
List: port-hp700
Date: 11/03/2003 21:27:24
In article <20031103101351.GQ2865021@MrPomeroy2>
jkunz@unixag-kl.fh-kl.de wrote:

> kernel: DTLB miss trap, code=0
> db> bt
> ffs_read(f8b94b8,f8b9550,f8b9544,f8b9530) at netbsd:ffs_read+0x2dc
 :
> I have applied the patches from PR port-hppa/20933. Maybe this problem
> is related to the one mentioned in th PR?

It seems your curlwp change in locore.S is not correct.
I think the real problem is trap() function which refers
curlwp unconditionally.

The attached patch makes my 735/125 boot into single-user
on sd2a root with old snapshot binaries, but there are
several local patches in my tree so I'm not sure which one
is really required against -current tree.
---
Izumi Tsutsui
tsutsui@ceres.dti.ne.jp

Index: arch/hppa/hppa/trap.c
===================================================================
RCS file: /cvsroot/src/sys/arch/hppa/hppa/trap.c,v
retrieving revision 1.12
diff -u -r1.12 trap.c
--- arch/hppa/hppa/trap.c	31 Oct 2003 03:28:13 -0000	1.12
+++ arch/hppa/hppa/trap.c	3 Nov 2003 12:11:00 -0000
@@ -472,8 +472,8 @@
 	int type;
 	struct trapframe *frame;
 {
-	struct lwp *l = curlwp;
-	struct proc *p = l->l_proc;
+	struct lwp *l;
+	struct proc *p;
 	struct pcb *pcbp;
 	vaddr_t va;
 	struct vm_map *map;
@@ -499,6 +499,10 @@
 		space = frame->tf_isr;
 		vftype = inst_store(opcode) ? VM_PROT_WRITE : VM_PROT_READ;
 	}
+
+	if ((l = curlwp) == NULL)
+		l = &lwp0;
+	p = l->l_proc;
 
 #ifdef DIAGNOSTIC
 	/*

---
(c) Copyright.  Hewlett-Packard Company.  1992.
All rights reserved.

PDC ROM rev. 2.7
IODC ROM rev. 1.1
64 MB of memory configured and tested.


Selecting a system to boot.
To stop selection process, press and hold the ESCAPE key.

Selection process stopped.

Searching for Potential Boot Devices.
To terminate search, press and hold the ESCAPE key.

Device Selection      Device Path              Device Type
----------------------------------------------------------------------------

P0                    scsi.6.0                 QUANTUM LPS1080S
P1                    scsi.1.0                 IBM     DCAS-34330
P2                    scsi.0.0                 TEAC    FC-1     HF   07
P3                    lan.00e029-0886cd.0.0    eclipse



b)    Boot from specified device
s)    Search for bootable devices
a)    Enter Boot Administration mode
x)    Exit and continue boot sequence
?)    Help

Select from menu: b p3

Trying lan.00e029-0886cd.0.0
Boot path initialized.
Attempting to load IPL.


Hard booted.



>> NetBSD/hp700 LIF Boot, Revision 1.1
>> (tsutsui@mirage, Sun Dec 22 00:48:29 JST 2002)
>> Enter "reset" to reset system.
Boot: [[[dk0a:]netbsd][-a][-c][-d][-s][-v][-q]] :- -a
3109132+61440+278528 [368704+89343]=0x4c2f2c
Start @ 0x200000 [1=0x653000-0x6c2f2c]...
SPID bits: 0x0, error = -2
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 1.6ZE (PAJERO) #24: Mon Nov  3 20:51:10 JST 2003
	tsutsui@mirage:/usr/src/sys/arch/hp700/compile/PAJERO
HP9000/735/130 (Snake Cheetah)
real mem = 65536 KB (73728 reserved for PROM, 58156 KB used by NetBSD)
avail mem = 53624 KB
using 844 buffers containing 3376 KB of memory
mainbus0 (root) [flex fff80000]
pdc0 at mainbus0
mem0 at mainbus0 hpa fffbf000: viper rev 3, ctrl cd330000<lpmc_en,ipref_en> size 64MB
cpu0 at mainbus0 hpa fffbe000 irq 31 ipl 0: PA7100 (T-Bird) rev 2
cpu0: PCX-T, PA-RISC 1.1b, lev 1, cat A, 125 MHz clk
cpu0: shadows, 256K/256K D/I caches, 120 shared TLB, 16 shared BTLB
cpu0: PCX-T (Rolex - CMOS-26B) floating point, rev 1
"EISA Bus Adapter" at mainbus0 (type b, sv 76) hpa fc000000 not configured
asp0 at mainbus0 hpa f0000000 irq 28: Hardball rev 20, lan 1 scsi 7
gsc0 at asp0: wordleds
"Advanced audio (int.)" at gsc0 (type a, sv 7f) hpa f1000000 not configured
"Core FW SCSI" at gsc0 (type a, sv 7c) hpa f0830000 not configured
lpt0 at gsc0 hpa f0824000 irq 7 ipl 1
"Core RS-232C" at gsc0 (type a, sv 75) hpa f0822000 not configured
"Core RS-232C" at gsc0 (type a, sv 75) hpa f0823000 not configured
"Core HIL" at gsc0 (type a, sv 73) hpa f0821000 not configured
ie0 at gsc0 hpa f0826000 irq 8 ipl 2: v0.0 address 08:00:09:4f:11:93, type i82596DX
oosiop0 at gsc0 hpa f0825000 irq 9 ipl 3: NCR53C700 rev 0, 31MHz, SCSI ID 7
scsibus0 at oosiop0: 8 targets, 8 luns per target
"SGC Graphics" at mainbus0 (type a, sv 77) hpa f8000000 not configured
biomask 00000038 netmask 0000003c ttymask 0000007e
i82586_tint: command still busy; status=0x25ae; tail=0
iestatus = 0xa000
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 0 lun 0: <TEAC, FC-1     HF   07, RV B> disk removable
sd0(oosiop0:0:0:0):  Check Condition on CDB: 0x00 00 00 00 00 00
    SENSE KEY:  Not Ready
     ASC/ASCQ:  Logical Unit Not Ready, Cause Not Reportable

sd0: drive offline
sd0: async, 8-bit transfers
sd1 at scsibus0 target 1 lun 0: <IBM, DCAS-34330, S61A> disk fixed
sd1: fabricating a geometry
sd1: 4134 MB, 4134 cyl, 64 head, 32 sec, 512 bytes/sect x 8467200 sectors
sd1: sync (192.00ns offset 8), 8-bit (5.208MB/s) transfers
sd2 at scsibus0 target 6 lun 0: <QUANTUM, LPS1080S, 111B> disk fixed
sd2: 1001 MB, 2874 cyl, 8 head, 89 sec, 512 bytes/sect x 2051460 sectors
sd2: sync (192.00ns offset 8), 8-bit (5.208MB/s) transfers
boot device: ie0
root device (default ie0): sd2a
dump device (default sd2b): sd2b
file system (default generic): ffs
root on sd2a dumps on sd2b
WARNING: preposterous time in file system -- CHECK AND RESET THE DATE!
init path (default /sbin/init): 
init: trying /sbin/init
/etc/rc.conf is not configured.  Multiuser boot aborted.
Enter pathname of shell or RETURN for sh: 
We recommend creating a non-root account and using su(1) for root access.
# disklabel sd1
sd1: fabricating a geometry
# /dev/rsd1c:
type: SCSI
disk: mydisk
label: fictitious
flags:
bytes/sector: 512
sectors/track: 32
tracks/cylinder: 64
sectors/cylinder: 2048
cylinders: 4134
total sectors: 8467200
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0           # microseconds
track-to-track seek: 0  # microseconds
drivedata: 0 

3 partitions:
#        size    offset     fstype  [fsize bsize cpg/sgs]
 a:   8467200         0     4.2BSD   1024  8192    44   # (Cyl.    0 - 4134*)
 c:   8467200         0     unused      0     0         # (Cyl.    0 - 4134*)
# newfs /dev/rsd1a
sd1: fabricating a geometry
Warning: 1280 sector(s) in last cylinder unallocated
/dev/rsd1a:     8467200 sectors in 4135 cylinders of 64 tracks, 32 sectors
        4134.4MB in 94 cyl groups (44 c/g, 44.00MB/g, 10944 i/g)
super-block backups (for fsck -b #) at:
      32,   90176,  180320,  270464,  360608,  450752,  540896,  631040,
  721184,  811328,  901472,  991616, 1081760, 1171904, 1262048, 1352192,
 1442336, 1532480, 1622624, 1712768, 1802912, 1893056, 1983200, 2073344,
 2163488, 2253632, 2343776, 2433920, 2524064, 2614208, 2704352, 2794496,
 2884640, 2974784, 3064928, 3155072, 3245216, 3335360, 3425504, 3515648,
 3605792, 3695936, 3786080, 3876224, 3966368, 4056512, 4146656, 4236800,
 4326944, 4417088, 4507232, 4597376, 4687520, 4777664, 4867808, 4957952,
 5048096, 5138240, 5228384, 5318528, 5408672, 5498816, 5588960, 5679104,
 5767200, 5857344, 5947488, 6037632, 6127776, 6217920, 6308064, 6398208,
 6488352, 6578496, 6668640, 6758784, 6848928, 6939072, 7029216, 7119360,
 7209504, 7299648, 7389792, 7479936, 7570080, 7660224, 7750368, 7840512,
 7930656, 8020800, 8110944, 8201088, 8291232, 8381376,
# mount /dev/sd2a /
# mount /dev/sd2f /var
# mount /dev/sd2g /usr
# swapctl -a /dev/sd2b
# df
Filesystem  1K-blocks     Used     Avail Capacity  Mounted on
/dev/sd2a       51703    33487     15630    68%    /
/dev/sd2f       51703      285     48832     0%    /var
/dev/sd2g      787951   126711    621842    16%    /usr
#