The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* 2.11BSD boot looping
@ 1999-12-09 21:18 Daniel A. Seagraves
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel A. Seagraves @ 1999-12-09 21:18 UTC (permalink / raw)



[Snip instructions for installing a bootstrap]

No, I got the installation of the bootstrap just fine.  I was told that
the bootstrap for MSCP disks uses a bug in the UDA50 that some 3rd party
controllers don't exhibit.  (In my case, I have a Viking UDT SCSI controller)

I was saying I needed to know where/how to change the bootstrap (modify the
bootstrap, not use a different one) so that it will work.

I got a pointer at some 3BSD stuff on Minnie, but that code used a boot ROM on
the VAX 750 to get it's job done.

I don't have any MSCP books so I don't know where or how to change the
bootstrap to make it work on my machine.

-------

Received: (from major at localhost)
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id LAA22820
	for pups-liszt; Fri, 10 Dec 1999 11:51:06 +1100 (EST)
Received: from moe.2bsd.com (0 at MOE.2BSD.COM [206.139.202.200])
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id LAA22816
	for <pups at minnie.cs.adfa.oz.au>; Fri, 10 Dec 1999 11:50:55 +1100 (EST)
Received: (from sms at localhost)
	by moe.2bsd.com (8.9.0/8.9.0) id QAA18487
	for pups at minnie.cs.adfa.oz.au; Thu, 9 Dec 1999 16:50:12 -0800 (PST)
Date: Thu, 9 Dec 1999 16:50:12 -0800 (PST)
From: "Steven M. Schultz" <sms@moe.2bsd.com>
Message-Id: <199912100050.QAA18487 at moe.2bsd.com>
To: pups at minnie.cs.adfa.oz.au
Subject: Re: 2.11BSD boot looping
Sender: owner-pups at minnie.cs.adfa.edu.au
Precedence: bulk

> From: "Daniel A. Seagraves" <DSEAGRAV at toad.xkl.com>
> I was saying I needed to know where/how to change the bootstrap (modify the
> bootstrap, not use a different one) so that it will work.

	Hmmm, ok - that wasn't clear.   It read as if the documentation was
	needed to install a new/different bootblock.

> I got a pointer at some 3BSD stuff on Minnie, but that code used a boot ROM on
> the VAX 750 to get it's job done.

	Yep - same in 4BSD too, I remember thinking at one time "ah, I'll
	just use the 4BSD bootcode as a guide" only to find out it was
	calling into the ROMs.

> I don't have any MSCP books so I don't know where or how to change the
> bootstrap to make it work on my machine.

	IF the bug is what has been suspected so far then presenting a 
	vector to the controller during the 4 step init process is what
	needs to be done.  

	Looking at the standalone MSCP driver (/sys/pdpstand/ra.c) which has
	the logic to specify a vector even though interrupts are not use the 
	logic is:

	if (rainit[ctlr] == 0) {
again:		raaddr->raip = 0;
		if 	(ra_step(raaddr, RA_STEP1, 1))
			goto again;
		raaddr->rasa = RA_ERR | (0154/4);
		if	(ra_step(raaddr, RA_STEP2, 2))
			goto again;
		iomapadr(&racom->ra_ca.ca_ringbase, &bae, &lo16);
		raaddr->rasa = lo16;
		if	(ra_step(raaddr, RA_STEP3, 3))
			goto again;
		raaddr->rasa = bae;
		if	(ra_step(raaddr, RA_STEP4, 4))
			goto again;
		raaddr->rasa = RA_GO;
		if (racmd(M_OP_STCON, io) < 0) {
			printf("%s STCON err\n", devname(io));
			return(-1);
		}
		rainit[ctlr] = 1;
	}

	Thus it is only done on 'first open'.

	It is in step 1 that the vector divided by 4 needs to be "OR"'d into
	the work presented to the controller.

	The ra boot block code (/sys/mdec/rauboot.s) has a loop:

/
/ RA initialize controller
/
	mov	$RASTEP1,r0
	mov	raip,r1
	clr	(r1)+			/ go through controller init seq.
	mov	$icons,r2
1:
	bit	r0,(r1)
	beq	1b
---->>>>
	mov	(r2)+,(r1)
	asl	r0
	bpl	1b
	mov	$ra+RARSPREF,*$ra+RARSPL / set controller characteristics
	mov	$ra+RACMDREF,*$ra+RACMDL
	mov	$RASTCON,r0
	jsr	pc,racmd
	mov	unit,*$ra+RAUNIT	/ bring boot unit online
	mov	$RAONLIN,r0
	jsr	pc,racmd
		...




	I suspect that the loop at ---->>> needs to be modified to do something
	special for step 1.

	Steve



^ permalink raw reply	[flat|nested] 4+ messages in thread

* 2.11BSD boot looping
  1999-11-29 22:07 Steven M. Schultz
@ 1999-12-08 21:09 ` Daniel A. Seagraves
  0 siblings, 0 replies; 4+ messages in thread
From: Daniel A. Seagraves @ 1999-12-08 21:09 UTC (permalink / raw)


[I need to change the bootstrap]

Okay, someone needs to explain what I should change then, I don't have
any docs about MSCP.

[I don't know how to use my mailer]

Yes, I sent this twice. ^_^
-------

Received: (from major at localhost)
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id PAA18420
	for pups-liszt; Thu, 9 Dec 1999 15:20:56 +1100 (EST)
Received: from moe.2bsd.com (0 at MOE.2BSD.COM [206.139.202.200])
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id PAA18416
	for <pups at minnie.cs.adfa.oz.au>; Thu, 9 Dec 1999 15:20:47 +1100 (EST)
Received: (from sms at localhost)
	by moe.2bsd.com (8.9.0/8.9.0) id UAA06521
	for pups at minnie.cs.adfa.oz.au; Wed, 8 Dec 1999 20:11:55 -0800 (PST)
Date: Wed, 8 Dec 1999 20:11:55 -0800 (PST)
From: "Steven M. Schultz" <sms@moe.2bsd.com>
Message-Id: <199912090411.UAA06521 at moe.2bsd.com>
To: pups at minnie.cs.adfa.oz.au
Subject: Re: 2.11BSD boot looping
Sender: owner-pups at minnie.cs.adfa.edu.au
Precedence: bulk

> From: "Daniel A. Seagraves" <DSEAGRAV at toad.xkl.com>
> [I need to change the bootstrap]
> 
> Okay, someone needs to explain what I should change then, I don't have
> any docs about MSCP.
> 
> [I don't know how to use my mailer]
> 
> Yes, I sent this twice. ^_^

	I received 3 copies :)

	No docs for/about MSCP are required to install the bootblock.  That
	would only be needed if you wanted to write a bootblock and/or
	driver.

	The documentation you do want to read is the 'disklabel(8)' manpage
	and in particular the "-B" option.

			disklabel -B ra0

	should do what you want.  You can also do it with a 'dd':

	You will need to be at a single user prompt since writes to raw
	disks for which the cooked counterpart is mounted are prohibited
	if the secure level of the system is greater than 0:

			dd if=/mdec/rauboot of=/dev/rra0a

	If, as I seem to recall, you can't boot the disk (image/whatever)
	because the wrong bootblock is present you will have to use the
	'boot' program from a "bootable tape".   This may entail using
	a "toggle in" tape boot (described in the 2.11 setup/installation
	documentation in fairly good detail).   At the boot prompt (':')
	after booting from tape:

			: ra(0,0)unix
			   .... kernel should load, print out the usual
			   .... messages about memory size, etc
			# disklabel -B ra0  (or 'dd ...')

	In essence you're going thru the last part of system installation,
	you don't need to 'mkfs', 'restor', etc because the data is already
	present on the disk.  Just skip all that and use the tape 'boot'
	program to load the kernel and then write the proper bootblock to
	disk.

	Steven



^ permalink raw reply	[flat|nested] 4+ messages in thread

* 2.11BSD boot looping
@ 1999-11-29 22:07 Steven M. Schultz
  1999-12-08 21:09 ` Daniel A. Seagraves
  0 siblings, 1 reply; 4+ messages in thread
From: Steven M. Schultz @ 1999-11-29 22:07 UTC (permalink / raw)


Hi -

> From: James Lothian <simul8 at simul8.demon.co.uk>
> For what it's worth, this does sound suspiciously like what the 4.3
> boot code did with the Viking. As far as I can remember, there is a 
> flag in one of the UDA50 registers that is set to 1 one the device
> interrupts. The 4.3 boot code runs the UDA50 with interrupts disabled,

	Actually it's in the response packet rather than a UDA 'register' but
	yep - that sounds very familiar.

> but polls this flag to find out when the controller has finished a
> command.
> On the UDA50, even if interrupts are disabled, this flag gets set. On
> the viking, it doesn't. I can't remember the exact change I made, but I

	At least one of the changes was to give the MSCP adaptor a vector 
	during the 3 or 4 step init process.   Normally 4.3/2.11 didn't bother
	to give a vector since interrupts were disabled.   It doesn't
	reall matter what the vector is as long as it's non zero - the
	value used was 0154 (primary/1st MSCP adaptor).

	Some other 3rd party adaptors (can't recall if it was Dilog or
	Emulex or ...) had the same problem.

> "Daniel A. Seagraves" wrote:
> > 
> > It's looping around at 157702.
> > 
> > 157702 contains 001776

	Hmmm, I wonder if that's in the bootblock code or the actual boot
	program. 

	The standalone MSCP driver in 2.11 has the "give a vector to the
	adaptor" change  so my guess is that the bootblock is where the
	looping is happening.  The bootbock (rauboot.s from /sys/mdec)
	relocates itself to 0160000-01000 or 0157000 so a loop at 0157702
	would be where the 'racmd:' routine is looping waiting for a
	command to complete (or the adaptor to come ready the first time).

	I thought the same "give a vector" change had been made to rauboot.s
	but it would appear that's not the case ;-(

	Steven Schultz

Received: (from major at localhost)
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) id CAA59602
	for pups-liszt; Wed, 1 Dec 1999 02:59:41 +1100 (EST)
Received: from gull.prod.itd.earthlink.net (gull.prod.itd.earthlink.net [207.217.121.85])
	by minnie.cs.adfa.edu.au (8.9.3/8.9.3) with ESMTP id CAA59598
	for <pups at minnie.cs.adfa.oz.au>; Wed, 1 Dec 1999 02:59:32 +1100 (EST)
Received: from gort (1Cust124.tnt2.covina.ca.da.uu.net [63.27.25.124])
	by gull.prod.itd.earthlink.net (8.9.3/8.9.3) with SMTP id HAA18132
	for <pups at minnie.cs.adfa.oz.au>; Tue, 30 Nov 1999 07:59:21 -0800 (PST)
Date: Tue, 30 Nov 1999 07:59:21 -0800 (PST)
Message-Id: <199911301559.HAA18132 at gull.prod.itd.earthlink.net>
X-Sender: mjcrehan at earthlink.net
X-Mailer: Windows Eudora Light Version 1.5.2
Mime-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
To: pups at minnie.cs.adfa.oz.au
From: Martin Crehan <mjcrehan@earthlink.net>
Subject: Salon.com article on John Lions book
Sender: owner-pups at minnie.cs.adfa.edu.au
Precedence: bulk

The site Salon.com has an article:
http://www.Salon1999.com/tech/feature/1999/11/30/lions/index.html
on John Lions' book about Sixth Edition Unix, written by from a non-computer
geek's viewpoint.

Martin Crehan




^ permalink raw reply	[flat|nested] 4+ messages in thread

* 2.11BSD boot looping
       [not found] <13503043955.14.DSEAGRAV@toad.xkl.com>
@ 1999-11-29 14:55 ` James Lothian
  0 siblings, 0 replies; 4+ messages in thread
From: James Lothian @ 1999-11-29 14:55 UTC (permalink / raw)


For what it's worth, this does sound suspiciously like what the 4.3
boot code did with the Viking. As far as I can remember, there is a 
flag in one of the UDA50 registers that is set to 1 one the device
interrupts. The 4.3 boot code runs the UDA50 with interrupts disabled,
but polls this flag to find out when the controller has finished a
command.
On the UDA50, even if interrupts are disabled, this flag gets set. On
the viking, it doesn't. I can't remember the exact change I made, but I
got it from the sources for some later version of 4.3, which I probably
found on the internet. I'll try firing the beast up tonight, and see if
I
can figure out what I did. 

My hacked around version of UW 4.3+NFS that Michael Sokolov uploaded
to PUPS should also contain this modification. Somebody could try 
comparing my version to the original UW version -- they're both in the
archive, as far as I know.

James

"Daniel A. Seagraves" wrote:
> 
> It's looping around at 157702.
> 
> 157702 contains 001776
> 
> -------



^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1999-12-09 21:18 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-12-09 21:18 2.11BSD boot looping Daniel A. Seagraves
  -- strict thread matches above, loose matches on Subject: below --
1999-11-29 22:07 Steven M. Schultz
1999-12-08 21:09 ` Daniel A. Seagraves
     [not found] <13503043955.14.DSEAGRAV@toad.xkl.com>
1999-11-29 14:55 ` James Lothian

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).