SCCS-vsn: sys/vax/uba/dz.c 4.20
SCCS-vsn: sys/vax/uba/dh.c 4.27
-/* dh.c 4.26 81/02/27 */
+/* dh.c 4.27 81/03/06 */
#include "dh.h"
#if NDH > 0
#include "dh.h"
#if NDH > 0
register struct dhdevice *addr;
register struct tty *tp0;
register struct uba_dinfo *ui;
register struct dhdevice *addr;
register struct tty *tp0;
register struct uba_dinfo *ui;
ui = dhinfo[dh];
if (ui == 0 || ui->ui_alive == 0)
ui = dhinfo[dh];
if (ui == 0 || ui->ui_alive == 0)
if ((tp->t_flags&(EVENP|ODDP))==EVENP
|| (tp->t_flags&(EVENP|ODDP))==ODDP )
continue;
if ((tp->t_flags&(EVENP|ODDP))==EVENP
|| (tp->t_flags&(EVENP|ODDP))==ODDP )
continue;
- if (c & DH_DO)
- printf("O");
+ if ((c & DH_DO) && overrun == 0) {
+ printf("dh%d: silo overflow\n", dh);
+ overrun = 1;
+ }
if (c & DH_FE)
/*
* At framing error (break) generate
if (c & DH_FE)
/*
* At framing error (break) generate
addr = (struct dhdevice *)ui->ui_addr;
if (addr->un.dhcsr & DH_NXM) {
addr->un.dhcsr |= DH_CNI;
addr = (struct dhdevice *)ui->ui_addr;
if (addr->un.dhcsr & DH_NXM) {
addr->un.dhcsr |= DH_CNI;
- printf("dh%d NXM\n", dh);
+ printf("dh%d: NXM\n", dh);
}
sbar = &dhsar[dh];
bar = *sbar & ~addr->dhbar;
}
sbar = &dhsar[dh];
bar = *sbar & ~addr->dhbar;
if (dh_ubinfo[uban] == 0)
return;
if (dh_ubinfo[uban] == 0)
return;
ubarelse(uban, &dh_ubinfo[uban]);
dh_ubinfo[uban] = uballoc(uban, (caddr_t)cfree,
512+nclist*sizeof (struct cblock), 0);
ubarelse(uban, &dh_ubinfo[uban]);
dh_ubinfo[uban] = uballoc(uban, (caddr_t)cfree,
512+nclist*sizeof (struct cblock), 0);
ui = dhinfo[dh];
if (ui == 0 || ui->ui_alive == 0 || ui->ui_ubanum != uban)
continue;
ui = dhinfo[dh];
if (ui == 0 || ui->ui_alive == 0 || ui->ui_ubanum != uban)
continue;
((struct dhdevice *)ui->ui_addr)->un.dhcsr |= DH_IE;
((struct dhdevice *)ui->ui_addr)->dhsilo = 16;
unit = dh * 16;
((struct dhdevice *)ui->ui_addr)->un.dhcsr |= DH_IE;
((struct dhdevice *)ui->ui_addr)->dhsilo = 16;
unit = dh * 16;
#include "dz.h"
#if NDZ > 0
#include "dz.h"
#if NDZ > 0
register struct device *dzaddr;
register struct tty *tp0;
register int unit;
register struct device *dzaddr;
register struct tty *tp0;
register int unit;
if ((dzact & (1<<dz)) == 0)
return;
if ((dzact & (1<<dz)) == 0)
return;
c = 0;
else
c = tun.t_intrc;
c = 0;
else
c = tun.t_intrc;
- if (c&DZ_DO)
- printf("o");
+ if (c&DZ_DO && overrun == 0) {
+ printf("dz%d: silo overflow\n", dz);
+ overrun = 1;
+ }
if (c&DZ_PE)
if (((tp->t_flags & (EVENP|ODDP)) == EVENP)
|| ((tp->t_flags & (EVENP|ODDP)) == ODDP))
if (c&DZ_PE)
if (((tp->t_flags & (EVENP|ODDP)) == EVENP)
|| ((tp->t_flags & (EVENP|ODDP)) == ODDP))
register int unit;
register struct tty *tp;
register struct uba_dinfo *ui;
register int unit;
register struct tty *tp;
register struct uba_dinfo *ui;
for (unit = 0; unit < NDZLINE; unit++) {
ui = dzinfo[unit >> 3];
if (ui == 0 || ui->ui_ubanum != uban || ui->ui_alive == 0)
continue;
for (unit = 0; unit < NDZLINE; unit++) {
ui = dzinfo[unit >> 3];
if (ui == 0 || ui->ui_ubanum != uban || ui->ui_alive == 0)
continue;
- if (any == 0) {
- printf(" dz");
- any++;
- }
+ if (unit%8 == 0)
+ printf(" dz%d", unit>>3);
tp = &dz_tty[unit];
if (tp->t_state & (ISOPEN|WOPEN)) {
dzparam(unit);
tp = &dz_tty[unit];
if (tp->t_state & (ISOPEN|WOPEN)) {
dzparam(unit);