SCCS-vsn: sys/vax/uba/up.c 4.66
-/* up.c 4.65 82/12/17 */
+/* up.c 4.66 83/02/10 */
#include "up.h"
#if NSC > 0
#include "up.h"
#if NSC > 0
} up_softc[NSC];
/* THIS SHOULD BE READ OFF THE PACK, PER DRIVE */
} up_softc[NSC];
/* THIS SHOULD BE READ OFF THE PACK, PER DRIVE */
daddr_t nblocks;
int cyloff;
} up_sizes[8] = {
daddr_t nblocks;
int cyloff;
} up_sizes[8] = {
-#ifdef ERNIE
- 49324, 0, /* A=cyl 0 thru 26 */
-#else
#ifdef ERNIE
49324, 0, /* A=cyl 0 thru 26 */
#else
15884, 0, /* A=cyl 0 thru 26 */
#ifdef ERNIE
49324, 0, /* A=cyl 0 thru 26 */
#else
15884, 0, /* A=cyl 0 thru 26 */
#endif
33440, 27, /* B=cyl 27 thru 81 */
495520, 0, /* C=cyl 0 thru 814 */
15884, 562, /* D=cyl 562 thru 588 */
55936, 589, /* E=cyl 589 thru 680 */
#endif
33440, 27, /* B=cyl 27 thru 81 */
495520, 0, /* C=cyl 0 thru 814 */
15884, 562, /* D=cyl 562 thru 588 */
55936, 589, /* E=cyl 589 thru 680 */
81376, 681, /* F=cyl 681 thru 814 */
153728, 562, /* G=cyl 562 thru 814 */
81376, 681, /* F=cyl 681 thru 814 */
153728, 562, /* G=cyl 562 thru 814 */
-#else
- 81472, 681,
- 153824, 562,
-#endif
291346, 82, /* H=cyl 82 thru 561 */
}, fj_sizes[8] = {
15884, 0, /* A=cyl 0 thru 49 */
291346, 82, /* H=cyl 82 thru 561 */
}, fj_sizes[8] = {
15884, 0, /* A=cyl 0 thru 49 */
213664, 155, /* H=cyl 155 thru 822 */
213664, 155, /* H=cyl 155 thru 822 */
-#else
- 213760, 155,
-#endif
}, upam_sizes[8] = {
15884, 0, /* A=cyl 0 thru 31 */
33440, 32, /* B=cyl 32 thru 97 */
}, upam_sizes[8] = {
15884, 0, /* A=cyl 0 thru 31 */
33440, 32, /* B=cyl 32 thru 97 */
};
struct buf rupbuf[NUP];
};
struct buf rupbuf[NUP];
struct buf bupbuf[NUP];
struct dkbad upbad[NUP];
struct buf bupbuf[NUP];
struct dkbad upbad[NUP];
#ifndef NOBADSECT
struct buf bupbuf[NUP];
struct dkbad upbad[NUP];
#ifndef NOBADSECT
struct buf bupbuf[NUP];
struct dkbad upbad[NUP];
upaddr->upcs1 = UP_IE|UP_PRESET|UP_GO;
upaddr->upof = UPOF_FMT22;
didie = 1;
upaddr->upcs1 = UP_IE|UP_PRESET|UP_GO;
upaddr->upof = UPOF_FMT22;
didie = 1;
st = &upst[ui->ui_type];
bbp->b_flags = B_READ|B_BUSY;
bbp->b_dev = bp->b_dev;
st = &upst[ui->ui_type];
bbp->b_flags = B_READ|B_BUSY;
bbp->b_dev = bp->b_dev;
dp->b_actf = bbp;
bbp->av_forw = bp;
bp = bbp;
dp->b_actf = bbp;
bbp->av_forw = bp;
bp = bbp;
#ifndef NOBADSECT
st = &upst[ui->ui_type];
bbp->b_flags = B_READ|B_BUSY;
#ifndef NOBADSECT
st = &upst[ui->ui_type];
bbp->b_flags = B_READ|B_BUSY;
dk_busy &= ~(1 << ui->ui_dk);
if ((upaddr->upcs2&07) != ui->ui_slave)
upaddr->upcs2 = ui->ui_slave;
dk_busy &= ~(1 << ui->ui_dk);
if ((upaddr->upcs2&07) != ui->ui_slave)
upaddr->upcs2 = ui->ui_slave;
if (bp->b_flags&B_BAD) {
if (upecc(ui, CONT))
return;
}
if (bp->b_flags&B_BAD) {
if (upecc(ui, CONT))
return;
}
#ifndef NOBADSECT
if (bp->b_flags&B_BAD) {
if (upecc(ui, CONT))
#ifndef NOBADSECT
if (bp->b_flags&B_BAD) {
if (upecc(ui, CONT))
upaddr->uper2, UPER2_BITS);
bp->b_flags |= B_ERROR;
} else if (upaddr->uper2 & UPER2_BSE) {
upaddr->uper2, UPER2_BITS);
bp->b_flags |= B_ERROR;
} else if (upaddr->uper2 & UPER2_BSE) {
if (upecc(ui, BSE))
return;
else
if (upecc(ui, BSE))
return;
else
goto hard;
} else if (upaddr->uper2 & UPER2_BSE) {
#ifndef NOBADSECT
goto hard;
} else if (upaddr->uper2 & UPER2_BSE) {
#ifndef NOBADSECT