Subject: Re: AW: MV3100m9x boot stuff --> MV 3100 Mod. 96 success!
To: None <ragge@ludd.luth.se>
From: Jochen Kunz <jkunz@unixag-kl.fh-kl.de>
List: port-vax
Date: 10/31/2002 00:47:33
On 2002.10.30 21:38 ragge@ludd.luth.se wrote:

> Send me anything and I will add it :-)
I did not write this patches. I only prepared binaries.

Here is the mail I took the patches from:

> 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
>=20
> On Sat, Jun 22, 2002 at 04:03:16AM +0300, Pasi Pirhonen wrote:
> > Hi,
> >=20
> > Ie. someone is needing that kind of machine (as much it's possible
> > remotely) for=20
> >=20
> > a) making bootblocks for SCSI (heh)
>=20
> 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.
>=20
> 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.
>=20
> 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.
>=20
> /Hugh
>=20
> Index: boot/boot/conf.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 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
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 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 =3D=3D BDEV_SDN)
> -			rpb->devtyp =3D BDEV_SD;	/* XXX until
driver fixed */
>  	} else {
>  		bzero(rpb, sizeof(struct rpb));
>  		rpb->devtyp =3D bootregs[0];
> Index: vax/autoconf.c
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> 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;
> =20
>  	/* 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;
> =20
>  	if (sa->sa_periph->periph_channel->chan_bustype->bustype_type
!=3D
> @@ -346,7 +347,8 @@
> =20
>  	/* VS3100 NCR 53C80 (si) & VS4000 NCR 53C94 (asc) */
>  	if (((jmfr("si",  ppdev, BDEV_SD) =3D=3D 0) ||	/* new name
*/
> -	     (jmfr("asc", ppdev, BDEV_SD) =3D=3D 0)) &&
> +	    (jmfr("asc", ppdev, BDEV_SD) =3D=3D 0) ||
> +	    (jmfr("asc", ppdev, BDEV_SDN) =3D=3D 0)) &&
>  	    (ppdev->dv_cfdata->cf_loc[0] =3D=3D rpb.csrphy))
>  			return 1;
> =20
>=20

--=20



tsch=FC=DF,
         Jochen

Homepage: http://www.unixag-kl.fh-kl.de/~jkunz/