Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 (MC830919); site mcvax.UUCP Path: utzoo!linus!decvax!mcvax!pieter From: pieter@mcvax.UUCP (Pieter Hartel) Newsgroups: net.unix-wizards Subject: Boot from UDA50/RA81 on second VAX Unibus Message-ID: <5554@mcvax.UUCP> Date: Tue, 13-Dec-83 15:46:01 EST Article-I.D.: mcvax.5554 Posted: Tue Dec 13 15:46:01 1983 Date-Received: Thu, 15-Dec-83 02:11:09 EST Organization: Math.Centre, Amsterdam Lines: 37 The following describes a modification to be made to the BSD 4.1a code to support a UDA50/RA81 as a boot device on the second Unibus of a VAX-11/7[58]0 The problem is, that the stand alone driver for the UDA50/RA81 does not use the correct unit number, as it may be typed by the operator to the boot command (e.g. ra(8,0)vmunix). Instead the value 0 is assumed, which of course works fine for the first Unibus. The routine "udopen" in /sys/stand/uda.c has to be modified to copy the "io_unit" field of the "io" parameter to the "io_unit" field of the local "cudbuf" structure. The code below shows where one extra statement is to be inserted. udopen(io) register struct iob *io; { register struct mscp *mp; int i; if (udaddr == 0) udaddr = (struct udadevice *)ubamem(io->i_unit, udastd[0]); if (ud_ubaddr == 0) { /* HERE>>>> */ cudbuf.i_unit = io->i_unit; /* INSERT THIS LINE HERE<<<< */ cudbuf.i_ma = (caddr_t)&uda; cudbuf.i_cc = sizeof(uda); ud_ubaddr = (struct uda *)ubasetup(&cudbuf, 2); } We wish you luck, Pieter Hartel & Wiet Bouma ...!mcvax!uva!root University of Amsterdam, Comp. Science Dept.