/boot,/mdec,/[T]MSCP (Part 9 of 22)
Steven M. Schultz
sms at wlv.imsd.contel.com
Sat May 18 16:39:06 AEST 1991
Subject: Part 9 of 22 /boot,/mdec,[T]MSCP updates
Index: /sys/<many>, /usr/src/etc/<several> 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
}
More information about the Comp.bugs.2bsd
mailing list