Subject: Re: VAX 4000-108A (SUCCESS!)
To: Pasi Pirhonen <upi@iki.fi>
From: Hugh Graham <hugh@openbse.org>
List: port-vax
Date: 06/28/2002 22:22:34
On Sat, Jun 29, 2002 at 03:32:07AM +0300, Pasi Pirhonen wrote:
> <CLIP> <CLIP> <CLIP>
>
> GREAT! It works like it should be. 

It may not have been apparent to all of you, but for the last couple
years any attempt I've made to contribute to NetBSD's lists has been
manually forwarded, often taking days or getting lost, simply because
of my address. This selective moderation does not speak well of NetBSD
openness, and in fact betrays an inability to accept that at least a
few NetBSD hosted lists occasionally have a scope beyond NetBSD itself.

By now putting this much more out in the open I hope to provoke some
discussion, as my attempts to work on this privately have thus far
failed. In the meantime, I remind you vax hackers that we have a list
at vax@openbsd.org with no moderation beyond spam blocking, and in
fact I encourage wide CC and open discussion.

I should clarify at this point that I have no dispute with NetBSD's vax
developers, who I believe do not have direct control of mailing list
policy. I have found Ragge and Matt responsive and helpful in the past,
and hope to in the future.

So here it is yet again; let's see what happens when I munge my From.
Note that this address is bogus, my email address has not changed.

/Hugh

> Date: Sun, 23 Jun 2002 15:45:01 -0700
> From: Hugh Graham <hugh@openbsd.org>
> To: Pasi Pirhonen <upi@iki.fi>
> Cc: Lord Isildur <mrfusion@uranium.vaxpower.org>, port-vax@netbsd.org
> Subject: Re: VAX 4000-108A
> 
> On Sat, Jun 22, 2002 at 04:03:16AM +0300, Pasi Pirhonen wrote:
> > Hi,
> > 
> > Ie. someone is needing that kind of machine (as much it's possible
> > remotely) for 
> > 
> > a) making bootblocks for SCSI (heh)
> 
> I've hopefully avoided having to go through your moderator with this
> post, since the last couple attempts to supply info apparently got
> lost on their way to the list.
> 
> Anyway, with my 4000 100 running again I was able to look at NetBSD's
> newer boot code and figure out what was going wrong. It seems the
> Cheetah doesn't like having the boot device in the rpb rewritten, and
> OpenBSD never had problems since we don't handle SD vs SDN that way.
> 
> I've not got a NetBSD system to test this, but here's a diff against
> the cvs head that should get things close at least. There is still an
> asc at BDEV_SD so where current boot worked a new kernel should be ok.
> 
> /Hugh
> 
> Index: boot/boot/conf.c
> ===================================================================
> RCS file: /cvsroot/syssrc/sys/arch/vax/boot/boot/conf.c,v
> retrieving revision 1.10
> diff -u -r1.10 conf.c
> --- conf.c	2000/06/15 19:53:23	1.10
> +++ conf.c	2002/06/23 22:33:58
> @@ -58,6 +58,7 @@
>          SADEV("rom",romstrategy, romopen, nullsys, noioctl),
>          SADEV("rd",mfmstrategy, mfmopen, nullsys, noioctl),
>          SADEV("sd",romstrategy, romopen, nullsys, noioctl),
> +        SADEV("sd",romstrategy, romopen, nullsys, noioctl),	/* SDN */
>  	SADEV("st",nullsys, nullsys, nullsys, noioctl),
>  	SADEV("le",nostrategy, leopen, leclose, noioctl), /* LANCE */
>          SADEV("ze",nostrategy, zeopen, zeclose, noioctl), /* SGEC */
> @@ -75,6 +76,7 @@
>  	-1,
>  	BDEV_RD,
>  	BDEV_SD,
> +	BDEV_SDN,
>  	BDEV_ST,
>  	BDEV_LE,
>  	BDEV_ZE,
> Index: boot/xxboot/bootxx.c
> ===================================================================
> RCS file: /cvsroot/syssrc/sys/arch/vax/boot/xxboot/bootxx.c,v
> retrieving revision 1.16
> diff -u -r1.16 bootxx.c
> --- bootxx.c	2002/03/29 05:45:08	1.16
> +++ bootxx.c	2002/06/23 22:33:58
> @@ -116,8 +116,6 @@
>  		 */
>  		bcopy ((void *)bootregs[11], rpb, sizeof(struct rpb));
>  		bcopy ((void*)rpb->iovec, bqo, rpb->iovecsz);
> -		if (rpb->devtyp == BDEV_SDN)
> -			rpb->devtyp = BDEV_SD;	/* XXX until driver fixed */
>  	} else {
>  		bzero(rpb, sizeof(struct rpb));
>  		rpb->devtyp = bootregs[0];
> Index: vax/autoconf.c
> ===================================================================
> RCS file: /cvsroot/syssrc/sys/arch/vax/vax/autoconf.c,v
> retrieving revision 1.71
> diff -u -r1.71 autoconf.c
> --- autoconf.c	2002/03/23 18:13:04	1.71
> +++ autoconf.c	2002/06/23 22:33:58
> @@ -332,7 +332,8 @@
>  	struct device *ppdev;
>  
>  	/* Is this a SCSI device? */
> -	if (jmfr("sd", dev, BDEV_SD) && jmfr("cd", dev, BDEV_SD))
> +	if (jmfr("sd", dev, BDEV_SD) && jmfr("cd", dev, BDEV_SD) &&
> +	    jmfr("sd", dev, BDEV_SDN) && jmfr("cd", dev, BDEV_SDN))
>  		return 0;
>  
>  	if (sa->sa_periph->periph_channel->chan_bustype->bustype_type !=
> @@ -346,7 +347,8 @@
>  
>  	/* VS3100 NCR 53C80 (si) & VS4000 NCR 53C94 (asc) */
>  	if (((jmfr("si",  ppdev, BDEV_SD) == 0) ||	/* new name */
> -	     (jmfr("asc", ppdev, BDEV_SD) == 0)) &&
> +	    (jmfr("asc", ppdev, BDEV_SD) == 0) ||
> +	    (jmfr("asc", ppdev, BDEV_SDN) == 0)) &&
>  	    (ppdev->dv_cfdata->cf_loc[0] == rpb.csrphy))
>  			return 1;
>  
>