spurintr() is a low-level interrupt handler, and must not

be called by C code!  Spotted by Bill Studenmund, who also provided
#the substance of this change.
This commit is contained in:
scottr 1997-12-19 05:38:00 +00:00
parent e816de7dbc
commit 6a7a3fb133
1 changed files with 10 additions and 4 deletions

View File

@ -1,4 +1,4 @@
/* $NetBSD: psc.c,v 1.2 1997/11/07 13:31:23 briggs Exp $ */
/* $NetBSD: psc.c,v 1.3 1997/12/19 05:38:00 scottr Exp $ */
/*-
* Copyright (c) 1997 David Huang <khym@bga.com>
@ -47,13 +47,13 @@ void psc_lev5_intr __P((struct frame *));
static void psc_lev5_noint __P((void *));
void psc_lev6_intr __P((struct frame *));
static void psc_lev6_noint __P((void *));
void psc_spurintr __P((struct frame *));
void (*lev3_intrvec) __P((struct frame *));
int (*lev4_intrvec) __P((struct frame *));
void (*lev5_intrvec) __P((struct frame *));
void (*lev6_intrvec) __P((struct frame *));
extern void spurintr __P((struct frame *));
extern int zshard __P((void *)); /* from zs.c */
void (*psc3_ihandler) __P((void *)) = psc_lev3_noint;
@ -98,7 +98,7 @@ psc_init()
/*
* Only Quadra AVs have a PSC. On other machines, point the
* level 4 interrupt to zshard(), and levels 3, 5, and 6 to
* spurintr().
* psc_spurintr().
*/
if (current_mac_model->class == MACH_CLASSAV) {
lev3_intrvec = psc_lev3_intr;
@ -111,11 +111,17 @@ psc_init()
psc_reg1(PSC_LEV5_IER) = 0x03; /* disable level 5 interrupts */
psc_reg1(PSC_LEV6_IER) = 0x07; /* disable level 6 interrupts */
} else {
lev3_intrvec = lev5_intrvec = lev6_intrvec = psc_spurintr;
lev4_intrvec = (int (*)(struct frame *))zshard;
lev3_intrvec = lev5_intrvec = lev6_intrvec = spurintr;
}
}
void
psc_spurintr(fp)
struct frame *fp;
{
}
int
add_psc_lev3_intr(handler, arg)
void (*handler)(void *);