SCCS-vsn: sys/vax/uba/ubareg.h 7.5
SCCS-vsn: sys/vax/uba/dhu.c 7.3
SCCS-vsn: sys/vax/uba/tmscp.c 7.5
SCCS-vsn: sys/vax/uba/ts.c 7.6
SCCS-vsn: sys/vax/uba/uda.c 7.20
SCCS-vsn: sys/vax/stand/prf.c 7.6
SCCS-vsn: sys/vax/stand/srt0.c 7.5
SCCS-vsn: sys/vax/stand/Makefile 7.16
SCCS-vsn: sys/vax/stand/autoconf.c 7.12
SCCS-vsn: sys/vax/stand/qdcons.c 7.2
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# @(#)Makefile 7.15 (Berkeley) %G%
+# @(#)Makefile 7.16 (Berkeley) %G%
INCPATH=-I. -I../stand -I../h
VPATH= ../stand:../vax
DEFS= ${INCPATH} -DSTANDALONE -DCOMPAT_42
INCPATH=-I. -I../stand -I../h
VPATH= ../stand:../vax
DEFS= ${INCPATH} -DSTANDALONE -DCOMPAT_42
-MACH= -DVAX8600 -DVAX8200 -DVAX780 -DVAX750 -DVAX730 -DVAX630
+MACH= -DVAX8600 -DVAX8200 -DVAX780 -DVAX750 -DVAX730 -DVAX630 -DVAX650
# Collections of C options:
# COPTS device drivers/assembler, not optimized
# Collections of C options:
# COPTS device drivers/assembler, not optimized
COPTS= ${DEFS} ${MACH}
CFLAGS= -O ${DEFS} ${MACH}
730OPTS=-O ${DEFS} -DVAX730
COPTS= ${DEFS} ${MACH}
CFLAGS= -O ${DEFS} ${MACH}
730OPTS=-O ${DEFS} -DVAX730
-SMOPTS= ${DEFS} -DSMALL -DVAX750 -DVAX630
+SMOPTS= ${DEFS} -DSMALL -DVAX750 -DVAX630 -DVAX650
RELOC= 150000
LIBSA= libsa.a
RELOC= 150000
LIBSA= libsa.a
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)autoconf.c 7.11 (Berkeley) %G%
+ * @(#)autoconf.c 7.12 (Berkeley) %G%
/*
* The map registers start at 20088000 on the ka630, so
* subtract a 2k offset to make things work.
/*
* The map registers start at 20088000 on the ka630, so
* subtract a 2k offset to make things work.
+
+#if VAX650
+ case VAX_650:
+#ifndef SMALL
+ if (debug)
+ printf("cpu: uVAX 3000\n");
+#endif
+ ubaddr = ubaddr630;
+ uioaddr = uioaddr630;
+ nuba = 1;
+ break;
+#endif
mtpr(IUR, 0);
*((char *)QIOPAGE630 + QIPCR) = Q_LMEAE;
#if !defined(SMALL)
mtpr(IUR, 0);
*((char *)QIOPAGE630 + QIPCR) = Q_LMEAE;
#if !defined(SMALL)
}
/* give unibus devices a chance to recover... */
}
/* give unibus devices a chance to recover... */
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)prf.c 7.5 (Berkeley) %G%
+ * @(#)prf.c 7.6 (Berkeley) %G%
register c;
{
register s, timo;
register c;
{
register s, timo;
extern (*v_putc)();
if (v_putc) {
extern (*v_putc)();
if (v_putc) {
extern (*v_getc)();
if (v_getc) {
extern (*v_getc)();
if (v_getc) {
while((mfpr(RXCS)&RXCS_DONE) == 0)
;
c = mfpr(RXDB)&0177;
while((mfpr(RXCS)&RXCS_DONE) == 0)
;
c = mfpr(RXDB)&0177;
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)qdcons.c 7.1 (Berkeley) %G%
+ * @(#)qdcons.c 7.2 (Berkeley) %G%
caddr_t qdaddr;
struct dga *dga;
caddr_t qdaddr;
struct dga *dga;
qdaddr = (caddr_t) QDSSCSR;
if (badaddr(qdaddr, sizeof(short)))
qdaddr = (caddr_t) QDSSCSR;
if (badaddr(qdaddr, sizeof(short)))
/*--------------------------------------------------------------------
* tell the VAX ROM that the cursor is at the bottom of the screen */
/*--------------------------------------------------------------------
* tell the VAX ROM that the cursor is at the bottom of the screen */
- NVR = (short *) NVR_ADRS;
+ if (cpu == VAX_630) {
+ NVR = (short *) NVR_ADRS;
- i = *NVR++ & 0xFF;
- i |= (*NVR++ & 0xFF) << 8;
- i |= (*NVR++ & 0xFF) << 16;
- i |= (*NVR++ & 0xFF) << 24;
+ i = *NVR++ & 0xFF;
+ i |= (*NVR++ & 0xFF) << 8;
+ i |= (*NVR++ & 0xFF) << 16;
+ i |= (*NVR++ & 0xFF) << 24;
- ROM_console = (char *) i;
+ ROM_console = (char *) i;
- ROM_console[CURRENT_COL] = ROM_console[COL_MIN];
- ROM_console[CURRENT_ROW] = ROM_console[ROW_MAX];
+ ROM_console[CURRENT_COL] = ROM_console[COL_MIN];
+ ROM_console[CURRENT_ROW] = ROM_console[ROW_MAX];
+ }
/*----------------------------------------------------------
* smash system virtual console service routine addresses */
/*----------------------------------------------------------
* smash system virtual console service routine addresses */
+ printf("switching console to QDSS display...\n");
v_getc = qdgetc;
v_putc = qdputc;
v_getc = qdgetc;
v_putc = qdputc;
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)srt0.c 7.4 (Berkeley) %G%
+ * @(#)srt0.c 7.5 (Berkeley) %G%
*/
#include "../vax/mtpr.h"
*/
#include "../vax/mtpr.h"
mtpr $HIGH,$IPL # just in case
#ifdef REL
mtpr $HIGH,$IPL # just in case
#ifdef REL
- # we need to do special stuff on microvax II
+ # we need to do special stuff on microvaxen
mfpr $SID,r0
cmpzv $24,$8,r0,$VAX_630
mfpr $SID,r0
cmpzv $24,$8,r0,$VAX_630
+ beql 1f
+ cmpzv $24,$8,r0,$VAX_650
+ bneq 2f
/*
* Were we booted by VMB? If so, r11 is not boothowto,
/*
* Were we booted by VMB? If so, r11 is not boothowto,
* User's Manual, pp 3-21). These tests were devised by
* richl@tektronix, 11/10/87.
*/
* User's Manual, pp 3-21). These tests were devised by
* richl@tektronix, 11/10/87.
*/
cmpl (r11),r11 # if boothowto, r11 will be small
cmpl (r11),r11 # if boothowto, r11 will be small
- bneq 1f # and these will not fault
+ bneq 2f # and these will not fault
/*
* Booted by VMB: get flags from extended rpb.
/*
* Booted by VMB: get flags from extended rpb.
*/
movl 0x30(r11),r11
movl $9,r10 # device = ra(0,0)
*/
movl 0x30(r11),r11
movl $9,r10 # device = ra(0,0)
movl $RELOC,sp
#else
movl $RELOC-0x2400,sp
movl $RELOC,sp
#else
movl $RELOC-0x2400,sp
.word 1f-0b # 6 is 8800
.word 1f-0b # 7 is 610
.word 5f-0b # 8 is 630
.word 1f-0b # 6 is 8800
.word 1f-0b # 7 is 610
.word 5f-0b # 8 is 630
+ .word 1f-0b # 9 is ???
+ .word 5f-0b # 10 is 650
5:
mtpr $0xf,$MCESR
brb 1f
5:
mtpr $0xf,$MCESR
brb 1f
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)dhu.c 7.2 (Berkeley) %G%
+ * @(#)dhu.c 7.3 (Berkeley) %G%
register line;
int overrun = 0;
register line;
int overrun = 0;
(void) spl5();
#endif
ui = dhuinfo[dhu];
(void) spl5();
#endif
ui = dhuinfo[dhu];
register int line, t;
u_short cntr;
register int line, t;
u_short cntr;
(void) spl5();
#endif
ui = dhuinfo[dhu];
(void) spl5();
#endif
ui = dhuinfo[dhu];
-/* @(#)tmscp.c 7.4 (Berkeley) %G% */
+/* @(#)tmscp.c 7.5 (Berkeley) %G% */
#ifndef lint
static char *sccsid = "@(#)tmscp.c 1.24 (ULTRIX) 1/21/86";
#ifndef lint
static char *sccsid = "@(#)tmscp.c 1.24 (ULTRIX) 1/21/86";
if (count == DELAYTEN)
return(0);
if (count == DELAYTEN)
return(0);
-#ifdef VAX630
- if (cpu == VAX_630)
+#ifdef QBA
+ if (cpu == VAX_630 || cpu == VAX_650)
br = 0x15; /* screwy interrupt structure */
#endif
return(sizeof (struct tmscpdevice));
br = 0x15; /* screwy interrupt structure */
#endif
return(sizeof (struct tmscpdevice));
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)ts.c 7.5 (Berkeley) %G%
+ * @(#)ts.c 7.6 (Berkeley) %G%
register struct ts_softc *sc;
register int state;
register struct ts_softc *sc;
register int state;
(void) spl5();
#endif
um = tsdinfo[tsunit]->ui_mi;
(void) spl5();
#endif
um = tsdinfo[tsunit]->ui_mi;
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
* All rights reserved. The Berkeley software License Agreement
* specifies the terms and conditions for redistribution.
*
- * @(#)ubareg.h 7.4 (Berkeley) %G%
+ * @(#)ubareg.h 7.5 (Berkeley) %G%
#define DW730 3 /* has adaptor regs, no sr: 750, 730 */
#endif
#define DW730 3 /* has adaptor regs, no sr: 750, 730 */
#endif
#define QBA 4 /* 22-bit Q-bus, no adaptor regs: uVAX II */
#endif
#define QBA 4 /* 22-bit Q-bus, no adaptor regs: uVAX II */
#endif
* Symbolic BUS addresses for UBAs.
*/
* Symbolic BUS addresses for UBAs.
*/
#define QBAMAP630 ((struct pte *)0x20088000)
#define QMEM630 0x30000000
#define QIOPAGE630 0x20000000
#define QBAMAP630 ((struct pte *)0x20088000)
#define QMEM630 0x30000000
#define QIOPAGE630 0x20000000
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
- * @(#)uda.c 7.19 (Berkeley) %G%
+ * @(#)uda.c 7.20 (Berkeley) %G%
goto bad;
/* should have interrupted by now */
goto bad;
/* should have interrupted by now */
-#ifdef VAX630
- if (cpu == VAX_630)
+#ifdef QBA
+ if (cpu == VAX_630 || cpu == VAX_650)
br = 0x15; /* screwy interrupt structure */
#endif
return (sizeof (struct udadevice));
br = 0x15; /* screwy interrupt structure */
#endif
return (sizeof (struct udadevice));
register struct mscp *mp;
register int i;
register struct mscp *mp;
register int i;
(void) spl5(); /* Qbus interrupt protocol is odd */
#endif
sc->sc_wticks = 0; /* reset interrupt watchdog */
(void) spl5(); /* Qbus interrupt protocol is odd */
#endif
sc->sc_wticks = 0; /* reset interrupt watchdog */