Support for DDB on DZ console.

This commit is contained in:
ragge 1998-05-21 13:02:20 +00:00
parent 2be2a5eb88
commit cd17c11c60
4 changed files with 53 additions and 8 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: dz.c,v 1.7 1998/05/17 18:51:13 ragge Exp $ */
/* $NetBSD: dz.c,v 1.8 1998/05/21 13:02:21 ragge Exp $ */
/*
* Copyright (c) 1996 Ken C. Wellsch. All rights reserved.
* Copyright (c) 1992, 1993
@ -50,8 +50,13 @@
#include <sys/syslog.h>
#include <sys/device.h>
#ifdef DDB
#include <dev/cons.h>
#endif
#include <machine/pte.h>
#include <machine/trap.h>
#include <machine/cpu.h>
#include <vax/uba/ubareg.h>
#include <vax/uba/ubavar.h>
@ -176,9 +181,20 @@ dzrint(cntlr)
if (c & DZ_RBUF_PARITY_ERR)
cc |= TTY_PE;
#if DDB && (VAX410 || VAX43)
#define DZMAJOR 1 /* XXX */
if (makedev(DZMAJOR, line + NDZLINE*cntlr) == cn_tab->cn_dev) {
int j = kdbrint(cc);
if (j == 1) /* Escape received, just return */
continue;
if (j == 2) /* Second char wasn't 'D' */
(*linesw[tp->t_line].l_rint)(27, tp);
}
#endif
(*linesw[tp->t_line].l_rint)(cc, tp);
}
return;
}
/* Transmitter Interrupt */

View File

@ -1,4 +1,4 @@
/* $NetBSD: conf.c,v 1.33 1998/05/17 19:00:56 ragge Exp $ */
/* $NetBSD: conf.c,v 1.34 1998/05/21 13:02:20 ragge Exp $ */
/*-
* Copyright (c) 1982, 1986 The Regents of the University of California.
@ -148,7 +148,6 @@ int nblkdev = sizeof(bdevsw) / sizeof(bdevsw[0]);
#include <dev/cons.h>
cons_decl(gen);
#define dzcnpollc nullcnpollc
cons_decl(dz);
cons_decl(qd);
#include "qv.h"

View File

@ -1,4 +1,4 @@
/* $NetBSD: dz_vsbus.c,v 1.1 1998/05/17 18:52:34 ragge Exp $ */
/* $NetBSD: dz_vsbus.c,v 1.2 1998/05/21 13:02:21 ragge Exp $ */
/*
* Copyright (c) 1998 Ludd, University of Lule}, Sweden.
* All rights reserved.
@ -108,7 +108,7 @@ dz_vsbus_attach(parent, self, aux)
sc->sc_txon = txon;
sc->sc_rxon = rxon;
sc->sc_dsr = 0x0d; /* XXX check if VS has modem ctrl bits */
sc->sc_dsr = 0x0f; /* XXX check if VS has modem ctrl bits */
vsbus_intr_attach(INR_SR, dzrint, 0);
vsbus_intr_attach(INR_ST, dzxint, 0);
printf(": DC367");
@ -204,3 +204,17 @@ dzcnputc(dev,ch)
break;
dz->tdr = ch; /* Put the character */
}
void
dzcnpollc(dev, pollflag)
dev_t dev;
int pollflag;
{
if (pollflag) {
vsbus_intr_disable(INR_SR);
vsbus_intr_disable(INR_ST);
} else {
vsbus_intr_enable(INR_SR);
vsbus_intr_enable(INR_ST);
}
}

View File

@ -1,4 +1,4 @@
/* $NetBSD: dz.c,v 1.7 1998/05/17 18:51:13 ragge Exp $ */
/* $NetBSD: dz.c,v 1.8 1998/05/21 13:02:21 ragge Exp $ */
/*
* Copyright (c) 1996 Ken C. Wellsch. All rights reserved.
* Copyright (c) 1992, 1993
@ -50,8 +50,13 @@
#include <sys/syslog.h>
#include <sys/device.h>
#ifdef DDB
#include <dev/cons.h>
#endif
#include <machine/pte.h>
#include <machine/trap.h>
#include <machine/cpu.h>
#include <vax/uba/ubareg.h>
#include <vax/uba/ubavar.h>
@ -176,9 +181,20 @@ dzrint(cntlr)
if (c & DZ_RBUF_PARITY_ERR)
cc |= TTY_PE;
#if DDB && (VAX410 || VAX43)
#define DZMAJOR 1 /* XXX */
if (makedev(DZMAJOR, line + NDZLINE*cntlr) == cn_tab->cn_dev) {
int j = kdbrint(cc);
if (j == 1) /* Escape received, just return */
continue;
if (j == 2) /* Second char wasn't 'D' */
(*linesw[tp->t_line].l_rint)(27, tp);
}
#endif
(*linesw[tp->t_line].l_rint)(cc, tp);
}
return;
}
/* Transmitter Interrupt */