summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2006-04-21 22:21:55 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2006-04-21 22:21:55 +0000
commit13ea5ad44cf1481b3e98c3bc986f5cb649f7c477 (patch)
treef7d426d783945959e51025c2daa2700ddb88c311
parenta439473339626e15c695fb38e77aed946064fe91 (diff)
Since bugtty (and BUG routines in general) can only work if we keep the BUG
mapped, and we don't, do not bother carrying this code around - it can not be used anyway.
-rw-r--r--sys/arch/mvme68k/conf/GENERIC8
-rw-r--r--sys/arch/mvme68k/conf/MVME1478
-rw-r--r--sys/arch/mvme68k/conf/MVME1628
-rw-r--r--sys/arch/mvme68k/conf/MVME1678
-rw-r--r--sys/arch/mvme68k/conf/MVME1778
-rw-r--r--sys/arch/mvme68k/conf/RAMDISK8
-rw-r--r--sys/arch/mvme68k/conf/files.mvme68k6
-rw-r--r--sys/arch/mvme68k/dev/bug.c240
-rw-r--r--sys/arch/mvme68k/dev/bugtty.c480
-rw-r--r--sys/arch/mvme68k/include/bugio.h44
-rw-r--r--sys/arch/mvme68k/mvme68k/conf.c10
-rw-r--r--sys/arch/mvme68k/mvme68k/locore.s28
-rw-r--r--sys/arch/mvme68k/mvme68k/machdep.c114
13 files changed, 35 insertions, 935 deletions
diff --git a/sys/arch/mvme68k/conf/GENERIC b/sys/arch/mvme68k/conf/GENERIC
index 6fc48fcf75f..1b5573cba6c 100644
--- a/sys/arch/mvme68k/conf/GENERIC
+++ b/sys/arch/mvme68k/conf/GENERIC
@@ -1,4 +1,4 @@
-# $OpenBSD: GENERIC,v 1.27 2005/11/27 14:19:06 miod Exp $
+# $OpenBSD: GENERIC,v 1.28 2006/04/21 22:21:53 miod Exp $
#
# For further information on compiling OpenBSD kernels, see the config(8)
# man page.
@@ -75,8 +75,6 @@ memc0 at pcctwo0 offset 0x43000
memc1 at pcctwo0 offset 0x43100
sram0 at mainbus0 addr 0xffe00000
-bugtty0 at mainbus0
-
vmes0 at vme0
vs* at vmes0 addr 0xffff9000 ipl 2 vec 0x80
@@ -104,7 +102,3 @@ ss* at scsibus?
safte* at scsibus?
ses* at scsibus?
uk* at scsibus?
-
-#si0 at vmes0 addr 0xff200000 ipl 2 vec 0x40
-#nxdc0 at vmes0 addr 0xff00ee80 ipl 2 vec 0x44
-#xd* at xdc?
diff --git a/sys/arch/mvme68k/conf/MVME147 b/sys/arch/mvme68k/conf/MVME147
index 1e5f6899b19..190d60ed23a 100644
--- a/sys/arch/mvme68k/conf/MVME147
+++ b/sys/arch/mvme68k/conf/MVME147
@@ -1,4 +1,4 @@
-# $OpenBSD: MVME147,v 1.19 2005/11/27 14:19:06 miod Exp $
+# $OpenBSD: MVME147,v 1.20 2006/04/21 22:21:53 miod Exp $
machine mvme68k m68k
@@ -29,8 +29,6 @@ wdsc0 at pcc0 offset 0x4000 ipl 2
lp0 at pcc0 ipl 1
vme0 at pcc0 offset 0x2000
-bugtty0 at mainbus0
-
vmes0 at vme0
#vs* at vmes0 addr 0xffff9000 ipl 2 vec 0x80
@@ -55,7 +53,3 @@ cd* at scsibus?
ch* at scsibus?
ss* at scsibus?
uk* at scsibus?
-
-#si0 at vmes0 addr 0xff200000 ipl 2 vec 0x40
-#nxdc0 at vmes0 addr 0xff00ee80 ipl 2 vec 0x44
-#xd* at xdc?
diff --git a/sys/arch/mvme68k/conf/MVME162 b/sys/arch/mvme68k/conf/MVME162
index 0139271bc5d..77bb359e879 100644
--- a/sys/arch/mvme68k/conf/MVME162
+++ b/sys/arch/mvme68k/conf/MVME162
@@ -1,4 +1,4 @@
-# $OpenBSD: MVME162,v 1.22 2005/11/27 14:19:07 miod Exp $
+# $OpenBSD: MVME162,v 1.23 2006/04/21 22:21:53 miod Exp $
machine mvme68k m68k
@@ -36,8 +36,6 @@ sram0 at mainbus0 addr 0xffe00000
fooip* at ipic? manu 0x11 prod 0x22 ipl 1
-bugtty0 at mainbus0
-
vmes0 at vme0
vs* at vmes0 addr 0xffff9000 ipl 2 vec 0x80
@@ -62,7 +60,3 @@ cd* at scsibus?
ch* at scsibus?
ss* at scsibus?
uk* at scsibus?
-
-#si0 at vmes0 addr 0xff200000 ipl 2 vec 0x40
-#nxdc0 at vmes0 addr 0xff00ee80 ipl 2 vec 0x44
-#xd* at xdc?
diff --git a/sys/arch/mvme68k/conf/MVME167 b/sys/arch/mvme68k/conf/MVME167
index 65c4bf115e6..a35106a2b38 100644
--- a/sys/arch/mvme68k/conf/MVME167
+++ b/sys/arch/mvme68k/conf/MVME167
@@ -1,4 +1,4 @@
-# $OpenBSD: MVME167,v 1.22 2005/11/27 14:19:07 miod Exp $
+# $OpenBSD: MVME167,v 1.23 2006/04/21 22:21:53 miod Exp $
machine mvme68k m68k
@@ -32,8 +32,6 @@ memc0 at pcctwo0 offset 0x43000
memc1 at pcctwo0 offset 0x43100
sram0 at mainbus0 addr 0xffe00000
-bugtty0 at mainbus0
-
vmes0 at vme0
vs* at vmes0 addr 0xffff9000 ipl 2 vec 0x80
@@ -58,7 +56,3 @@ cd* at scsibus?
ch* at scsibus?
ss* at scsibus?
uk* at scsibus?
-
-#si0 at vmes0 addr 0xff200000 ipl 2 vec 0x40
-#nxdc0 at vmes0 addr 0xff00ee80 ipl 2 vec 0x44
-#xd* at xdc?
diff --git a/sys/arch/mvme68k/conf/MVME177 b/sys/arch/mvme68k/conf/MVME177
index f1661195a3e..da871847443 100644
--- a/sys/arch/mvme68k/conf/MVME177
+++ b/sys/arch/mvme68k/conf/MVME177
@@ -1,4 +1,4 @@
-# $OpenBSD: MVME177,v 1.11 2005/11/27 14:19:07 miod Exp $
+# $OpenBSD: MVME177,v 1.12 2006/04/21 22:21:53 miod Exp $
machine mvme68k m68k
@@ -32,8 +32,6 @@ memc0 at pcctwo0 offset 0x43000
memc1 at pcctwo0 offset 0x43100
sram0 at mainbus0 addr 0xffe00000
-bugtty0 at mainbus0
-
vmes0 at vme0
vs* at vmes0 addr 0xffff9000 ipl 2 vec 0x80
@@ -58,7 +56,3 @@ cd* at scsibus?
ch* at scsibus?
ss* at scsibus?
uk* at scsibus?
-
-#si0 at vmes0 addr 0xff200000 ipl 2 vec 0x40
-#nxdc0 at vmes0 addr 0xff00ee80 ipl 2 vec 0x44
-#xd* at xdc?
diff --git a/sys/arch/mvme68k/conf/RAMDISK b/sys/arch/mvme68k/conf/RAMDISK
index 3c1e4e73058..04ffba489da 100644
--- a/sys/arch/mvme68k/conf/RAMDISK
+++ b/sys/arch/mvme68k/conf/RAMDISK
@@ -1,4 +1,4 @@
-# $OpenBSD: RAMDISK,v 1.7 2005/11/27 14:19:07 miod Exp $
+# $OpenBSD: RAMDISK,v 1.8 2006/04/21 22:21:53 miod Exp $
machine mvme68k m68k
@@ -79,8 +79,6 @@ memc0 at pcctwo0 offset 0x43000
memc1 at pcctwo0 offset 0x43100
sram0 at mainbus0 addr 0xffe00000
-bugtty0 at mainbus0
-
vmes0 at vme0
vs* at vmes0 addr 0xffff9000 ipl 2 vec 0x80
@@ -104,10 +102,6 @@ sd* at scsibus?
st* at scsibus?
cd* at scsibus?
-#si0 at vmes0 addr 0xff200000 ipl 2 vec 0x40
-#nxdc0 at vmes0 addr 0xff00ee80 ipl 2 vec 0x44
-#xd* at xdc?
-
pseudo-device loop 1 # network loopback
pseudo-device bpfilter 1 # packet filter
pseudo-device rd 1 # ramdisk
diff --git a/sys/arch/mvme68k/conf/files.mvme68k b/sys/arch/mvme68k/conf/files.mvme68k
index daebb15d8ef..f1a2db99140 100644
--- a/sys/arch/mvme68k/conf/files.mvme68k
+++ b/sys/arch/mvme68k/conf/files.mvme68k
@@ -1,4 +1,4 @@
-# $OpenBSD: files.mvme68k,v 1.28 2005/11/27 14:19:07 miod Exp $
+# $OpenBSD: files.mvme68k,v 1.29 2006/04/21 22:21:53 miod Exp $
# config file for mvme68k
@@ -34,10 +34,6 @@ device cl: tty
attach cl at pcctwo
file arch/mvme68k/dev/cl.c cl needs-count
-device bugtty: tty
-attach bugtty at mainbus
-file arch/mvme68k/dev/bugtty.c bugtty needs-count
-file arch/mvme68k/dev/bug.c bugtty
device vme {}
attach vme at pcc, mc, pcctwo
diff --git a/sys/arch/mvme68k/dev/bug.c b/sys/arch/mvme68k/dev/bug.c
deleted file mode 100644
index ba28b90a15c..00000000000
--- a/sys/arch/mvme68k/dev/bug.c
+++ /dev/null
@@ -1,240 +0,0 @@
-/* $OpenBSD: bug.c,v 1.6 2003/06/03 01:35:30 drahn Exp $ */
-
-/*
- * Copyright (c) 1995 Dale Rahn.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * bug routines -- assumes that the necessary sections of memory
- * are preserved.
- */
-#include <sys/param.h>
-
-#include <machine/bugio.h>
-#include <machine/prom.h>
-
-/* flag to traphandler to signify prom call. presumes splhigh() */
-extern volatile int promcall;
-
-void bug_outln(char *, char *);
-void bug_delay(int);
-void bug_stat(void);
-void asm_bug_stat(void);
-
-/* tty routines */
-char
-bug_inchr()
-{
- int s = splhigh();
- volatile char a;
-
- promcall = 1;
- asm volatile ("subql #2,sp");
- MVMEPROM_CALL(MVMEPROM_INCHR);
- asm volatile ("nop");
- asm volatile ("movb sp@+,%0" : "=d" (a));
- promcall = 0;
- splx(s);
- return (a);
-}
-
-/* returns 0 if no characters ready to read */
-int
-bug_instat()
-{
- int s = splhigh();
- volatile short ret;
-
- promcall = 1;
- MVMEPROM_CALL(MVMEPROM_INSTAT);
- asm volatile ("nop");
- asm volatile ("movw ccr,%0" : "=d" (ret));
- promcall = 0;
- splx(s);
- return (!(ret & 0x4));
-}
-
-void
-bug_outchr(a)
- char a;
-{
- int s = splhigh();
-
- promcall = 1;
- asm volatile ("movb %0,sp@-" :: "d" (a));
- MVMEPROM_CALL(MVMEPROM_OUTCHR);
- asm volatile ("nop");
- promcall = 0;
- splx(s);
-}
-
-void
-bug_outstr(pstrb, pstre)
- char *pstrb;
- char *pstre;
-{
- int s = splhigh();
-
- promcall = 1;
- asm volatile ("movl %0,sp@-" :: "d" (pstre));
- asm volatile ("movl %0,sp@-" :: "d" (pstrb));
- MVMEPROM_CALL(MVMEPROM_OUTSTR);
- promcall = 0;
- splx(s);
-}
-
-void
-bug_outln(pstrb, pstre)
- char *pstrb;
- char *pstre;
-{
- int s = splhigh();
-
- promcall = 1;
- asm volatile ("movl %0,sp@-" :: "d" (pstre));
- asm volatile ("movl %0,sp@-" :: "d" (pstrb));
- MVMEPROM_CALL(MVMEPROM_OUTSTRCRLF);
- promcall = 0;
- splx(s);
-}
-
-/* BUG - disk routines */
-
-#if 0
-/* returns 0: success, nonzero: error */
-u_int bug_drdcnt = 0;
-int
-bug_diskrd(arg)
- bug_dskio *arg;
-{
- volatile int ret;
-
- promcall = 1;
- bug_drdcnt++;
- asm volatile ("movl %0, sp@-" :: "d" (arg));
- MVMEPROM_CALL(MVMEPROM_DSKRD);
- asm volatile ("nop");
- asm volatile ("movw ccr,%0" : "=d" (ret));
- promcall = 0;
- return (!(ret & 0x4));
-}
-
-/* returns 0: success, nonzero: error */
-u_int bug_dwrcnt = 0;
-int
-bug_diskwr(arg)
- bug_dskio *arg;
-{
- volatile int ret;
-
- promcall = 1;
- bug_dwrcnt ++;
- asm volatile ("movl %0, sp@-" :: "d" (arg));
- MVMEPROM_CALL(MVMEPROM_DSKWR);
- asm volatile ("nop");
- asm volatile ("movw ccr,%0" : "=d" (ret));
- promcall = 0;
- return (!(ret & 0x4));
-}
-
-bug_diskcfig()
-{
-}
-
-bug_diskfmt()
-{
-}
-
-bug_diskctrl()
-{
-}
-#endif
-
-/* BUG - timing routine */
-void
-bug_delay(delay_msec)
- int delay_msec;
-{
- int s = splhigh();
-
- promcall = 1;
- asm volatile ("movl %0,sp@-" :: "d" (delay_msec));
- MVMEPROM_CALL(MVMEPROM_DELAY);
- asm volatile ("nop");
- promcall = 0;
- splx(s);
-}
-
-/* BUG - return to bug routine */
-void
-bug_return()
-{
- promcall = 1;
- MVMEPROM_CALL(MVMEPROM_EXIT);
- promcall = 0;
- /*NOTREACHED*/
-}
-
-/* BUG - query board routines */
-struct bug_brdid *
-bug_brdid()
-{
- struct bug_brdid *pbrd_id;
-
- promcall = 1;
- asm volatile ("clrl sp@-");
- MVMEPROM_CALL(MVMEPROM_GETBRDID);
- asm volatile ("movl sp@+,%0" : "=d" (pbrd_id):);
- promcall = 0;
- return (pbrd_id);
-}
-
-int asm_callbuf[4];
-
-void
-bug_stat()
-{
- char val[] = "|/-\\";
- static int cnt = 0;
-
- bug_outchr('\b');
- bug_outchr(val[cnt]);
- cnt = (cnt + 1) % (sizeof(val) -1);
-}
-
-void
-asm_bug_stat()
-{
- asm volatile ("movl a0,_asm_callbuf+0");
- asm volatile ("movl a1,_asm_callbuf+4");
- asm volatile ("movl d0,_asm_callbuf+8");
- asm volatile ("movl d1,_asm_callbuf+12");
-
- bug_stat();
-
- asm volatile ("movl _asm_callbuf+0,a0");
- asm volatile ("movl _asm_callbuf+4,a1");
- asm volatile ("movl _asm_callbuf+8,d0");
- asm volatile ("movl _asm_callbuf+12,d1");
-}
diff --git a/sys/arch/mvme68k/dev/bugtty.c b/sys/arch/mvme68k/dev/bugtty.c
deleted file mode 100644
index 9ad515c9e5b..00000000000
--- a/sys/arch/mvme68k/dev/bugtty.c
+++ /dev/null
@@ -1,480 +0,0 @@
-/* $OpenBSD: bugtty.c,v 1.14 2006/01/01 11:59:39 miod Exp $ */
-
-/*
- * Copyright (c) 1995 Dale Rahn.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
- * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/ioctl.h>
-#include <sys/device.h>
-#include <sys/tty.h>
-#include <sys/proc.h>
-#include <sys/uio.h>
-#include <sys/queue.h>
-#include <dev/cons.h>
-
-#include <machine/autoconf.h>
-#include <machine/bugio.h>
-#include <machine/conf.h>
-#include <machine/cpu.h>
-#include <machine/prom.h>
-
-#include "bugtty.h"
-
-int bugttymatch(struct device *parent, void *self, void *aux);
-void bugttyattach(struct device *parent, struct device *self, void *aux);
-
-struct cfattach bugtty_ca = {
- sizeof(struct device), bugttymatch, bugttyattach
-};
-
-struct cfdriver bugtty_cd = {
- NULL, "bugtty", DV_TTY
-};
-
-/* prototypes */
-cons_decl(bugtty);
-
-struct tty *bugttytty(dev_t);
-int bugttymctl(dev_t, int, int);
-int bugttyparam(struct tty*, struct termios *);
-void bugtty_chkinput(void);
-
-#define DIALOUT(x) ((x) & 0x80)
-#define SWFLAGS(dev) (bugttyswflags | (DIALOUT(dev) ? TIOCFLAG_SOFTCAR : 0))
-#define BUGTTYUNIT(x) ((x) & 0x7f)
-
-#define BUGBUF 80
-char bugtty_ibuffer[BUGBUF+1];
-volatile char *pinchar = bugtty_ibuffer;
-char bug_obuffer[BUGBUF+1];
-
-#define BUGTTYS 4
-struct tty *bugtty_tty[BUGTTYS];
-
-struct tty *
-bugttytty(dev)
- dev_t dev;
-{
- int unit;
-
- unit = BUGTTYUNIT(dev);
- if (unit >= BUGTTYS)
- return (NULL);
- return (bugtty_tty[unit]);
-}
-
-int
-bugttymatch(parent, self, aux)
- struct device *parent;
- void *self;
- void *aux;
-{
- extern int needprom;
-
- if (needprom == 0)
- return (0);
- return (1);
-}
-
-void
-bugttyattach(parent, self, aux)
- struct device *parent;
- struct device *self;
- void *aux;
-{
- printf(": fallback console\n");
-}
-
-void bugttyoutput(struct tty *tp);
-
-int bugttydefaultrate = TTYDEF_SPEED;
-int bugttyswflags;
-
-int
-bugttymctl(dev, bits, how)
- dev_t dev;
- int bits, how;
-{
- /*static int settings = TIOCM_DTR | TIOCM_RTS |
- TIOCM_CTS | TIOCM_CD | TIOCM_DSR;*/
- int s;
-
- /*printf("mctl: dev %x, bits %x, how %x,",dev, bits, how);*/
-
- /* settings are currently ignored */
- s = spltty();
- switch (how) {
- case DMSET:
- break;
- case DMBIC:
- break;
- case DMBIS:
- break;
- case DMGET:
- break;
- }
- splx(s);
-
- bits = 0;
- /* proper defaults? */
- bits |= TIOCM_DTR;
- bits |= TIOCM_RTS;
- bits |= TIOCM_CTS;
- bits |= TIOCM_CD;
- /* bits |= TIOCM_RI; */
- bits |= TIOCM_DSR;
-
- /* printf("retbits %x\n", bits); */
- return (bits);
-}
-
-int
-bugttyopen(dev, flag, mode, p)
- dev_t dev;
- int flag, mode;
- struct proc *p;
-{
- int s, unit = BUGTTYUNIT(dev);
- struct tty *tp;
- extern int needprom;
-
- if (needprom == 0)
- return (ENODEV);
-
- s = spltty();
- if (bugtty_tty[unit]) {
- tp = bugtty_tty[unit];
- } else {
- tp = bugtty_tty[unit] = ttymalloc();
- }
- tp->t_oproc = bugttyoutput;
- tp->t_param = NULL;
- tp->t_dev = dev;
-
- if ((tp->t_state & TS_ISOPEN) == 0) {
- tp->t_state |= TS_WOPEN;
- ttychars(tp);
- if (tp->t_ispeed == 0) {
- /*
- * only when cleared do we reset to defaults.
- */
- tp->t_iflag = TTYDEF_IFLAG;
- tp->t_oflag = TTYDEF_OFLAG;
- tp->t_cflag = TTYDEF_CFLAG;
- tp->t_lflag = TTYDEF_LFLAG;
- tp->t_ispeed = tp->t_ospeed = bugttydefaultrate;
- }
- /* bugtty does not have carrier */
- tp->t_cflag |= CLOCAL;
- /*
- * do these all the time
- */
- if (bugttyswflags & TIOCFLAG_CLOCAL)
- tp->t_cflag |= CLOCAL;
- if (bugttyswflags & TIOCFLAG_CRTSCTS)
- tp->t_cflag |= CRTSCTS;
- if (bugttyswflags & TIOCFLAG_MDMBUF)
- tp->t_cflag |= MDMBUF;
- bugttyparam(tp, &tp->t_termios);
- ttsetwater(tp);
-
- (void)bugttymctl(dev, TIOCM_DTR | TIOCM_RTS, DMSET);
- /*
- if ((SWFLAGS(dev) & TIOCFLAG_SOFTCAR) ||
- (bugttymctl(dev, 0, DMGET) & TIOCM_CD))
- tp->t_state |= TS_CARR_ON;
- else
- tp->t_state &= ~TS_CARR_ON;
- */
- tp->t_state |= TS_CARR_ON;
- } else if (tp->t_state & TS_XCLUDE && p->p_ucred->cr_uid != 0) {
- splx(s);
- return (EBUSY);
- }
-
- /*
- * if NONBLOCK requested, ignore carrier
- */
-/*
- if (flag & O_NONBLOCK)
- goto done;
-*/
-
- splx(s);
- /*
- * Reset the tty pointer, as there could have been a dialout
- * use of the tty with a dialin open waiting.
- */
- tp->t_dev = dev;
- return ((*linesw[tp->t_line].l_open)(dev, tp));
-}
-
-int
-bugttyparam(tp, tm)
- struct tty*tp;
- struct termios *tm;
-{
- return (0);
-}
-
-void
-bugttyoutput(tp)
- struct tty *tp;
-{
- int cc, s, cnt;
-
- /* only supports one unit */
-
- if ((tp->t_state & TS_ISOPEN) == 0)
- return;
-
- s = spltty();
- cc = tp->t_outq.c_cc;
- while (cc > 0) {
- cnt = min(BUGBUF, cc);
- cnt = q_to_b(&tp->t_outq, bug_obuffer, cnt);
- bug_outstr(bug_obuffer, &bug_obuffer[cnt]);
- cc -= cnt;
- }
- splx(s);
-}
-
-int
-bugttyclose(dev, flag, mode, p)
- dev_t dev;
- int flag, mode;
- struct proc *p;
-{
- int unit = BUGTTYUNIT(dev);
- struct tty *tp = bugtty_tty[unit];
-
- (*linesw[tp->t_line].l_close)(tp, flag);
-
- ttyclose(tp);
-#if 0
- bugtty_tty[unit] = NULL;
-#endif
- return (0);
-}
-
-int
-bugttyread(dev, uio, flag)
- dev_t dev;
- struct uio *uio;
- int flag;
-{
- struct tty *tp;
-
- if ((tp = bugtty_tty[BUGTTYUNIT(dev)]) == NULL)
- return (ENXIO);
- return ((*linesw[tp->t_line].l_read)(tp, uio, flag));
-}
-
-#if 1
-/* only to be called at splclk() */
-void
-bugtty_chkinput()
-{
- struct tty *tp;
-
- tp = bugtty_tty[0]; /* Kinda ugly hack */
- if (tp == NULL )
- return;
-
- if (bug_instat()) {
- while (bug_instat()) {
- u_char c = bug_inchr() & 0xff;
- (*linesw[tp->t_line].l_rint)(c, tp);
- }
- /*
- wakeup(tp);
- */
- }
-}
-#endif
-
-int
-bugttywrite(dev, uio, flag)
- dev_t dev;
- struct uio *uio;
- int flag;
-{
-#if 0
- /* bypass tty output routines. */
- int i, cnt, s;
- int oldoff;
-
- s = spltty();
- oldoff = uio->uio_offset;
- do {
- uiomove(bug_obuffer, BUGBUF, uio);
- bug_outstr(bug_obuffer, &bug_obuffer[uio->uio_offset - oldoff]);
- oldoff = uio->uio_offset;
- } while (uio->uio_resid != 0);
- splx(s);
-
- return (0);
-#else
- struct tty *tp;
- if((tp = bugtty_tty[BUGTTYUNIT(dev)]) == NULL)
- return (ENXIO);
- return ((*linesw[tp->t_line].l_write)(tp, uio, flag));
-#endif
-}
-
-int
-bugttyioctl(dev, cmd, data, flag, p)
- dev_t dev;
- u_long cmd;
- caddr_t data;
- int flag;
- struct proc *p;
-{
- int unit = BUGTTYUNIT(dev);
- struct tty *tp = bugtty_tty[unit];
- int error;
-
- if (!tp)
- return (ENXIO);
-
- error = (*linesw[tp->t_line].l_ioctl)(tp, cmd, data, flag, p);
- if (error >= 0)
- return (error);
-
- error = ttioctl(tp, cmd, data, flag, p);
- if (error >= 0)
- return (error);
-
- switch (cmd) {
- case TIOCSBRK:
- /* */
- break;
-
- case TIOCCBRK:
- /* */
- break;
-
- case TIOCSDTR:
- (void) bugttymctl(dev, TIOCM_DTR | TIOCM_RTS, DMBIS);
- break;
-
- case TIOCCDTR:
- (void) bugttymctl(dev, TIOCM_DTR | TIOCM_RTS, DMBIC);
- break;
-
- case TIOCMSET:
- (void) bugttymctl(dev, *(int *) data, DMSET);
- break;
-
- case TIOCMBIS:
- (void) bugttymctl(dev, *(int *) data, DMBIS);
- break;
-
- case TIOCMBIC:
- (void) bugttymctl(dev, *(int *) data, DMBIC);
- break;
-
- case TIOCMGET:
- *(int *)data = bugttymctl(dev, 0, DMGET);
- break;
- case TIOCGFLAGS:
- *(int *)data = SWFLAGS(dev);
- break;
- case TIOCSFLAGS:
- error = suser(p, 0);
- if (error != 0)
- return (EPERM);
-
- bugttyswflags = *(int *)data;
- bugttyswflags &= /* only allow valid flags */
- (TIOCFLAG_SOFTCAR | TIOCFLAG_CLOCAL | TIOCFLAG_CRTSCTS);
- break;
- default:
- return (ENOTTY);
- }
-
- return (0);
-}
-
-int
-bugttystop(tp, flag)
- struct tty *tp;
- int flag;
-{
- int s;
-
- s = spltty();
- if (tp->t_state & TS_BUSY) {
- if ((tp->t_state & TS_TTSTOP) == 0)
- tp->t_state |= TS_FLUSH;
- }
- splx(s);
- return (0);
-}
-
-/*
- * bugtty is the last possible choice for a console device.
- */
-void
-bugttycnprobe(cp)
- struct consdev *cp;
-{
- int maj;
- extern int needprom;
-
- if (needprom == 0)
- return;
-
- /* locate the major number */
- for (maj = 0; maj < nchrdev; maj++)
- if (cdevsw[maj].d_open == bugttyopen)
- break;
-
- cp->cn_dev = makedev(maj, 0);
- cp->cn_pri = CN_NORMAL;
-}
-
-void
-bugttycninit(cp)
- struct consdev *cp;
-{
- /* Nothing to do */
-}
-
-int
-bugttycngetc(dev)
- dev_t dev;
-{
- return (bug_inchr());
-}
-
-void
-bugttycnputc(dev, c)
- dev_t dev;
- char c;
-{
- bug_outchr(c);
-}
diff --git a/sys/arch/mvme68k/include/bugio.h b/sys/arch/mvme68k/include/bugio.h
deleted file mode 100644
index 8bd7e4dbcc5..00000000000
--- a/sys/arch/mvme68k/include/bugio.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* $OpenBSD: bugio.h,v 1.2 2003/04/16 17:34:48 miod Exp $ */
-/*
- * Copyright (c) 2002, Miodrag Vallat.
- * All rights reserved.
- *
- * Permission to redistribute, use, copy, and modify this software
- * is hereby granted without fee, provided that the following
- * conditions are met:
- *
- * 1. This entire notice is included in all source code copies of any
- * software which is or includes a copy or modification of this
- * software.
- * 2. The name of the author may not be used to endorse or promote
- * products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
- * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _MACHINE_BUGIO_H_
-#define _MACHINE_BUGIO_H_
-
-#include <sys/cdefs.h>
-
-#include <machine/prom.h>
-
-int bug_instat(void);
-char bug_inchr(void);
-void bug_outchr(char);
-void bug_outstr(char *, char *);
-void bug_return(void);
-struct bug_brdid *bug_brdid(void);
-
-#endif /* _MACHINE_BUGIO_H_ */
diff --git a/sys/arch/mvme68k/mvme68k/conf.c b/sys/arch/mvme68k/mvme68k/conf.c
index 7df6bdfd3e2..1e22125c7ea 100644
--- a/sys/arch/mvme68k/mvme68k/conf.c
+++ b/sys/arch/mvme68k/mvme68k/conf.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: conf.c,v 1.37 2004/02/10 01:31:21 millert Exp $ */
+/* $OpenBSD: conf.c,v 1.38 2006/04/21 22:21:54 miod Exp $ */
/*-
* Copyright (c) 1995 Theo de Raadt
@@ -117,7 +117,6 @@ cdev_decl(fd);
#include "zs.h"
#include "cl.h"
#include "wl.h"
-#include "bugtty.h"
/* open, close, write, ioctl */
#define cdev_lp_init(c,n) { \
@@ -168,7 +167,7 @@ struct cdevsw cdevsw[] =
cdev_mdev_init(NFLASH,flash), /* 11: /dev/flashX */
cdev_tty_init(NZS,zs), /* 12: SCC serial (tty[a-d]) */
cdev_tty_init(NCL,cl), /* 13: CL-CD2400 serial (tty0[0-3]) */
- cdev_tty_init(NBUGTTY,bugtty), /* 14: BUGtty (ttyB) */
+ cdev_notdef(), /* 14 */
cdev_notdef(), /* 15 */
cdev_notdef(), /* 16 */
cdev_disk_init(NCCD,ccd), /* 17: concatenated disk */
@@ -304,8 +303,6 @@ int nchrtoblktbl = sizeof(chrtoblktbl) / sizeof(chrtoblktbl[0]);
cons_decl(zs);
#define clcnpollc nullcnpollc
cons_decl(cl);
-#define bugttycnpollc nullcnpollc
-cons_decl(bugtty);
struct consdev constab[] = {
#if NZS > 0
@@ -314,8 +311,5 @@ struct consdev constab[] = {
#if NCL > 0
cons_init(cl),
#endif
-#if NBUGTTY > 0
- cons_init(bugtty),
-#endif
{ 0 },
};
diff --git a/sys/arch/mvme68k/mvme68k/locore.s b/sys/arch/mvme68k/mvme68k/locore.s
index 10bf222e1e5..ad6474e916a 100644
--- a/sys/arch/mvme68k/mvme68k/locore.s
+++ b/sys/arch/mvme68k/mvme68k/locore.s
@@ -1,4 +1,4 @@
-/* $OpenBSD: locore.s,v 1.49 2006/01/21 12:27:58 miod Exp $ */
+/* $OpenBSD: locore.s,v 1.50 2006/04/21 22:21:54 miod Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -105,7 +105,6 @@ BSS(lowram, 4)
BSS(esym, 4)
BSS(emini, 4)
BSS(smini, 4)
-BSS(needprom, 4)
BSS(promvbr, 4)
BSS(promcall, 4)
@@ -273,9 +272,6 @@ is162:
#ifdef MVME167
is167:
-| RELOC(needprom,a0) | this machine needs the prom mapped!
-| movl #1,a0@
-
RELOC(memsize1x7, a1) | how much memory?
jbsr a1@
@@ -325,10 +321,6 @@ is172:
#ifdef MVME177
is177:
-
-| RELOC(needprom,a0) | this machine needs the prom mapped!
-| movl #1,a0@
-
RELOC(memsize1x7, a1) | how much memory?
jbsr a1@
@@ -490,29 +482,11 @@ Lstploaddone:
cmpl #MMU_68040,a0@ | 68040 or 68060?
jgt Lmotommu2 | no, skip
- RELOC(needprom,a0)
- cmpl #0,a0@
- beq 1f
- /*
- * this machine needs the prom mapped. we use the translation
- * registers to map it in.. and the ram it needs.
- */
- movel #0xff00a044,d0 | map top 16meg 1/1 for bug eprom exe
- .long 0x4e7b0004 | movc d0,itt0
- moveq #0,d0 | ensure itt1 is disabled
- .long 0x4e7b0005 | movc d0,itt1
- movel #0xff00a040,d0 | map top 16meg 1/1 for bug io access
- .long 0x4e7b0006 | movc d0,dtt0
- moveq #0,d0 | ensure dtt1 is disabled
- .long 0x4e7b0007 | movc d0,dtt1
- bra 2f
-1:
moveq #0,d0 | ensure TT regs are disabled
.long 0x4e7b0004 | movc d0,itt0
.long 0x4e7b0005 | movc d0,itt1
.long 0x4e7b0006 | movc d0,dtt0
.long 0x4e7b0007 | movc d0,dtt1
-2:
.word 0xf4d8 | cinva bc
.word 0xf518 | pflusha
diff --git a/sys/arch/mvme68k/mvme68k/machdep.c b/sys/arch/mvme68k/mvme68k/machdep.c
index 239c559fe88..7c5e1bd8174 100644
--- a/sys/arch/mvme68k/mvme68k/machdep.c
+++ b/sys/arch/mvme68k/mvme68k/machdep.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: machdep.c,v 1.94 2005/12/17 07:31:26 miod Exp $ */
+/* $OpenBSD: machdep.c,v 1.95 2006/04/21 22:21:54 miod Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -91,7 +91,6 @@
#include <sys/evcount.h>
#include <machine/autoconf.h>
-#include <machine/bugio.h>
#include <machine/cpu.h>
#include <machine/kcore.h>
#include <machine/prom.h>
@@ -99,7 +98,9 @@
#include <machine/pte.h>
#include <machine/reg.h>
+#ifdef MVME147
#include <mvme68k/dev/pccreg.h>
+#endif
#include <dev/cons.h>
@@ -157,27 +158,6 @@ extern struct emul emul_hpux;
extern struct emul emul_sunos;
#endif
-/*
- * XXX this is to fake out the console routines, while
- * booting. New and improved! :-) smurph
- */
-void bootcnprobe(struct consdev *);
-void bootcninit(struct consdev *);
-void bootcnputc(dev_t, int);
-int bootcngetc(dev_t);
-extern void nullcnpollc(dev_t, int);
-
-#define bootcnpollc nullcnpollc
-
-static struct consdev bootcons = {
- NULL,
- NULL,
- bootcngetc,
- bootcnputc,
- bootcnpollc,
- NULL,
- makedev(14,0),
- 1};
void dumpsys(void);
void initvectors(void);
@@ -207,37 +187,31 @@ mvme68k_init()
uvmexp.pagesize = NBPG;
uvm_setpagesize();
uvm_page_physload(atop(avail_start), atop(avail_end),
- atop(avail_start), atop(avail_end), VM_FREELIST_DEFAULT);
+ atop(avail_start), atop(avail_end), VM_FREELIST_DEFAULT);
/*
* Put machine specific exception vectors in place.
*/
initvectors();
-
- /* startup fake console driver. It will be replaced by consinit() */
- cn_tab = &bootcons;
}
/*
* Console initialization: called early on from main,
- * before vm init or startup. Do enough configuration
- * to choose and initialize a console.
+ * before vm init or startup, but already running virtual.
+ * Do enough configuration to choose and initialize a console.
*/
void
consinit()
{
- extern void db_machine_init(void);
-
/*
* Initialize the console before we print anything out.
*/
- cn_tab = NULL; /* Get rid of fake console driver */
cninit();
#ifdef DDB
-
db_machine_init();
ddb_init();
+
if (boothowto & RB_KDB)
Debugger();
#endif
@@ -1066,62 +1040,24 @@ memsize162()
struct mcreg *mc = (struct mcreg *)0xfff42000;
switch (mc->mc_memoptions & MC_MEMOPTIONS_DRAMMASK) {
- case MC_MEMOPTIONS_DRAM1M:
- return (1*1024*1024);
- case MC_MEMOPTIONS_DRAM2M:
- return (2*1024*1024);
- case MC_MEMOPTIONS_DRAM4M:
- return (4*1024*1024);
- case MC_MEMOPTIONS_DRAM4M2:
- return (4*1024*1024);
- case MC_MEMOPTIONS_DRAM8M:
- return (8*1024*1024);
- case MC_MEMOPTIONS_DRAM16M:
- return (16*1024*1024);
- default:
- /*
- * XXX if the machine has no MC-controlled memory,
- * perhaps it has a MCECC or MEMC040 controller?
- */
- return (memsize1x7());
+ case MC_MEMOPTIONS_DRAM1M:
+ return (1*1024*1024);
+ case MC_MEMOPTIONS_DRAM2M:
+ return (2*1024*1024);
+ case MC_MEMOPTIONS_DRAM4M:
+ return (4*1024*1024);
+ case MC_MEMOPTIONS_DRAM4M2:
+ return (4*1024*1024);
+ case MC_MEMOPTIONS_DRAM8M:
+ return (8*1024*1024);
+ case MC_MEMOPTIONS_DRAM16M:
+ return (16*1024*1024);
+ default:
+ /*
+ * XXX if the machine has no MC-controlled memory,
+ * perhaps it has a MCECC or MEMC040 controller?
+ */
+ return (memsize1x7());
}
}
#endif
-
-/*
- * Boot console routines:
- * Enables printing of boot messages before consinit().
- */
-
-void
-bootcnprobe(cp)
- struct consdev *cp;
-{
- cp->cn_dev = makedev(14, 0);
- cp->cn_pri = CN_NORMAL;
-}
-
-void
-bootcninit(cp)
- struct consdev *cp;
-{
- /* Nothing to do */
-}
-
-int
-bootcngetc(dev)
- dev_t dev;
-{
- return (bug_inchr());
-}
-
-void
-bootcnputc(dev, c)
- dev_t dev;
- int c;
-{
- char cc = (char)c;
- if (cc == '\n')
- bug_outchr('\r');
- bug_outchr(cc);
-}