Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!crdgw1!uakari.primate.wisc.edu!zaphod.mps.ohio-state.edu!wuarchive!cs.utexas.edu!swrinde!elroy.jpl.nasa.gov!mahendo!wlbr!news From: sms@wlv.imsd.contel.com (Steven M. Schultz) Newsgroups: comp.bugs.2bsd Subject: /boot,/mdec,/[T]MSCP (Part 9 of 22) Message-ID: <1991May18.063906.26047@wlbr.imsd.contel.com> Date: 18 May 91 06:39:06 GMT Sender: news@wlbr.imsd.contel.com (news) Organization: Contel Federal Systems Lines: 71 Nntp-Posting-Host: wlv.imsd.contel.com Subject: Part 9 of 22 /boot,/mdec,[T]MSCP updates Index: /sys/, /usr/src/etc/ 2.11BSD Description: Repeat-By: Fix: See part 0 (the README) for the Description, the Reason and the instructions on how update your system. This is part 9 of 22 The RL02 driver could not be used in the GENERIC kernel on a UNIBUS system. *** /usr/src/sys/pdpuba/rl.c.old Tue Apr 3 13:26:00 1990 --- /usr/src/sys/pdpuba/rl.c Wed Apr 24 20:51:12 1991 *************** *** 32,37 **** --- 32,39 ---- struct rldevice *RLADDR; + static int q22bae = 1; + struct buf rrlbuf[NRL]; /* Raw header for each drive */ struct buf rlutab[NRL]; /* Seek structure for each device */ struct buf rltab; *************** *** 274,282 **** rladdr->rlda = (rl.chn << 6) | rl.sn; rladdr->rlba = (caddr_t)rl.rl_un.w[1]; rladdr->rlmp = -(rl.bpart >> 1); ! #ifdef Q22 ! rladdr->rlbae = rl.rl_un.w[0]; ! #endif rladdr->rlcs = rl.com | (rl.rl_un.w[0] & 03) << 4; #ifdef UCB_METER if (rl_dkn >= 0) { --- 276,285 ---- rladdr->rlda = (rl.chn << 6) | rl.sn; rladdr->rlba = (caddr_t)rl.rl_un.w[1]; rladdr->rlmp = -(rl.bpart >> 1); ! if (q22bae == 1) ! q22bae = (fioword(&rladdr->rlbae) == -1 ? -1 : 0); ! if (q22bae == 0) ! rladdr->rlbae = rl.rl_un.w[0]; rladdr->rlcs = rl.com | (rl.rl_un.w[0] & 03) << 4; #ifdef UCB_METER if (rl_dkn >= 0) { *************** *** 458,466 **** } else { #endif rladdr->rlba = loint(paddr); ! #ifdef Q22 ! rladdr->rlbae = hiint(paddr); ! #endif com |= (hiint(paddr) & 03) << 4; #ifdef UNIBUS_MAP } --- 461,470 ---- } else { #endif rladdr->rlba = loint(paddr); ! if (q22bae == 1) ! q22bae = (fioword(&rladdr->rlbae) == -1 ? -1:0); ! if (q22bae == 0) ! rladdr->rlbae = hiint(paddr); com |= (hiint(paddr) & 03) << 4; #ifdef UNIBUS_MAP }