CSS 2.9BSD bug report #15
Keith Bostic
keith at seismo.CSS.GOV
Mon Nov 18 12:22:47 AEST 1985
Subject: RF-11, C/A/T, RP03, DN11
Index: sys/dev, sys/conf
Description:
The setups for the RF-11, the C/A/T, and the DN-11 aren't complete.
The block sizes for the RP-03 are wrong.
Fix:
Apply the following diffs; UNLESS YOU ARE ACTUALLY USING THESE
DEVICES, DON'T BOTHER, IT'S FAR MORE TROUBLE THAN IT'S WORTH.
----------------------------------------------------------------------
*** src/sys/dev/rf.c.orig
--- src/sys/dev/rf.c
***************
*** 31,37
rfstrategy(bp)
register struct buf *bp;
{
! if (RFADDR == (struct rfdevice * NULL)) {
bp->b_error = ENXIO;
goto errexit;
}
--- 31,37 -----
rfstrategy(bp)
register struct buf *bp;
{
! if (RFADDR == (struct rfdevice *) NULL) {
bp->b_error = ENXIO;
goto errexit;
}
----------------------------------------------------------------------
*** src/sys/conf/ioconf.c.orig
--- src/sys/conf/ioconf.c
***************
*** 3,8
#include "hk.h"
#include "hp.h"
#include "hs.h"
#include "rk.h"
#include "rl.h"
#include "rm.h"
--- 3,9 -----
#include "hk.h"
#include "hp.h"
#include "hs.h"
+ #include "rf.h"
#include "rk.h"
#include "rl.h"
#include "rm.h"
***************
*** 66,71
struct dldevice *KLADDR = 0177560;
#if NRK > 0
struct rkdevice *RKADDR = 0177400;
#endif NRK
--- 67,76 -----
struct dldevice *KLADDR = 0177560;
+ #if NRF > 0
+ struct rfdevice *RFADDR = 0177460;
+ #endif NRF
+
#if NRK > 0
struct rkdevice *RKADDR = 0177400;
#endif NRK
***************
*** 95,101
struct size rp_sizes[] = {
10400, 0, /* cyl 0 - 51 */
5200, 52, /* cyl 52 - 77 */
! 67580, 78, /* cyl 78 - 414 */
0, 0,
0, 0,
0, 0,
--- 100,106 -----
struct size rp_sizes[] = {
10400, 0, /* cyl 0 - 51 */
5200, 52, /* cyl 52 - 77 */
! 65600, 78, /* cyl 78 - 405 */
0, 0,
0, 0,
0, 0,
***************
*** 100,106
0, 0,
0, 0,
0, 0,
! 83180, 0 /* cyl 0 - 414 */
};
#endif NRP
--- 105,111 -----
0, 0,
0, 0,
0, 0,
! 81200, 0 /* cyl 0 - 405 */
};
#endif NRP
----------------------------------------------------------------------
*** src/sys/conf/Makefile.orig Fri Dec 23 01:50:07 1983
--- src/sys/conf/Makefile Wed Dec 26 12:39:13 1984
***************
*** 42,49
malloc.o nami.o pipe.o prf.o prim.o rdwri.o sig.o \
slp.o subr.o sys1.o sys2.o sys3.o sys4.o sysent.o \
syslocal.o text.o trap.o ureg.o \
! bio.o dh.o dkbad.o dkleave.o dn.o dsort.o dz.o hk.o \
! hp.o ht.o kl.o lp.o mem.o partab.o rk.o rl.o rm.o \
rp.o sys.o tm.o ts.o tty.o ttynew.o ttyold.o xp.o vp.o
# boot.o must be loaded in the base well above 0 data
--- 42,49 -----
malloc.o nami.o pipe.o prf.o prim.o rdwri.o sig.o \
slp.o subr.o sys1.o sys2.o sys3.o sys4.o sysent.o \
syslocal.o text.o trap.o ureg.o \
! bio.o cat.o dh.o dkbad.o dkleave.o dn.o dsort.o dz.o hk.o \
! hp.o ht.o kl.o lp.o mem.o partab.o rf.o rk.o rl.o rm.o \
rp.o sys.o tm.o ts.o tty.o ttynew.o ttyold.o xp.o vp.o
# boot.o must be loaded in the base well above 0 data
***************
*** 77,84
l.o: l.s whoami.h ${I}/a.out.h \
${I}/sys/trap.h ${I}/sys/koverlay.h \
! dh.h dn.h dz.h hk.h hp.h hs.h ht.h kl.h lp.h \
! rk.h rl.h rm.h rp.h tm.h ts.h vp.h xp.h
${CPP} ${CPPFLAGS} l.s >l.i
${AS} -o l.o l.i
-rm l.i
--- 77,84 -----
l.o: l.s whoami.h ${I}/a.out.h \
${I}/sys/trap.h ${I}/sys/koverlay.h \
! ct.h dh.h dn.h dz.h hk.h hp.h hs.h ht.h kl.h lp.h \
! rf.h rk.h rl.h rm.h rp.h tm.h ts.h vp.h xp.h
${CPP} ${CPPFLAGS} l.s >l.i
${AS} -o l.o l.i
-rm l.i
***************
*** 127,134
c.o: param.h ${I}/sys/systm.h ${I}/sys/buf.h ${I}/sys/tty.h ${I}/sys/conf.h
c.o: ${I}/sys/proc.h ${I}/sys/text.h ${I}/sys/dir.h ${I}/sys/user.h
c.o: ${I}/sys/file.h ${I}/sys/inode.h ${I}/sys/acct.h ${I}/sys/map.h
! c.o: ${I}/sys/filsys.h ${I}/sys/mount.h bk.h dh.h dn.h dz.h hk.h hp.h hs.h ht.h
! c.o: lp.h rk.h rl.h rm.h rp.h tm.h ts.h vp.h xp.h
${C} c.c
${E} c.s
${A} c.o c.s
--- 127,134 -----
c.o: param.h ${I}/sys/systm.h ${I}/sys/buf.h ${I}/sys/tty.h ${I}/sys/conf.h
c.o: ${I}/sys/proc.h ${I}/sys/text.h ${I}/sys/dir.h ${I}/sys/user.h
c.o: ${I}/sys/file.h ${I}/sys/inode.h ${I}/sys/acct.h ${I}/sys/map.h
! c.o: ${I}/sys/filsys.h ${I}/sys/mount.h bk.h ct.h dh.h dn.h dz.h hk.h hp.h hs.h ht.h
! c.o: lp.h rf.h rk.h rl.h rm.h rp.h tm.h ts.h vp.h xp.h
${C} c.c
${E} c.s
${A} c.o c.s
***************
*** 135,141
-rm c.s
ioconf.o: ioconf.c
! ioconf.o: param.h ${I}/sys/systm.h hk.h hp.h hs.h rk.h rl.h rm.h rp.h xp.h
ioconf.o: ${I}/sys/hpreg.h
${C} ioconf.c
${E} ioconf.s
--- 135,141 -----
-rm c.s
ioconf.o: ioconf.c
! ioconf.o: param.h ${I}/sys/systm.h hk.h hp.h hs.h rf.h rk.h rl.h rm.h rp.h xp.h
ioconf.o: ${I}/sys/hpreg.h
${C} ioconf.c
${E} ioconf.s
***************
*** 381,386
${A} bio.o bio.s
-rm bio.s
dh.o: ../dev/dh.c
dh.o: dh.h param.h ${I}/sys/conf.h ${I}/sys/systm.h ${I}/sys/dir.h
dh.o: ${I}/sys/user.h ${I}/sys/file.h ${I}/sys/tty.h ${I}/sys/dhreg.h
--- 381,394 -----
${A} bio.o bio.s
-rm bio.s
+ cat.o: ../dev/cat.c
+ cat.o: ct.h param.h ${I}/sys/dir.h ${I}/sys/user.h ${I}/sys/tty.h
+ cat.o: ${I}/sys/ctreg.h
+ ${C} ../dev/cat.c
+ ${E} cat.s
+ ${A} cat.o cat.s
+ -rm cat.s
+
dh.o: ../dev/dh.c
dh.o: dh.h param.h ${I}/sys/conf.h ${I}/sys/systm.h ${I}/sys/dir.h
dh.o: ${I}/sys/user.h ${I}/sys/file.h ${I}/sys/tty.h ${I}/sys/dhreg.h
***************
*** 492,497
${E} partab.s
${A} partab.o partab.s
-rm partab.s
rk.o: ../dev/rk.c
rk.o: rk.h param.h ${I}/sys/systm.h ${I}/sys/buf.h ${I}/sys/conf.h
--- 500,513 -----
${E} partab.s
${A} partab.o partab.s
-rm partab.s
+
+ rf.o: ../dev/rf.c
+ rf.o: rf.h param.h ${I}/sys/systm.h ${I}/sys/buf.h ${I}/sys/conf.h
+ rf.o: ${I}/sys/dir.h ${I}/sys/user.h ${I}/sys/rfreg.h
+ ${C} ../dev/rf.c
+ ${E} rf.s
+ ${A} rf.o rf.s
+ -rm rf.s
rk.o: ../dev/rk.c
rk.o: rk.h param.h ${I}/sys/systm.h ${I}/sys/buf.h ${I}/sys/conf.h
----------------------------------------------------------------------
*** src/sys/conf/c.c.orig
--- src/sys/conf/c.c
***************
*** 34,39
#define bkinput nodev
#endif NBK
#include "dh.h"
#if NDH > 0
int dhopen(), dhclose(), dhread(), dhwrite(), dhioctl(), dhstop();
--- 34,48 -----
#define bkinput nodev
#endif NBK
+ #include "ct.h"
+ #if NCT > 0
+ int ctopen(), ctclose(), ctwrite();
+ #else
+ #define ctopen nodev
+ #define ctclose nodev
+ #define ctwrite nodev
+ #endif NCT
+
#include "dh.h"
#if NDH > 0
int dhopen(), dhclose(), dhread(), dhwrite(), dhioctl(), dhstop();
***************
*** 156,161
#define lpwrite nodev
#endif NLP
#include "rk.h"
#if NRK > 0
int rkstrategy(), rkread(), rkwrite();
--- 165,186 -----
#define lpwrite nodev
#endif NLP
+ #include "rf.h"
+ #if NRF > 0
+ int rfstrategy(), rfread(), rfwrite();
+ extern struct buf rftab;
+ #define rfopen nulldev
+ #define rfclose nulldev
+ #define _rftab &rftab
+ #else
+ #define rfopen nodev
+ #define rfclose nodev
+ #define rfstrategy nodev
+ #define rfread nodev
+ #define rfwrite nodev
+ #define _rftab ((struct buf *) NULL)
+ #endif NRF
+
#include "rk.h"
#if NRK > 0
int rkstrategy(), rkread(), rkwrite();
***************
*** 296,303
rpopen, rpclose, rpstrategy,
nulldev, _rptab, /* rp = 1 */
! nodev, nodev, nodev,
! nulldev, 0, /* rf = 2 */
tmopen, tmclose, tmstrategy,
nulldev, _tmtab, /* tm = 3 */
--- 321,328 -----
rpopen, rpclose, rpstrategy,
nulldev, _rptab, /* rp = 1 */
! rfopen, rfclose, rfstrategy,
! nulldev, _rftab, /* rf = 2 */
tmopen, tmclose, tmstrategy,
nulldev, _tmtab, /* tm = 3 */
***************
*** 371,378
rkopen, rkclose, rkread, rkwrite,
nodev, nulldev, 0, /* rk = 9 */
! nodev, nodev, nodev, nodev,
! nodev, nodev, 0, /* rf = 10 */
rpopen, rpclose, rpread, rpwrite,
nodev, nulldev, 0, /* rp = 11 */
--- 396,403 -----
rkopen, rkclose, rkread, rkwrite,
nodev, nulldev, 0, /* rk = 9 */
! rfopen, rfclose, rfread, rfwrite,
! nodev, nulldev, 0, /* rf = 10 */
rpopen, rpclose, rpread, rpwrite,
nodev, nulldev, 0, /* rp = 11 */
***************
*** 418,423
dzopen, dzclose, dzread, dzwrite,
dzioctl, dzstop, dz11, /* dz = 21 */
};
--- 443,451 -----
dzopen, dzclose, dzread, dzwrite,
dzioctl, dzstop, dz11, /* dz = 21 */
+
+ ctopen, ctclose, nodev, ctwrite,
+ nodev, nodev, 0, /* ct = 22 */
};
----------------------------------------------------------------------
*** src/sys/conf/l.s.orig
--- src/sys/conf/l.s
***************
*** 11,16
#include <sys/iopage.m>
#include <sys/koverlay.h> /* for definition of OVLY_TABLE_BASE */
#include "dh.h"
#include "dn.h"
#include "dz.h"
--- 11,17 -----
#include <sys/iopage.m>
#include <sys/koverlay.h> /* for definition of OVLY_TABLE_BASE */
+ #include "ct.h"
#include "dh.h"
#include "dn.h"
#include "dz.h"
***************
*** 20,25
#include "ht.h"
#include "kl.h"
#include "lp.h"
#include "rk.h"
#include "rl.h"
#include "rm.h"
--- 21,27 -----
#include "ht.h"
#include "kl.h"
#include "lp.h"
+ #include "rf.h"
#include "rk.h"
#include "rl.h"
#include "rm.h"
***************
*** 114,119
rlio; br5
#endif
#if NHK > 0
. = ZERO+210
hkio; br5
--- 116,126 -----
rlio; br5
#endif
+ #if NRF > 0
+ . = ZERO+204
+ rfio; br5
+ #endif
+
#if NHK > 0
. = ZERO+210
hkio; br5
***************
*** 138,143
#else
#if NRM > 0
rmio; br5
#endif
#endif
#endif
--- 145,154 -----
#else
#if NRM > 0
rmio; br5
+ / + RBH fix -- they forgot RP03s!
+ #else
+ #if NRP > 0
+ rpio; br5
#endif
/ -
#endif
***************
*** 139,144
#if NRM > 0
rmio; br5
#endif
#endif
#endif
--- 150,156 -----
#if NRP > 0
rpio; br5
#endif
+ / -
#endif
#endif
#endif
***************
*** 141,146
#endif
#endif
#endif
/ floating vectors
. = ZERO + 1000
--- 153,159 -----
/ -
#endif
#endif
+ #endif
/ floating vectors
. = ZERO + 1000
***************
*** 200,205
.globl _clock
kwlp: jsr r0,call; jmp _clock
#if NDH > 0
.globl _dhrint
dhin: jsr r0,call; jmp _dhrint
--- 213,223 -----
.globl _clock
kwlp: jsr r0,call; jmp _clock
+ #if NCT > 0
+ .globl _ctintr / They forgot C/A/Ts, too.
+ ctio: jsr r0,call; jmp _ctintr
+ #endif
+
#if NDH > 0
.globl _dhrint
dhin: jsr r0,call; jmp _dhrint
***************
*** 212,217
dmin: jsr r0,call; jmp _dmintr
#endif
#if NDZ > 0
.globl _dzrint
dzin: jsr r0,call; jmp _dzrint
--- 230,240 -----
dmin: jsr r0,call; jmp _dmintr
#endif
+ #if NDN > 0
+ .globl _dnint / They forgot DNs, too.
+ dnou: jsr r0,call; jmp _dnint
+ #endif
+
#if NDZ > 0
.globl _dzrint
dzin: jsr r0,call; jmp _dzrint
***************
*** 244,249
#if NLP > 0
.globl _lpintr
lpio: jsr r0,call; jmp _lpintr
#endif
#if NRK > 0
--- 267,277 -----
#if NLP > 0
.globl _lpintr
lpio: jsr r0,call; jmp _lpintr
+ #endif
+
+ #if NRF > 0
+ .globl _rfintr
+ rfio: jsr r0,call; jmp _rfintr
#endif
#if NRK > 0
----------------------------------------------------------------------
*** src/sys/conf/config.sh.orig
--- src/sys/conf/config.sh
***************
*** 30,36
dumplo="UNSPECIFIED"
dumproutine="UNSPECIFIED"
! NBK=0 NDH=0 NDM=0 LOWDM=0 NDN=0 NDZ=0 NHK=0 NHP=0
NHS=0 NHT=0 NKL=1 NLP=0 NRF=0 NRK=0 NRL=0
NRM=0 NRP=0 NTM=0 NTS=0 NVP=0 NXP=0 NXP_CONTROLLER=0
--- 30,36 -----
dumplo="UNSPECIFIED"
dumproutine="UNSPECIFIED"
! NBK=0 NCT=0 NDH=0 NDM=0 LOWDM=0 NDN=0 NDZ=0 NHK=0 NHP=0
NHS=0 NHT=0 NKL=1 NLP=0 NRF=0 NRK=0 NRL=0
NRM=0 NRP=0 NTM=0 NTS=0 NVP=0 NXP=0 NXP_CONTROLLER=0
***************
*** 76,83
echo "Copying in configuration files."
cp c.c genassym.c ioconf.c l.s param.c ../$machine
cp whoami.h localopts.h param.h ../$machine
! cp bk.h dh.h dn.h dz.h hk.h hp.h hs.h ht.h kl.h lp.h ../$machine
! cp rk.h rl.h rm.h rp.h tm.h ts.h vp.h xp.h ../$machine
cp :comm-to-bss $splfix ../$machine
cp Depend newvers.sh checksys.c ../$machine
chmod 664 ../$machine/param.h
--- 76,83 -----
echo "Copying in configuration files."
cp c.c genassym.c ioconf.c l.s param.c ../$machine
cp whoami.h localopts.h param.h ../$machine
! cp bk.h ct.h dh.h dn.h dz.h hk.h hp.h hs.h ht.h kl.h lp.h ../$machine
! cp rf.h rk.h rl.h rm.h rp.h tm.h ts.h vp.h xp.h ../$machine
cp :comm-to-bss $splfix ../$machine
cp Depend newvers.sh checksys.c ../$machine
chmod 664 ../$machine/param.h
***************
*** 134,140
: Now edit all of the device header files.
echo "Setting up device header files."
! for hd in bk.h dh.h dn.h dz.h hk.h hp.h hs.h ht.h kl.h lp.h rk.h rl.h rm.h rp.h tm.h ts.h vp.h xp.h
do
chmod 664 ../$machine/$hd
done
--- 134,140 -----
: Now edit all of the device header files.
echo "Setting up device header files."
! for hd in bk.h ct.h dh.h dn.h dz.h hk.h hp.h hs.h ht.h kl.h lp.h rf.h rk.h rl.h rm.h rp.h tm.h ts.h vp.h xp.h
do
chmod 664 ../$machine/$hd
done
***************
*** 144,149
w
q
EOF
ed - ../$machine/dh.h << EOF
/%NDH%/s//$NDH/
/%NDM%/s//$NDM/
--- 144,154 -----
w
q
EOF
+ ed - ../$machine/ct.h << EOF
+ /%NCT%/s//$NCT/
+ w
+ q
+ EOF
ed - ../$machine/dh.h << EOF
/%NDH%/s//$NDH/
/%NDM%/s//$NDM/
***************
*** 188,193
EOF
ed - ../$machine/lp.h << EOF
/%NLP%/s//$NLP/
w
q
EOF
--- 193,203 -----
EOF
ed - ../$machine/lp.h << EOF
/%NLP%/s//$NLP/
+ w
+ q
+ EOF
+ ed - ../$machine/rf.h << EOF
+ /%NRF%/s//$NRF/
w
q
EOF
----------------------------------------------------------------------
*** src/sys/conf/Depend.orig
--- src/sys/conf/Depend
***************
*** 10,17
# Other files may be included in the OPTIONAL listing; some possiblities
# are listed here. See also the Others subdirectory of ../dev.
! #OPTIONAL= ../sys/enable34.c ../dev/bk.c ../dev/cat.c ../dev/cr.c ../dev/dvhp.c\
! ../dev/rf.c
CONFFILES = c.c ioconf.c
--- 10,16 -----
# Other files may be included in the OPTIONAL listing; some possiblities
# are listed here. See also the Others subdirectory of ../dev.
! #OPTIONAL= ../sys/enable34.c ../dev/bk.c ../dev/cr.c ../dev/dvhp.c
CONFFILES = c.c ioconf.c
***************
*** 23,29
../sys/sysent.c ../sys/syslocal.c ../sys/text.c \
../sys/trap.c ../sys/ureg.c
! DEVFILES = ../dev/bio.c ../dev/dh.c ../dev/dkbad.c ../dev/dkleave.c \
../dev/dn.c ../dev/dsort.c ../dev/dz.c ../dev/hk.c \
../dev/hp.c ../dev/hs.c ../dev/ht.c ../dev/kl.c ../dev/lp.c \
../dev/mem.c ../dev/partab.c ../dev/rk.c ../dev/rl.c ../dev/rm.c \
--- 22,28 -----
../sys/sysent.c ../sys/syslocal.c ../sys/text.c \
../sys/trap.c ../sys/ureg.c
! DEVFILES = ../dev/bio.c ../dev/cat.c ../dev/dh.c ../dev/dkbad.c ../dev/dkleave.c \
../dev/dn.c ../dev/dsort.c ../dev/dz.c ../dev/hk.c \
../dev/hp.c ../dev/hs.c ../dev/ht.c ../dev/kl.c ../dev/lp.c \
../dev/mem.c ../dev/partab.c ../dev/rf.c ../dev/rk.c ../dev/rl.c \
***************
*** 26,34
DEVFILES = ../dev/bio.c ../dev/dh.c ../dev/dkbad.c ../dev/dkleave.c \
../dev/dn.c ../dev/dsort.c ../dev/dz.c ../dev/hk.c \
../dev/hp.c ../dev/hs.c ../dev/ht.c ../dev/kl.c ../dev/lp.c \
! ../dev/mem.c ../dev/partab.c ../dev/rk.c ../dev/rl.c ../dev/rm.c \
! ../dev/rp.c ../dev/sys.c ../dev/tm.c ../dev/ts.c ../dev/tty.c \
! ../dev/ttynew.c ../dev/ttyold.c ../dev/xp.c ../dev/vp.c
depend:
grep '^#include' ${CONFFILES} ${SYSFILES} ${DEVFILES} ${OPTIONAL} | \
--- 25,33 -----
DEVFILES = ../dev/bio.c ../dev/cat.c ../dev/dh.c ../dev/dkbad.c ../dev/dkleave.c \
../dev/dn.c ../dev/dsort.c ../dev/dz.c ../dev/hk.c \
../dev/hp.c ../dev/hs.c ../dev/ht.c ../dev/kl.c ../dev/lp.c \
! ../dev/mem.c ../dev/partab.c ../dev/rf.c ../dev/rk.c ../dev/rl.c \
! ../dev/rm.c ../dev/rp.c ../dev/sys.c ../dev/tm.c ../dev/ts.c \
! ../dev/tty.c ../dev/ttynew.c ../dev/ttyold.c ../dev/xp.c ../dev/vp.c
depend:
grep '^#include' ${CONFFILES} ${SYSFILES} ${DEVFILES} ${OPTIONAL} | \
More information about the Comp.bugs.2bsd
mailing list