summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
Diffstat (limited to 'sys')
-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);
-}