summaryrefslogtreecommitdiff
path: root/sys/arch/mvme88k
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2001-03-07 23:45:53 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2001-03-07 23:45:53 +0000
commit913ce7549ef6db4471bd3b649865ee38e6ededee (patch)
tree9c3af4d28dab8f6cafa8c2c800a6b5beb6153d46 /sys/arch/mvme88k
parent732e6b3944d75484ba05f09e74ae2bba49eae6ae (diff)
Fix interrupt handler registration and prototypes.
While there, some warning hunting.
Diffstat (limited to 'sys/arch/mvme88k')
-rw-r--r--sys/arch/mvme88k/dev/cl.c82
-rw-r--r--sys/arch/mvme88k/dev/clock.c31
-rw-r--r--sys/arch/mvme88k/dev/dart.c34
-rw-r--r--sys/arch/mvme88k/dev/if_ie.c13
-rw-r--r--sys/arch/mvme88k/dev/memc.c21
-rw-r--r--sys/arch/mvme88k/dev/sclock.c18
-rw-r--r--sys/arch/mvme88k/dev/syscon.c54
-rw-r--r--sys/arch/mvme88k/dev/vme.c41
-rw-r--r--sys/arch/mvme88k/dev/vsdma.c10
-rw-r--r--sys/arch/mvme88k/dev/vx.c65
10 files changed, 184 insertions, 185 deletions
diff --git a/sys/arch/mvme88k/dev/cl.c b/sys/arch/mvme88k/dev/cl.c
index 8a07a627861..ab0119b0643 100644
--- a/sys/arch/mvme88k/dev/cl.c
+++ b/sys/arch/mvme88k/dev/cl.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cl.c,v 1.8 2001/02/12 08:16:22 smurph Exp $ */
+/* $OpenBSD: cl.c,v 1.9 2001/03/07 23:45:50 miod Exp $ */
/*
* Copyright (c) 1995 Dale Rahn. All rights reserved.
@@ -158,9 +158,9 @@ void cl_unblock __P((struct tty *tp));
int clccparam __P((struct clsoftc *sc, struct termios *par, int channel));
int clparam __P((struct tty *tp, struct termios *t));
-int cl_mintr __P((struct clsoftc *sc));
-int cl_txintr __P((struct clsoftc *sc));
-int cl_rxintr __P((struct clsoftc *sc));
+int cl_mintr __P((void *));
+int cl_txintr __P((void *));
+int cl_rxintr __P((void *));
void cl_overflow __P((struct clsoftc *sc, int channel, long *ptime, u_char *msg));
void cl_parity __P((struct clsoftc *sc, int channel));
void cl_frame __P((struct clsoftc *sc, int channel));
@@ -178,10 +178,12 @@ int clwrite __P((dev_t dev, struct uio *uio, int flag));
int clioctl __P((dev_t dev, int cmd, caddr_t data, int flag, struct proc *p));
int clstop __P((struct tty *tp, int flag));
-static void cl_initchannel __P((struct clsoftc *sc, int channel));
-static void clputc __P((struct clsoftc *sc, int unit, u_char c));
-static u_char clgetc __P((struct clsoftc *sc, int *channel));
-static void cloutput __P( (struct tty *tp));
+void cl_initchannel __P((struct clsoftc *sc, int channel));
+void clputc __P((struct clsoftc *sc, int unit, u_char c));
+u_char clgetc __P((struct clsoftc *sc, int *channel));
+#if 0
+void cloutput __P( (struct tty *tp));
+#endif
struct cfattach cl_ca = {
sizeof(struct clsoftc), clprobe, clattach
@@ -201,7 +203,9 @@ int dopoll = 1;
extern int cputyp;
-struct tty * cltty(dev)
+struct tty *cltty __P((dev_t dev));
+
+struct tty *cltty(dev)
dev_t dev;
{
int unit, channel;
@@ -298,8 +302,9 @@ clattach(parent, self, aux)
sc->sc_cl[3].tx[0] = (void *)(((int)sc->sc_cl[2].tx[1]) + CL_BUFSIZE);
sc->sc_cl[3].tx[1] = (void *)(((int)sc->sc_cl[3].tx[0]) + CL_BUFSIZE);
for (i = 0; i < CLCD_PORTS_PER_CHIP; i++) {
- int j;
#if 0
+ int j;
+
for (j = 0; j < 2 ; j++) {
sc->sc_cl[i].rxp[j] = (void *)kvtop(sc->sc_cl[i].rx[j]);
printf("cl[%d].rxbuf[%d] %x p %x\n",
@@ -322,23 +327,23 @@ clattach(parent, self, aux)
/* enable interrupts */
sc->sc_ih_e.ih_fn = cl_rxintr;
sc->sc_ih_e.ih_arg = sc;
- sc->sc_ih_e.ih_ipl = ca->ca_ipl;
sc->sc_ih_e.ih_wantframe = 0;
+ sc->sc_ih_e.ih_ipl = ca->ca_ipl;
sc->sc_ih_m.ih_fn = cl_mintr;
sc->sc_ih_m.ih_arg = sc;
+ sc->sc_ih_e.ih_wantframe = 0;
sc->sc_ih_m.ih_ipl = ca->ca_ipl;
- sc->sc_ih_m.ih_wantframe = 0;
sc->sc_ih_t.ih_fn = cl_txintr;
sc->sc_ih_t.ih_arg = sc;
+ sc->sc_ih_e.ih_wantframe = 0;
sc->sc_ih_t.ih_ipl = ca->ca_ipl;
- sc->sc_ih_t.ih_wantframe = 0;
sc->sc_ih_r.ih_fn = cl_rxintr;
sc->sc_ih_r.ih_arg = sc;
+ sc->sc_ih_e.ih_wantframe = 0;
sc->sc_ih_r.ih_ipl = ca->ca_ipl;
- sc->sc_ih_r.ih_wantframe = 0;
dopoll = 0;
intr_establish(PCC2_VECT + SRXEIRQ, &sc->sc_ih_e);
intr_establish(PCC2_VECT + SMOIRQ, &sc->sc_ih_m);
@@ -357,7 +362,7 @@ clattach(parent, self, aux)
evcnt_attach(&sc->sc_dev, "intr", &sc->sc_mxintrcnt);
printf("\n");
}
-static void
+void
cl_initchannel(sc, channel)
struct clsoftc *sc;
int channel;
@@ -667,7 +672,9 @@ int clparam(tp, t)
return 0;
}
-void cloutput(tp)
+#if 0
+void
+cloutput(tp)
struct tty *tp;
{
int cc, s, unit, cnt;
@@ -704,6 +711,7 @@ void cloutput(tp)
}
splx(s);
}
+#endif
int clclose (dev, flag, mode, p)
dev_t dev;
@@ -976,7 +984,10 @@ int
clcngetc(dev)
dev_t dev;
{
- u_char val, reoir, licr, isrl, data, status, fifo_cnt;
+ u_char val, reoir, licr, isrl, data, fifo_cnt;
+#if 0
+ u_char status;
+#endif
int got_char = 0;
u_char ier_old = 0xff;
volatile struct clreg *cl_reg = cl_cons.cl_vaddr;
@@ -1043,6 +1054,8 @@ clcnputc(dev, c)
clputc(0, 0, c);
return 0;
}
+
+void
clcnpollc(dev, on)
dev_t dev;
int on;
@@ -1054,7 +1067,7 @@ clcnpollc(dev, on)
}
return;
}
-static void
+void
clputc(sc, unit, c)
struct clsoftc *sc;
int unit;
@@ -1156,7 +1169,8 @@ cl_chkinput()
}
}
#endif
-static u_char
+
+u_char
clgetc(sc, channel)
struct clsoftc *sc;
int *channel;
@@ -1383,9 +1397,12 @@ clstart(tp)
struct tty *tp;
{
dev_t dev;
- u_char cbuf;
struct clsoftc *sc;
- int channel, unit, s, cnt;
+ int channel, unit, s;
+#if 0
+ int cnt;
+ u_char cbuf;
+#endif
dev = tp->t_dev;
channel = CL_CHANNEL(dev);
@@ -1433,12 +1450,14 @@ clstart(tp)
}
int
-cl_mintr(sc)
- struct clsoftc *sc;
+cl_mintr(arg)
+ void *arg;
{
+ struct clsoftc *sc = arg;
+
u_char mir, misr, msvr;
int channel;
- struct tty *tp;
+
if(((mir = sc->cl_reg->cl_mir) & 0x40) == 0x0) {
/* only if intr is not shared? */
log(LOG_WARNING, "cl_mintr extra intr\n");
@@ -1479,10 +1498,12 @@ cl_mintr(sc)
}
int
-cl_txintr(sc)
-struct clsoftc *sc;
+cl_txintr(arg)
+ void *arg;
{
- static empty = 0;
+ struct clsoftc *sc = arg;
+
+ static int empty = 0;
u_char tir, cmr, teoir;
u_char max;
int channel;
@@ -1601,11 +1622,12 @@ struct clsoftc *sc;
}
int
-cl_rxintr(sc)
- struct clsoftc *sc;
+cl_rxintr(arg)
+ void *arg;
{
+ struct clsoftc *sc = arg;
+
u_char rir, channel, cmr, risrl;
- u_char c;
u_char fifocnt;
struct tty *tp;
int i;
diff --git a/sys/arch/mvme88k/dev/clock.c b/sys/arch/mvme88k/dev/clock.c
index b113c1583a5..e5673a1cce9 100644
--- a/sys/arch/mvme88k/dev/clock.c
+++ b/sys/arch/mvme88k/dev/clock.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clock.c,v 1.8 2001/02/12 08:16:22 smurph Exp $ */
+/* $OpenBSD: clock.c,v 1.9 2001/03/07 23:45:50 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
* Copyright (c) 1995 Theo de Raadt
@@ -84,6 +84,7 @@
#include <sys/simplelock.h>
#include <sys/kernel.h>
#include <sys/device.h>
+#include <sys/systm.h>
#ifdef GPROF
#include <sys/gmon.h>
#endif
@@ -97,10 +98,16 @@
#include <machine/mmu.h> /* DMA_CACHE_SYNC, etc... */
#include "pcctwo.h"
#if NPCCTWO > 0
+#include <mvme88k/dev/pcctwofunc.h>
#include <mvme88k/dev/pcctworeg.h>
+#include "bugtty.h"
+#if NBUGTTY > 0
+#include <mvme88k/dev/bugttyfunc.h>
+#endif
#endif
#include "syscon.h"
#if NSYSCON > 0
+#include <mvme88k/dev/sysconfunc.h>
#include <mvme88k/dev/sysconreg.h>
#endif
#include <mvme88k/dev/vme.h>
@@ -132,9 +139,7 @@ struct cfdriver clock_cd = {
};
int sbc_clockintr __P((void *));
-int sbc_statintr __P((void *));
int m188_clockintr __P((void *));
-int m188_statintr __P((void *));
int clockbus;
u_char prof_reset;
@@ -208,8 +213,6 @@ void *args;
void
sbc_initclock(void)
{
- register int statint, minint;
-
#ifdef CLOCK_DEBUG
printf("SBC clock init\n");
#endif
@@ -233,16 +236,15 @@ sbc_initclock(void)
* clockintr: ack intr and call hardclock
*/
int
-sbc_clockintr(arg)
-void *arg;
+sbc_clockintr(eframe)
+ void *eframe;
{
sys_pcc2->pcc2_t1irq = prof_reset;
/* increment intr counter */
intrcnt[M88K_CLK_IRQ]++;
- hardclock(arg);
-#include "bugtty.h"
+ hardclock(eframe);
#if NBUGTTY > 0
bugtty_chkinput();
#endif /* NBUGTTY */
@@ -255,7 +257,7 @@ delay(us)
register int us;
{
volatile register int c;
- unsigned long st;
+
/*
* We use the vme system controller for the delay clock.
* Do not go to the real timer until vme device is present.
@@ -280,8 +282,8 @@ register int us;
int counter = 0;
#define IST
int
-m188_clockintr(arg)
-void *arg;
+m188_clockintr(eframe)
+ void *eframe;
{
volatile int tmp;
volatile int *dti_stop = (volatile int *)DART_STOPC;
@@ -320,8 +322,7 @@ void *arg;
*((volatile int *) DART_CTLR) = counter % 256; /* set counter LSB */
*((volatile int *) DART_IVR) = SYSCV_TIMER1; /* set interrupt vec */
#endif
- hardclock(arg);
-#include "bugtty.h"
+ hardclock(eframe);
#if NBUGTTY > 0
bugtty_chkinput();
#endif /* NBUGTTY */
@@ -339,8 +340,6 @@ void *arg;
void
m188_initclock(void)
{
- register int statint, minint;
-
#ifdef CLOCK_DEBUG
printf("VME188 clock init\n");
#endif
diff --git a/sys/arch/mvme88k/dev/dart.c b/sys/arch/mvme88k/dev/dart.c
index 124c2eeb040..c54e57717af 100644
--- a/sys/arch/mvme88k/dev/dart.c
+++ b/sys/arch/mvme88k/dev/dart.c
@@ -95,7 +95,7 @@ int dart_cons = -1;
int dartcnprobe __P((struct consdev *cp));
int dartcninit __P((struct consdev *cp));
int dartcngetc __P((dev_t dev));
-int dartcnputc __P((dev_t dev, char c));
+void dartcnputc __P((dev_t dev, char c));
int dartopen __P((dev_t dev, int flag, int mode, struct proc *p));
int dartclose __P((dev_t dev, int flag, int mode, struct proc *p));
@@ -103,7 +103,7 @@ int dartread __P((dev_t dev, struct uio *uio, int flag));
int dartwrite __P((dev_t dev, struct uio *uio, int flag));
int dartioctl __P((dev_t dev, int cmd, caddr_t data, int flag, struct proc *p));
int dartstop __P((struct tty *tp, int flag));
-int dartintr __P((struct dartsoftc *sc));
+int dartintr __P((void *));
void dartbreak __P((dev_t dev, int state));
/*
@@ -171,7 +171,6 @@ dartmatch(parent, vcf, args)
struct device *parent;
void *vcf, *args;
{
- struct cfdata *cf = vcf;
struct confargs *ca = args;
union dartreg *addr;
@@ -194,7 +193,6 @@ void *aux;
{
struct dartsoftc *sc = (struct dartsoftc *)self;
struct confargs *ca = aux;
- int i;
union dartreg *addr; /* pointer to DUART regs */
union dart_pt_io *ptaddr; /* pointer to port regs */
int port; /* port index */
@@ -287,8 +285,8 @@ void *aux;
/* enable interrupts */
sc->sc_ih.ih_fn = dartintr;
sc->sc_ih.ih_arg = sc;
- sc->sc_ih.ih_ipl = ca->ca_ipl;
sc->sc_ih.ih_wantframe = 0;
+ sc->sc_ih.ih_ipl = ca->ca_ipl;
intr_establish(ca->ca_vec, &sc->sc_ih);
evcnt_attach(&sc->sc_dev, "intr", &sc->sc_intrcnt);
@@ -304,7 +302,7 @@ struct tty *tp;
{
dev_t dev;
struct dartsoftc *sc;
- int s, cnt, cc;
+ int s, cc;
union dart_pt_io *ptaddr;
union dartreg *addr;
int port;
@@ -435,7 +433,7 @@ int how;
struct dartsoftc *sc;
int s;
- if (port = DART_PORT(dev) > 1) {
+ if ((port = DART_PORT(dev)) > 1) {
return (ENODEV);
}
sc = (struct dartsoftc *) dart_cd.cd_devs[0];
@@ -863,11 +861,10 @@ int flag;
int mode;
struct proc *p;
{
- int unit, channel;
struct tty *tp;
struct dart_info *dart;
struct dartsoftc *sc;
- int s, port;
+ int port;
if ((port = DART_PORT(dev)) > 1) {
printf("dartclose: inavalid device dev(%d, %d)\n", major(dev), minor(dev));
@@ -888,12 +885,12 @@ dev_t dev;
struct uio *uio;
int flag;
{
- int unit, port;
+ int port;
struct tty *tp;
struct dart_info *dart;
struct dartsoftc *sc;
- if (port = DART_PORT(dev) > 1) {
+ if ((port = DART_PORT(dev)) > 1) {
return (ENODEV);
}
sc = (struct dartsoftc *) dart_cd.cd_devs[0];
@@ -916,7 +913,7 @@ int flag;
struct dart_info *dart;
struct dartsoftc *sc;
- if (port = DART_PORT(dev) > 1) {
+ if ((port = DART_PORT(dev)) > 1) {
return (ENODEV);
}
sc = (struct dartsoftc *)dart_cd.cd_devs[0];
@@ -1026,7 +1023,6 @@ int port;
struct tty *tp;
struct dart_info *dart;
union dartreg *addr;
- dev_t dev;
dart = &sc->sc_dart[port];
addr = sc->dart_reg;
@@ -1069,11 +1065,12 @@ out:
}
int
-dartintr(sc)
-struct dartsoftc *sc;
+dartintr(arg)
+ void *arg;
{
+ struct dartsoftc *sc = arg;
+
unsigned char isr;
- unsigned char sr;
int port;
union dartreg *addr;
@@ -1159,14 +1156,16 @@ struct consdev *cp;
return 0;
}
-int
+void
dartcnputc(dev, c)
dev_t dev;
char c;
{
union dartreg *addr;
union dart_pt_io *ptaddr;
+#if 0
m88k_psr_type psr;
+#endif
int s;
int port;
@@ -1220,7 +1219,6 @@ char c;
#else
set_psr(psr);
#endif
- return;
}
int
diff --git a/sys/arch/mvme88k/dev/if_ie.c b/sys/arch/mvme88k/dev/if_ie.c
index 392cceea122..aa51cdaa6fd 100644
--- a/sys/arch/mvme88k/dev/if_ie.c
+++ b/sys/arch/mvme88k/dev/if_ie.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: if_ie.c,v 1.8 2001/02/20 19:39:32 mickey Exp $ */
+/* $OpenBSD: if_ie.c,v 1.9 2001/03/07 23:45:51 miod Exp $ */
/*-
* Copyright (c) 1998 Steve Murphree, Jr.
@@ -334,7 +334,6 @@ iematch(parent, vcf, args)
struct device *parent;
void *vcf, *args;
{
- struct cfdata *cf = vcf;
struct confargs *ca = args;
int ret;
@@ -396,7 +395,6 @@ ieattach(parent, self, aux)
struct confargs *ca = aux;
struct ifnet *ifp = &sc->sc_arpcom.ac_if;
extern void myetheraddr(u_char *); /* should be elsewhere */
- register struct bootpath *bp;
int pri = ca->ca_ipl;
volatile struct ieob *ieo;
vm_offset_t pa;
@@ -465,9 +463,11 @@ ieattach(parent, self, aux)
sc->sc_ih.ih_fn = ieintr;
sc->sc_ih.ih_arg = sc;
+ sc->sc_ih.ih_wantframe = 0;
sc->sc_ih.ih_ipl = pri;
sc->sc_failih.ih_fn = iefailintr;
sc->sc_failih.ih_arg = sc;
+ sc->sc_failih.ih_wantframe = 0;
sc->sc_failih.ih_ipl = pri;
pcctwointr_establish(PCC2V_IE, &sc->sc_ih);
@@ -1336,6 +1336,7 @@ iereset(sc)
splx(s);
}
+#if 0
/*
* This is called if we time out.
*/
@@ -1346,6 +1347,7 @@ chan_attn_timeout(rock)
*(int *)rock = 1;
}
+#endif
/*
* Send a command to the controller and wait for it to either complete
@@ -1366,7 +1368,9 @@ command_and_wait(sc, cmd, pcmd, mask)
volatile struct ie_cmd_common *cc = pcmd;
volatile struct ie_sys_ctl_block *scb = sc->scb;
volatile int timedout = 0;
+#if 0
extern int hz;
+#endif
scb->ie_command = (u_short)cmd;
@@ -1493,8 +1497,6 @@ setup_bufs(sc)
struct ie_softc *sc;
{
caddr_t ptr = sc->buf_area; /* memory pool */
- volatile struct ie_recv_frame_desc *rfd = (void *) ptr;
- volatile struct ie_recv_buf_desc *rbd;
int n, r;
/*
@@ -1659,7 +1661,6 @@ ieinit(sc)
{
volatile struct ie_sys_ctl_block *scb = sc->scb;
void *ptr;
- int n;
ptr = sc->buf_area;
diff --git a/sys/arch/mvme88k/dev/memc.c b/sys/arch/mvme88k/dev/memc.c
index e2296d236de..40c51e540db 100644
--- a/sys/arch/mvme88k/dev/memc.c
+++ b/sys/arch/mvme88k/dev/memc.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: memc.c,v 1.4 2000/03/26 23:32:00 deraadt Exp $ */
+/* $OpenBSD: memc.c,v 1.5 2001/03/07 23:45:51 miod Exp $ */
/*
* Copyright (c) 1995 Theo de Raadt
@@ -48,8 +48,10 @@
#include <sys/syslog.h>
#include <sys/fcntl.h>
#include <sys/device.h>
-#include <machine/cpu.h>
+
#include <machine/autoconf.h>
+#include <machine/cpu.h>
+
#include <dev/cons.h>
#include <mvme88k/dev/memcreg.h>
@@ -79,11 +81,10 @@ memcmatch(parent, vcf, args)
struct device *parent;
void *vcf, *args;
{
- struct cfdata *cf = vcf;
struct confargs *ca = args;
struct memcreg *memc = (struct memcreg *)ca->ca_vaddr;
- if (badvaddr(memc, 4))
+ if (badvaddr((vm_offset_t)memc, 4))
return (0);
if (memc->memc_chipid==MEMC_CHIPID || memc->memc_chipid==MCECC_CHIPID)
return (1);
@@ -111,8 +112,8 @@ memcattach(parent, self, args)
#if 0
sc->sc_ih.ih_fn = memcintr;
sc->sc_ih.ih_arg = 0;
- sc->sc_ih.ih_ipl = 7;
sc->sc_ih.ih_wantframe = 1;
+ sc->sc_ih.ih_ipl = 7;
mcintr_establish(xxx, &sc->sc_ih);
#endif
@@ -126,9 +127,11 @@ memcattach(parent, self, args)
printf("\n");
}
-/*int
-memcintr(frame)
- struct frame *frame;
+#if 0
+int
+memcintr(eframe)
+ void *eframe;
{
return (0);
-}*/
+}
+#endif
diff --git a/sys/arch/mvme88k/dev/sclock.c b/sys/arch/mvme88k/dev/sclock.c
index 1e01b9d087d..e129aa29703 100644
--- a/sys/arch/mvme88k/dev/sclock.c
+++ b/sys/arch/mvme88k/dev/sclock.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: sclock.c,v 1.3 2001/02/12 08:16:23 smurph Exp $ */
+/* $OpenBSD: sclock.c,v 1.4 2001/03/07 23:45:51 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
*
@@ -82,6 +82,7 @@
#include <sys/simplelock.h>
#include <sys/kernel.h>
#include <sys/device.h>
+#include <sys/systm.h>
#ifdef GPROF
#include <sys/gmon.h>
#endif
@@ -93,10 +94,12 @@
#include <machine/cpu.h>
#include "pcctwo.h"
#if NPCCTWO > 0
+#include <mvme88k/dev/pcctwofunc.h>
#include <mvme88k/dev/pcctworeg.h>
#endif
#include "syscon.h"
#if NSYSCON > 0
+#include <mvme88k/dev/sysconfunc.h>
#include <mvme88k/dev/sysconreg.h>
#endif
#include <mvme88k/dev/vme.h>
@@ -240,8 +243,8 @@ sbc_initstatclock(void)
}
int
-sbc_statintr(cap)
-void *cap;
+sbc_statintr(eframe)
+ void *eframe;
{
register u_long newint, r, var;
@@ -250,7 +253,7 @@ void *cap;
/* increment intr counter */
intrcnt[M88K_SCLK_IRQ]++;
- statclock((struct clockframe *)cap);
+ statclock((struct clockframe *)eframe);
/*
* Compute new randomized interval. The intervals are uniformly
@@ -277,18 +280,17 @@ void *cap;
#define CIO_UNLOCK simple_unlock(&cio_lock)
int
-m188_statintr(cap)
-void *cap;
+m188_statintr(eframe)
+ void *eframe;
{
register u_long newint, r, var;
- volatile int *ist = (volatile int *)MVME188_IST;
CIO_LOCK;
/* increment intr counter */
intrcnt[M88K_SCLK_IRQ]++;
- statclock((struct clockframe *)cap);
+ statclock((struct clockframe *)eframe);
write_cio(CIO_CSR1, CIO_GCB|CIO_CIP); /* Ack the interrupt */
/*
diff --git a/sys/arch/mvme88k/dev/syscon.c b/sys/arch/mvme88k/dev/syscon.c
index 8056a228db3..3d56c575605 100644
--- a/sys/arch/mvme88k/dev/syscon.c
+++ b/sys/arch/mvme88k/dev/syscon.c
@@ -1,5 +1,4 @@
-
-/* $OpenBSD: syscon.c,v 1.3 2001/02/01 03:38:15 smurph Exp $ */
+/* $OpenBSD: syscon.c,v 1.4 2001/03/07 23:45:52 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
* All rights reserved.
@@ -47,12 +46,15 @@
#include <sys/syslog.h>
#include <sys/fcntl.h>
#include <sys/device.h>
-#include <machine/cpu.h>
+
#include <machine/autoconf.h>
-#include <machine/frame.h>
+#include <machine/cpu.h>
#include <machine/board.h>
+#include <machine/frame.h>
+
#include <dev/cons.h>
+#include <mvme88k/dev/sysconfunc.h>
#include <mvme88k/dev/sysconreg.h>
struct sysconreg syscon_reg = {
@@ -88,10 +90,10 @@ struct sysconsoftc {
void sysconattach __P((struct device *, struct device *, void *));
int sysconmatch __P((struct device *, void *, void *));
void setupiackvectors __P((void));
-int sysconabort __P((struct frame *frame));
-int sysconacfail __P((struct frame *frame));
-int sysconsysfail __P((struct frame *frame));
-int sysconm188 __P((struct frame *frame));
+int sysconabort __P((void *));
+int sysconacfail __P((void *));
+int sysconsysfail __P((void *));
+int sysconm188 __P((void *));
struct cfattach syscon_ca = {
sizeof(struct sysconsoftc), sysconmatch, sysconattach
@@ -103,12 +105,14 @@ struct cfdriver syscon_cd = {
struct sysconreg *sys_syscon = NULL;
+int syscon_print __P((void *args, const char *bus));
+int syscon_scan __P((struct device *parent, void *child, void *args));
+
int
sysconmatch(parent, vcf, args)
struct device *parent;
void *vcf, *args;
{
- struct cfdata *cf = vcf;
struct confargs *ca = args;
struct sysconreg *syscon;
@@ -141,7 +145,6 @@ void *child, *args;
{
struct cfdata *cf = child;
struct sysconsoftc *sc = (struct sysconsoftc *)parent;
- struct confargs *ca = args;
struct confargs oca;
if (parent->dv_cfdata->cf_driver->cd_indirect) {
@@ -176,7 +179,6 @@ void *args;
{
struct confargs *ca = args;
struct sysconsoftc *sc = (struct sysconsoftc *)self;
- int i;
if (sys_syscon)
panic("syscon already attached!");
@@ -197,20 +199,20 @@ void *args;
*/
sc->sc_abih.ih_fn = sysconabort;
sc->sc_abih.ih_arg = 0;
- sc->sc_abih.ih_ipl = IPL_ABORT;
sc->sc_abih.ih_wantframe = 1;
+ sc->sc_abih.ih_ipl = IPL_ABORT;
sc->sc_acih.ih_fn = sysconacfail;
sc->sc_acih.ih_arg = 0;
+ sc->sc_abih.ih_wantframe = 1;
sc->sc_acih.ih_ipl = IPL_ABORT;
- sc->sc_acih.ih_wantframe = 1;
sc->sc_sfih.ih_fn = sysconsysfail;
sc->sc_sfih.ih_arg = 0;
+ sc->sc_abih.ih_wantframe = 1;
sc->sc_sfih.ih_ipl = IPL_ABORT;
- sc->sc_sfih.ih_wantframe = 1;
sc->sc_m188ih.ih_fn = sysconm188;
sc->sc_m188ih.ih_arg = 0;
+ sc->sc_abih.ih_wantframe = 1;
sc->sc_m188ih.ih_ipl = IPL_ABORT;
- sc->sc_m188ih.ih_wantframe = 1;
intr_establish(SYSCV_ABRT, &sc->sc_abih);
intr_establish(SYSCV_ACF, &sc->sc_acih);
@@ -229,35 +231,35 @@ struct intrhand *ih;
}
int
-sysconabort(frame)
-struct frame *frame;
+sysconabort(eframe)
+ void *eframe;
{
ISR_RESET_NMI;
- nmihand(frame);
+ nmihand((struct frame *)eframe);
return (1);
}
int
-sysconsysfail(frame)
-struct frame *frame;
+sysconsysfail(eframe)
+ void *eframe;
{
ISR_RESET_SYSFAIL;
- nmihand(frame);
+ nmihand((struct frame *)eframe);
return (1);
}
int
-sysconacfail(frame)
-struct frame *frame;
+sysconacfail(eframe)
+ void *eframe;
{
ISR_RESET_ACFAIL;
- nmihand(frame);
+ nmihand((struct frame *)eframe);
return (1);
}
int
-sysconm188(frame)
-struct frame *frame;
+sysconm188(eframe)
+ void *eframe;
{
printf("MVME188 interrupting?\n");
return (1);
diff --git a/sys/arch/mvme88k/dev/vme.c b/sys/arch/mvme88k/dev/vme.c
index b3498243929..a62a9386d8a 100644
--- a/sys/arch/mvme88k/dev/vme.c
+++ b/sys/arch/mvme88k/dev/vme.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vme.c,v 1.7 2001/02/01 03:38:15 smurph Exp $ */
+/* $OpenBSD: vme.c,v 1.8 2001/03/07 23:45:52 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
* Copyright (c) 1995 Theo de Raadt
@@ -61,10 +61,10 @@
int vmematch __P((struct device *, void *, void *));
void vmeattach __P((struct device *, struct device *, void *));
-int vme2chip_init __P((struct vmesoftc *sc));
+void vme2chip_init __P((struct vmesoftc *sc));
u_long vme2chip_map __P((u_long base, int len, int dwidth));
-int vme2abort __P((struct frame *frame));
-int sysconabort __P((struct frame *frame));
+int vme2abort __P((void *));
+int sysconabort __P((void *));
int intr_findvec __P((int start, int end));
static int vmebustype;
@@ -86,7 +86,6 @@ vmematch(parent, cf, args)
void *cf;
void *args;
{
- struct confargs *ca = args;
return (1);
}
@@ -189,7 +188,7 @@ vmerw(sc, uio, flags, bus)
int flags;
int bus;
{
- register vm_offset_t o, v;
+ register vm_offset_t v;
register int c;
register struct iovec *iov;
void *vme;
@@ -247,7 +246,6 @@ vmescan(parent, child, args, bustype)
{
struct cfdata *cf = child;
struct vmesoftc *sc = (struct vmesoftc *)parent;
- struct confargs *ca = args;
struct confargs oca;
if (parent->dv_cfdata->cf_driver->cd_indirect) {
@@ -292,7 +290,6 @@ void *args;
{
struct vmesoftc *sc = (struct vmesoftc *)self;
struct confargs *ca = args;
- struct vme1reg *vme1;
struct vme2reg *vme2;
int scon;
char sconc;
@@ -394,12 +391,12 @@ vmeintr_establish(vec, ih)
}
#if NPCCTWO > 0
-int
+void
vme2chip_init(sc)
struct vmesoftc *sc;
{
struct vme2reg *vme2 = (struct vme2reg *)sc->sc_vaddr;
- u_long ctl, addr, vasize;
+ u_long ctl;
/* turn off SYSFAIL LED */
vme2->vme2_tctl &= ~VME2_TCTL_SYSFAIL;
@@ -428,8 +425,8 @@ vme2chip_init(sc)
printf("%s: 4phys 0x%08x-0x%08x to VME 0x%08x-0x%08x\n",
sc->sc_dev.dv_xname,
vme2->vme2_master4 << 16, vme2->vme2_master4 & 0xffff0000,
- vme2->vme2_master4 << 16 + vme2->vme2_master4mod << 16,
- vme2->vme2_master4 & 0xffff0000 + vme2->vme2_master4 & 0xffff0000);
+ (vme2->vme2_master4 << 16) + (vme2->vme2_master4mod << 16),
+ (vme2->vme2_master4 & 0xffff0000) + (vme2->vme2_master4 & 0xffff0000));
/*
* Map the VME irq levels to the cpu levels 1:1.
* This is rather inflexible, but much easier.
@@ -462,8 +459,8 @@ vme2chip_init(sc)
*/
sc->sc_abih.ih_fn = vme2abort;
sc->sc_abih.ih_arg = 0;
- sc->sc_abih.ih_ipl = IPL_NMI;
sc->sc_abih.ih_wantframe = 1;
+ sc->sc_abih.ih_ipl = IPL_NMI;
intr_establish(110, &sc->sc_abih);
vme2->vme2_irqen |= VME2_IRQ_AB;
vme2->vme2_irqen |= VME2_IRQ_ACF;
@@ -471,14 +468,14 @@ vme2chip_init(sc)
#endif /* NPCCTWO */
#if NSYSCON > 0
-int
+void
vmesyscon_init(sc)
struct vmesoftc *sc;
{
+#ifdef TODO
struct sysconreg *syscon = (struct sysconreg *)sc->sc_vaddr;
- u_long ctl, addr, vasize;
+ u_long ctl;
-#ifdef TODO
/* turn off SYSFAIL LED */
vme2->vme2_tctl &= ~VME2_TCTL_SYSFAIL;
@@ -498,15 +495,13 @@ struct vmesoftc *sc;
*/
sc->sc_abih.ih_fn = sysconabort;
sc->sc_abih.ih_arg = 0;
- sc->sc_abih.ih_ipl = IPL_NMI;
sc->sc_abih.ih_wantframe = 1;
+ sc->sc_abih.ih_ipl = IPL_NMI;
intr_establish(110, &sc->sc_abih);
#endif /* TODO */
}
#endif /* NSYSCON */
-#if defined(MVME162) || defined(MVME167) || defined(MVME177) || defined(MVME188) || defined (MVME187) || defined (MVME197)
-
/*
* A32 accesses on the MVME1[6789]x require setting up mappings in
* the VME2 chip.
@@ -532,9 +527,11 @@ vme2chip_map(base, len, dwidth)
#if NPCCTWO > 0
int
-vme2abort(frame)
- struct frame *frame;
+vme2abort(eframe)
+ void *eframe;
{
+ struct frame *frame = eframe;
+
struct vmesoftc *sc = (struct vmesoftc *) vme_cd.cd_devs[0];
struct vme2reg *vme2 = (struct vme2reg *)sc->sc_vaddr;
int rc = 0;
@@ -560,6 +557,4 @@ vme2abort(frame)
return (1);
}
#endif
-#endif /* MVME1[678]x */
-
diff --git a/sys/arch/mvme88k/dev/vsdma.c b/sys/arch/mvme88k/dev/vsdma.c
index 1b7819f780a..fe7a8a331af 100644
--- a/sys/arch/mvme88k/dev/vsdma.c
+++ b/sys/arch/mvme88k/dev/vsdma.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vsdma.c,v 1.3 2001/02/01 03:38:16 smurph Exp $ */
+/* $OpenBSD: vsdma.c,v 1.4 2001/03/07 23:45:52 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
* All rights reserved.
@@ -62,8 +62,8 @@ void vsattach __P((struct device *, struct device *, void *));
int vsprint __P((void *auxp, char *));
int vs_initialize __P((struct vs_softc *));
int vs_intr __P((struct vs_softc *));
-int vs_nintr __P((struct vs_softc *));
-int vs_eintr __P((struct vs_softc *));
+int vs_nintr __P((void *));
+int vs_eintr __P((void *));
struct scsi_adapter vs_scsiswitch = {
vs_scsicmd,
@@ -92,7 +92,6 @@ vsmatch(pdp, vcf, args)
struct device *pdp;
void *vcf, *args;
{
- struct cfdata *cf = vcf;
struct confargs *ca = args;
if (!badvaddr(ca->ca_vaddr, 1)) {
return (1);
@@ -110,7 +109,6 @@ void *auxp;
struct confargs *ca = auxp;
struct vsreg * rp;
int tmp;
- extern int cpuspeed;
sc->sc_vsreg = rp = ca->ca_vaddr;
@@ -126,10 +124,12 @@ void *auxp;
sc->sc_ih_n.ih_fn = vs_nintr;
sc->sc_ih_n.ih_arg = sc;
+ sc->sc_ih_n.ih_wantframe = 0;
sc->sc_ih_n.ih_ipl = ca->ca_ipl;
sc->sc_ih_e.ih_fn = vs_eintr;
sc->sc_ih_e.ih_arg = sc;
+ sc->sc_ih_e.ih_wantframe = 0;
sc->sc_ih_e.ih_ipl = ca->ca_ipl;
if (vs_initialize(sc))
diff --git a/sys/arch/mvme88k/dev/vx.c b/sys/arch/mvme88k/dev/vx.c
index b0ed05470b9..fdb2366c631 100644
--- a/sys/arch/mvme88k/dev/vx.c
+++ b/sys/arch/mvme88k/dev/vx.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: vx.c,v 1.4 2001/01/25 03:50:48 todd Exp $ */
+/* $OpenBSD: vx.c,v 1.5 2001/03/07 23:45:52 miod Exp $ */
/*
* Copyright (c) 1999 Steve Murphree, Jr.
* All rights reserved.
@@ -108,7 +108,7 @@ void read_wakeup __P((struct vxsoftc *sc, int port));
int bpp_send __P((struct vxsoftc *sc, void *pkt, int wait_flag));
int create_channels __P((struct vxsoftc *sc));
-void *memcpy2 __P((void *dest, const void *src, size_t size));
+void memcpy2 __P((void *dest, const void *src, size_t size));
void *get_free_envelope __P((struct vxsoftc *sc));
void put_free_envelope __P((struct vxsoftc *sc, void *envp));
void *get_free_packet __P((struct vxsoftc *sc));
@@ -121,7 +121,7 @@ void vx_unblock __P((struct tty *tp));
int vx_ccparam __P((struct vxsoftc *sc, struct termios *par, int port));
int vx_param __P((struct tty *tp, struct termios *t));
-int vx_intr __P((struct vxsoftc *sc));
+int vx_intr __P((void * arg));
int vx_sintr __P((struct vxsoftc *sc));
int vx_poll __P((struct vxsoftc *sc, struct packet *wpktp));
void vx_overflow __P((struct vxsoftc *sc, int port, long *ptime, u_char *msg));
@@ -141,7 +141,6 @@ void vxstart __P((struct tty *tp));
int vxstop __P((struct tty *tp, int flag));
static void vxputc __P((struct vxsoftc *sc, int port, u_char c));
-static u_char vxgetc __P((struct vxsoftc *sc, int *port));
struct cfattach vx_ca = {
sizeof(struct vxsoftc), vxmatch, vxattach
@@ -179,9 +178,8 @@ void *self;
void *aux;
{
struct vxreg *vx_reg;
- struct vxsoftc *sc = self;
struct confargs *ca = aux;
- int ret;
+
if (cputyp != CPU_187)
return 0;
#ifdef OLD_MAPPINGS
@@ -211,7 +209,6 @@ void *aux;
{
struct vxsoftc *sc = (struct vxsoftc *)self;
struct confargs *ca = aux;
- int i;
/* set up dual port memory and registers and init*/
sc->vx_reg = (struct vxreg *)ca->ca_vaddr;
@@ -238,8 +235,8 @@ void *aux;
/* enable interrupts */
sc->sc_ih_c.ih_fn = vx_intr;
sc->sc_ih_c.ih_arg = sc;
- sc->sc_ih_c.ih_ipl = ca->ca_ipl;
sc->sc_ih_c.ih_wantframe = 0;
+ sc->sc_ih_c.ih_ipl = ca->ca_ipl;
vmeintr_establish(ca->ca_vec, &sc->sc_ih_c);
evcnt_attach(&sc->sc_dev, "intr", &sc->sc_intrcnt);
@@ -247,6 +244,7 @@ void *aux;
int vxtdefaultrate = TTYDEF_SPEED;
+short
dtr_ctl(sc, port, on)
struct vxsoftc *sc;
int port;
@@ -268,6 +266,7 @@ dtr_ctl(sc, port, on)
return (pkt.error_l);
}
+short
rts_ctl(sc, port, on)
struct vxsoftc *sc;
int port;
@@ -289,6 +288,7 @@ rts_ctl(sc, port, on)
return (pkt.error_l);
}
+short
flush_ctl(sc, port, which)
struct vxsoftc *sc;
int port;
@@ -312,7 +312,6 @@ int bits;
int how;
{
int s, unit, port;
- int vxbits;
struct vxsoftc *sc;
struct vx_info *vxt;
u_char msvr;
@@ -515,7 +514,6 @@ struct termios *t;
{
int unit, port;
struct vxsoftc *sc;
- int s;
dev_t dev;
dev = tp->t_dev;
@@ -587,7 +585,6 @@ read_wakeup(sc, port)
struct vxsoftc *sc;
int port;
{
- struct rring *rp;
struct read_wakeup_packet rwp;
volatile struct vx_info *vxt;
vxt = &sc->sc_info[port];
@@ -655,7 +652,6 @@ int flag;
struct wring *wp;
struct write_wakeup_packet wwp;
u_short get, put;
- int i, cnt, s;
unit = VX_UNIT(dev);
if (unit >= vx_cd.cd_ndevs ||
@@ -793,14 +789,6 @@ int flag;
return 0;
}
-static u_char
-vxgetc(sc, port)
-struct vxsoftc *sc;
-int *port;
-{
- return 0;
-}
-
static void
vxputc(sc, port, c)
struct vxsoftc *sc;
@@ -879,9 +867,8 @@ struct vxsoftc *sc;
struct termios *par;
int port;
{
- struct termio tio;
- int imask=0, ints, s;
- int cflag, iflag, oflag, lflag;
+ int imask=0, s;
+ int cflag /*, iflag, oflag, lflag*/;
struct ioctl_a_packet pkt;
bzero(&pkt, sizeof(struct packet));
@@ -974,13 +961,11 @@ vxstart(tp)
struct tty *tp;
{
dev_t dev;
- u_char cbuf;
struct vxsoftc *sc;
struct wring *wp;
int cc, port, unit, s, cnt, i;
u_short get, put;
char buffer[WRING_BUF_SIZE];
- char *wrdp;
dev = tp->t_dev;
port = VX_PORT(dev);
@@ -1029,10 +1014,9 @@ int port;
*/
struct vx_info *vxt;
struct rring *rp;
- struct read_wakeup_packet rwp;
struct tty *tp;
u_short get, put;
- int frame_count, i, pc = 0, open;
+ int frame_count, i, open;
char c;
vxt = &sc->sc_info[port];
@@ -1070,6 +1054,7 @@ int port;
return;
}
+void
ccode(sc, port, c)
struct vxsoftc *sc;
int port;
@@ -1084,13 +1069,14 @@ char c;
}
int
-vx_intr(sc)
-struct vxsoftc *sc;
+vx_intr(arg)
+ void *arg;
{
+ struct vxsoftc *sc = arg;
+
struct envelope *envp, *next_envp;
- struct envelope env;
struct packet *pktp, pkt;
- int valid, i;
+ int valid;
short cmd;
u_char port;
#if defined(MVME187) || defined(MVME197)
@@ -1267,7 +1253,7 @@ int port;
/* Not needed now that I figured out VME bus */
/* mappings and address modifiers, but I don't */
/* want to change them :) */
-void *
+void
memcpy2(void *dest, const void *src, size_t size)
{
int i;
@@ -1299,9 +1285,7 @@ struct vxsoftc *sc;
{
int i;
struct envelope *envp;
- struct envelope env;
struct packet *pktp;
- struct packet pkt;
envp = (struct envelope *)ENVELOPE_AREA;
sc->elist_head = envp;
@@ -1392,11 +1376,8 @@ create_channels(sc)
struct vxsoftc *sc;
{
struct envelope *envp;
- struct envelope env;
- struct packet *pktp;
- u_char valid;
u_short status;
- u_short tas, csr;
+ u_short tas;
struct vxreg *ipc_csr;
ipc_csr = sc->vx_reg;
@@ -1486,9 +1467,8 @@ void
print_dump(sc)
struct vxsoftc *sc;
{
- char *dump_area, *end_dump, *dumpp;
+ char *dump_area;
char dump[209];
- char dump2[209];
bzero(&dump, 209);
dump_area = (char *)0xff780030;
@@ -1546,7 +1526,6 @@ get_packet(sc, thisenv)
struct vxsoftc *sc;
struct envelope *thisenv;
{
- struct envelope env;
unsigned long baseaddr;
if (thisenv == NULL) return NULL;
@@ -1568,10 +1547,8 @@ int
bpp_send(struct vxsoftc *sc, void *pkt, int wait_flag)
{
struct envelope *envp;
- struct init_packet init, *initp;
- struct packet *wpktp, *pktp, *testpktp;
+ struct packet *pktp;
unsigned long newenv;
- int i, s;
/* load up packet in dual port mem */