From d74e432ed31f285f8abf3b142f58c4b094d20145 Mon Sep 17 00:00:00 2001 From: thorpej Date: Mon, 15 Jan 2001 20:19:50 +0000 Subject: [PATCH] Make softclock a generic soft interrupt of the API is available, adding the requisite void * argument to softclock(). --- sys/arch/alpha/alpha/interrupt.c | 9 +++------ sys/arch/alpha/include/intr.h | 4 +--- sys/arch/amiga/amiga/machdep.c | 10 +--------- sys/arch/amiga/include/mtpr.h | 4 +--- sys/arch/amigappc/include/intr.h | 6 +----- sys/arch/arc/arc/arc_trap.c | 4 ++-- sys/arch/arm26/arm26/softintr.c | 21 ++------------------- sys/arch/arm26/include/intr.h | 3 +-- sys/arch/arm32/arm32/intr.c | 4 ++-- sys/arch/atari/atari/machdep.c | 4 ++-- sys/arch/bebox/bebox/extintr.c | 4 ++-- sys/arch/cobalt/cobalt/machdep.c | 4 ++-- sys/arch/dreamcast/dreamcast/shb.c | 4 ++-- sys/arch/evbsh3/evbsh3/shb.c | 4 ++-- sys/arch/hp300/hp300/trap.c | 4 ++-- sys/arch/hpcmips/hpcmips/machdep.c | 6 +++--- sys/arch/luna68k/luna68k/trap.c | 6 +++--- sys/arch/mac68k/mac68k/trap.c | 4 ++-- sys/arch/macppc/macppc/extintr.c | 4 ++-- sys/arch/mipsco/mipsco/machdep.c | 6 +++--- sys/arch/mmeye/mmeye/shb.c | 4 ++-- sys/arch/mvme68k/include/intr.h | 4 +--- sys/arch/mvme68k/mvme68k/softintr.c | 6 +----- sys/arch/news68k/news68k/machdep.c | 4 ++-- sys/arch/newsmips/newsmips/machdep.c | 6 +++--- sys/arch/next68k/next68k/trap.c | 4 ++-- sys/arch/ofppc/ofppc/soft_spl.c | 4 ++-- sys/arch/pc532/include/cpu.h | 3 +-- sys/arch/pc532/pc532/machdep.c | 12 +----------- sys/arch/pc532/pc532/mainbus.c | 4 ++-- sys/arch/pmax/pmax/machdep.c | 6 +++--- sys/arch/powerpc/powerpc/soft_spl.c | 4 ++-- sys/arch/prep/prep/extintr.c | 4 ++-- sys/arch/sgimips/sgimips/machdep.c | 4 ++-- sys/arch/sparc/sparc/intr.c | 4 ++-- sys/arch/sparc64/include/cpu.h | 4 +--- sys/arch/sparc64/sparc64/intr.c | 19 +------------------ sys/arch/sun3/sun3/intreg.c | 4 ++-- sys/arch/vax/include/intr.h | 3 +-- sys/arch/vax/vax/intvec.s | 5 +++-- sys/arch/vax/vax/machdep.c | 4 +++- sys/arch/x68k/x68k/trap.c | 4 ++-- sys/kern/kern_clock.c | 24 ++++++++++++++++++++---- sys/sys/systm.h | 6 ++++-- 44 files changed, 104 insertions(+), 157 deletions(-) diff --git a/sys/arch/alpha/alpha/interrupt.c b/sys/arch/alpha/alpha/interrupt.c index 87a527825dc2..2bc5811b557f 100644 --- a/sys/arch/alpha/alpha/interrupt.c +++ b/sys/arch/alpha/alpha/interrupt.c @@ -1,4 +1,4 @@ -/* $NetBSD: interrupt.c,v 1.54 2000/11/22 08:39:48 thorpej Exp $ */ +/* $NetBSD: interrupt.c,v 1.55 2001/01/15 20:19:50 thorpej Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -72,7 +72,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.54 2000/11/22 08:39:48 thorpej Exp $"); +__KERNEL_RCSID(0, "$NetBSD: interrupt.c,v 1.55 2001/01/15 20:19:50 thorpej Exp $"); #include #include @@ -383,7 +383,7 @@ netintr() struct alpha_soft_intr alpha_soft_intrs[IPL_NSOFT]; /* XXX For legacy software interrupts. */ -struct alpha_soft_intrhand *softnet_intrhand, *softclock_intrhand; +struct alpha_soft_intrhand *softnet_intrhand; /* * softintr_init: @@ -409,11 +409,8 @@ softintr_init() /* XXX Establish legacy software interrupt handlers. */ softnet_intrhand = softintr_establish(IPL_SOFTNET, (void (*)(void *))netintr, NULL); - softclock_intrhand = softintr_establish(IPL_SOFTCLOCK, - (void (*)(void *))softclock, NULL); assert(softnet_intrhand != NULL); - assert(softclock_intrhand != NULL); } /* diff --git a/sys/arch/alpha/include/intr.h b/sys/arch/alpha/include/intr.h index 40935009cd47..aa7c0e26d121 100644 --- a/sys/arch/alpha/include/intr.h +++ b/sys/arch/alpha/include/intr.h @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.39 2001/01/14 23:50:29 thorpej Exp $ */ +/* $NetBSD: intr.h,v 1.40 2001/01/15 20:19:51 thorpej Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -243,10 +243,8 @@ do { \ /* XXX For legacy software interrupts. */ extern struct alpha_soft_intrhand *softnet_intrhand; -extern struct alpha_soft_intrhand *softclock_intrhand; #define setsoftnet() softintr_schedule(softnet_intrhand) -#define setsoftclock() softintr_schedule(softclock_intrhand) struct alpha_shared_intr *alpha_shared_intr_alloc(unsigned int, unsigned int); int alpha_shared_intr_dispatch(struct alpha_shared_intr *, diff --git a/sys/arch/amiga/amiga/machdep.c b/sys/arch/amiga/amiga/machdep.c index e0e174bfca33..dc221786b222 100644 --- a/sys/arch/amiga/amiga/machdep.c +++ b/sys/arch/amiga/amiga/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.156 2000/09/13 15:00:16 thorpej Exp $ */ +/* $NetBSD: machdep.c,v 1.157 2001/01/15 20:19:51 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -1408,14 +1408,6 @@ intrhand(sr) uvmexp.softs++; netintr(); } - if (ssir_active & SIR_CLOCK) { -#ifdef REALLYDEBUG - printf("calling softclock\n"); -#endif - uvmexp.softs++; - /* XXXX softclock(&frame.f_stackadj); */ - softclock(); - } if (ssir_active & SIR_CBACK) { #ifdef REALLYDEBUG printf("calling softcallbacks\n"); diff --git a/sys/arch/amiga/include/mtpr.h b/sys/arch/amiga/include/mtpr.h index 1cf4bd5bf6ec..355668194f88 100644 --- a/sys/arch/amiga/include/mtpr.h +++ b/sys/arch/amiga/include/mtpr.h @@ -1,4 +1,4 @@ -/* $NetBSD: mtpr.h,v 1.14 1998/11/28 16:39:25 is Exp $ */ +/* $NetBSD: mtpr.h,v 1.15 2001/01/15 20:19:52 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -63,7 +63,6 @@ extern unsigned char ssir; #define SIR_NET 0x1 /* call netintr */ -#define SIR_CLOCK 0x2 /* call softclock */ #define SIR_CBACK 0x4 /* walk the sicallback-chain */ #define siroff(x) ssir &= ~(x) @@ -84,7 +83,6 @@ extern unsigned char ssir; #endif #define setsoftnet() do {ssir |= SIR_NET; setsoftint(); } while (0) -#define setsoftclock() do {ssir |= SIR_CLOCK; setsoftint(); } while (0) #define setsoftcback() do {ssir |= SIR_CBACK; setsoftint(); } while (0) void softintr_schedule __P((void *)); diff --git a/sys/arch/amigappc/include/intr.h b/sys/arch/amigappc/include/intr.h index c11a901d250c..f5fea14f2327 100644 --- a/sys/arch/amigappc/include/intr.h +++ b/sys/arch/amigappc/include/intr.h @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.5 2001/01/14 23:50:29 thorpej Exp $ */ +/* $NetBSD: intr.h,v 1.6 2001/01/15 20:19:52 thorpej Exp $ */ /*- * Copyright (c) 1997 The NetBSD Foundation, Inc. @@ -97,9 +97,6 @@ struct intrhand { int ih_irq; }; -/* -void setsoftclock __P((void)); -*/ void clearsoftclock __P((void)); int splsoftclock __P((void)); /* @@ -232,7 +229,6 @@ softintr(ipl) #define spl0() spllower(0) /* -#define setsoftclock() softintr(SIR_CLOCK) #define setsoftnet() softintr(SIR_NET) #define setsoftserial() softintr(SIR_SERIAL) */ diff --git a/sys/arch/arc/arc/arc_trap.c b/sys/arch/arc/arc/arc_trap.c index 500dc2d58e73..3be1d555b4d7 100644 --- a/sys/arch/arc/arc/arc_trap.c +++ b/sys/arch/arc/arc/arc_trap.c @@ -1,4 +1,4 @@ -/* $NetBSD: arc_trap.c,v 1.17 2000/12/24 09:25:24 ur Exp $ */ +/* $NetBSD: arc_trap.c,v 1.18 2001/01/15 20:19:52 thorpej Exp $ */ /* $OpenBSD: trap.c,v 1.22 1999/05/24 23:08:59 jason Exp $ */ /* @@ -197,6 +197,6 @@ cpu_intr(status, cause, pc, ipending) clearsoftclock(); uvmexp.softs++; intrcnt[SOFTCLOCK_INTR]++; - softclock(); + softclock(NULL); } } diff --git a/sys/arch/arm26/arm26/softintr.c b/sys/arch/arm26/arm26/softintr.c index 054bff3f9ca2..21f9d9d2053b 100644 --- a/sys/arch/arm26/arm26/softintr.c +++ b/sys/arch/arm26/arm26/softintr.c @@ -1,4 +1,4 @@ -/* $NetBSD: softintr.c,v 1.7 2000/08/22 21:22:51 bjh21 Exp $ */ +/* $NetBSD: softintr.c,v 1.8 2001/01/15 20:19:52 thorpej Exp $ */ /* * Copyright (c) 1999 Ben Harris. @@ -38,7 +38,7 @@ #include -__RCSID("$NetBSD: softintr.c,v 1.7 2000/08/22 21:22:51 bjh21 Exp $"); +__RCSID("$NetBSD: softintr.c,v 1.8 2001/01/15 20:19:52 thorpej Exp $"); #include #include @@ -66,10 +66,8 @@ LIST_HEAD(sh_head, softintr_handler); static struct sh_head sh_head; static struct softintr_handler *sh_softnet; -static struct softintr_handler *sh_softclock; static void dosoftnet(void *); -static void dosoftclock(void *); extern int hardsplx(int); /* XXX should be in a header somewhere */ @@ -79,14 +77,6 @@ softintr_init() LIST_INIT(&sh_head); sh_softnet = softintr_establish(IPL_SOFTNET, dosoftnet, NULL); - sh_softclock = softintr_establish(IPL_SOFTCLOCK, dosoftclock, NULL); -} - -void -setsoftclock() -{ - - softintr_schedule(sh_softclock); } void @@ -152,13 +142,6 @@ softintr_schedule(void *cookie) sh->sh_pending = 1; } -static void -dosoftclock(void *arg) -{ - - softclock(); -} - static void dosoftnet(void *arg) { diff --git a/sys/arch/arm26/include/intr.h b/sys/arch/arm26/include/intr.h index e7c6057e12b1..31575e085b6b 100644 --- a/sys/arch/arm26/include/intr.h +++ b/sys/arch/arm26/include/intr.h @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.6 2001/01/14 23:50:30 thorpej Exp $ */ +/* $NetBSD: intr.h,v 1.7 2001/01/15 20:19:52 thorpej Exp $ */ /*- * Copyright (c) 1998, 2000 Ben Harris * All rights reserved. @@ -106,7 +106,6 @@ extern int hardsplx(int); */ /* Old-fashioned soft interrupts */ -extern void setsoftclock(void); extern void setsoftnet(void); /* New-fangled generic soft interrupts */ diff --git a/sys/arch/arm32/arm32/intr.c b/sys/arch/arm32/arm32/intr.c index a43b0e432ae8..cb42a639eb55 100644 --- a/sys/arch/arm32/arm32/intr.c +++ b/sys/arch/arm32/arm32/intr.c @@ -1,4 +1,4 @@ -/* $NetBSD: intr.c,v 1.22 2000/12/12 06:06:05 mycroft Exp $ */ +/* $NetBSD: intr.c,v 1.23 2001/01/15 20:19:52 thorpej Exp $ */ /* * Copyright (c) 1994-1998 Mark Brinicombe. @@ -132,7 +132,7 @@ dosoftints() ++COUNT; INC_SINTRCNT(SOFTIRQ_CLOCK); clearsoftintr(SOFTIRQ_BIT(SOFTIRQ_CLOCK)); - softclock(); + softclock(NULL); (void)splx(s); } diff --git a/sys/arch/atari/atari/machdep.c b/sys/arch/atari/atari/machdep.c index fbf6ea2583e9..09f97740d90c 100644 --- a/sys/arch/atari/atari/machdep.c +++ b/sys/arch/atari/atari/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.104 2001/01/07 21:12:31 leo Exp $ */ +/* $NetBSD: machdep.c,v 1.105 2001/01/15 20:19:53 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -738,7 +738,7 @@ softint() siroff(SIR_CLOCK); uvmexp.softs++; /* XXXX softclock(&frame.f_stackadj); */ - softclock(); + softclock(NULL); } if (ssir & SIR_CBACK) { siroff(SIR_CBACK); diff --git a/sys/arch/bebox/bebox/extintr.c b/sys/arch/bebox/bebox/extintr.c index d6904c225040..425a82e87ee0 100644 --- a/sys/arch/bebox/bebox/extintr.c +++ b/sys/arch/bebox/bebox/extintr.c @@ -1,4 +1,4 @@ -/* $NetBSD: extintr.c,v 1.14 2000/08/14 10:09:06 kleink Exp $ */ +/* $NetBSD: extintr.c,v 1.15 2001/01/15 20:19:53 thorpej Exp $ */ /* $OpenBSD: isabus.c,v 1.1 1997/10/11 11:53:00 pefo Exp $ */ /*- @@ -430,7 +430,7 @@ do_pending_int() if ((ipending & ~pcpl) & SINT_CLOCK) { ipending &= ~SINT_CLOCK; - softclock(); + softclock(NULL); intrcnt[CNT_SINT_CLOCK]++; } if ((ipending & ~pcpl) & SINT_NET) { diff --git a/sys/arch/cobalt/cobalt/machdep.c b/sys/arch/cobalt/cobalt/machdep.c index 2c13ab76acda..dc9248d4efbc 100644 --- a/sys/arch/cobalt/cobalt/machdep.c +++ b/sys/arch/cobalt/cobalt/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.24 2000/11/27 05:57:26 soren Exp $ */ +/* $NetBSD: machdep.c,v 1.25 2001/01/15 20:19:53 thorpej Exp $ */ /* * Copyright (c) 2000 Soren S. Jorvang. All rights reserved. @@ -525,6 +525,6 @@ cpu_intr(status, cause, pc, ipending) clearsoftclock(); uvmexp.softs++; intrcnt[SOFTCLOCK_INTR]++; - softclock(); + softclock(NULL); } } diff --git a/sys/arch/dreamcast/dreamcast/shb.c b/sys/arch/dreamcast/dreamcast/shb.c index 35bec18025fa..fa03541c4980 100644 --- a/sys/arch/dreamcast/dreamcast/shb.c +++ b/sys/arch/dreamcast/dreamcast/shb.c @@ -1,4 +1,4 @@ -/* $NetBSD: shb.c,v 1.1 2000/12/11 18:19:13 marcus Exp $ */ +/* $NetBSD: shb.c,v 1.2 2001/01/15 20:19:53 thorpej Exp $ */ /*- * Copyright (c) 1993, 1994 Charles Hannum. All rights reserved. @@ -744,7 +744,7 @@ void Xsoftclock(void) { - softclock(); + softclock(NULL); } #define LEGAL_IRQ(x) ((x) >= 0 && (x) < SHB_MAX_HARDINTR && (x) != 2) diff --git a/sys/arch/evbsh3/evbsh3/shb.c b/sys/arch/evbsh3/evbsh3/shb.c index 855962f617d8..7f74fa280e9b 100644 --- a/sys/arch/evbsh3/evbsh3/shb.c +++ b/sys/arch/evbsh3/evbsh3/shb.c @@ -1,4 +1,4 @@ -/* $NetBSD: shb.c,v 1.12 2000/09/29 08:08:37 msaitoh Exp $ */ +/* $NetBSD: shb.c,v 1.13 2001/01/15 20:19:53 thorpej Exp $ */ /*- * Copyright (c) 1993, 1994 Charles Hannum. All rights reserved. @@ -744,7 +744,7 @@ void Xsoftclock(void) { - softclock(); + softclock(NULL); } #define LEGAL_IRQ(x) ((x) >= 0 && (x) < SHB_MAX_HARDINTR && (x) != 2) diff --git a/sys/arch/hp300/hp300/trap.c b/sys/arch/hp300/hp300/trap.c index c6375cefe26f..8a87710d3f11 100644 --- a/sys/arch/hp300/hp300/trap.c +++ b/sys/arch/hp300/hp300/trap.c @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.85 2000/12/23 09:35:52 jdolecek Exp $ */ +/* $NetBSD: trap.c,v 1.86 2001/01/15 20:19:54 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -530,7 +530,7 @@ trap(type, code, v, frame) if (ssir & SIR_CLOCK) { siroff(SIR_CLOCK); uvmexp.softs++; - softclock(); + softclock(NULL); } /* * If this was not an AST trap, we are all done. diff --git a/sys/arch/hpcmips/hpcmips/machdep.c b/sys/arch/hpcmips/hpcmips/machdep.c index 46c331fefd37..0255d3bf79f2 100644 --- a/sys/arch/hpcmips/hpcmips/machdep.c +++ b/sys/arch/hpcmips/hpcmips/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.37 2000/12/03 12:57:37 takemura Exp $ */ +/* $NetBSD: machdep.c,v 1.38 2001/01/15 20:19:54 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -43,7 +43,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.37 2000/12/03 12:57:37 takemura Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.38 2001/01/15 20:19:54 thorpej Exp $"); /* from: Utah Hdr: machdep.c 1.63 91/04/24 */ #include "opt_vr41x1.h" @@ -770,7 +770,7 @@ cpu_intr(status, cause, pc, ipending) _clrsoftintr(MIPS_SOFT_INT_MASK_0); uvmexp.softs++; intrcnt[SOFTCLOCK_INTR]++; - softclock(); + softclock(NULL); } return; diff --git a/sys/arch/luna68k/luna68k/trap.c b/sys/arch/luna68k/luna68k/trap.c index da097c920ec7..d65fe87d87dc 100644 --- a/sys/arch/luna68k/luna68k/trap.c +++ b/sys/arch/luna68k/luna68k/trap.c @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.12 2000/12/23 09:35:52 jdolecek Exp $ */ +/* $NetBSD: trap.c,v 1.13 2001/01/15 20:19:54 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -44,7 +44,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.12 2000/12/23 09:35:52 jdolecek Exp $"); +__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.13 2001/01/15 20:19:54 thorpej Exp $"); #include "opt_ddb.h" #include "opt_execfmt.h" @@ -468,7 +468,7 @@ trap(type, code, v, frame) if (ssir & SIR_CLOCK) { siroff(SIR_CLOCK); uvmexp.softs++; - softclock(); + softclock(NULL); } /* * If this was not an AST trap, we are all done. diff --git a/sys/arch/mac68k/mac68k/trap.c b/sys/arch/mac68k/mac68k/trap.c index da9dfd62cc30..b595aeda40fb 100644 --- a/sys/arch/mac68k/mac68k/trap.c +++ b/sys/arch/mac68k/mac68k/trap.c @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.88 2000/12/22 22:58:54 jdolecek Exp $ */ +/* $NetBSD: trap.c,v 1.89 2001/01/15 20:19:54 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -507,7 +507,7 @@ copyfault: void softclock __P((void)); siroff(SIR_CLOCK); uvmexp.softs++; - softclock(); + softclock(NULL); } if (ssir & SIR_DTMGR) { void mrg_execute_deferred __P((void)); diff --git a/sys/arch/macppc/macppc/extintr.c b/sys/arch/macppc/macppc/extintr.c index 6a3633e69df2..2fafc9c311b9 100644 --- a/sys/arch/macppc/macppc/extintr.c +++ b/sys/arch/macppc/macppc/extintr.c @@ -1,4 +1,4 @@ -/* $NetBSD: extintr.c,v 1.21 2001/01/04 15:01:25 tsubai Exp $ */ +/* $NetBSD: extintr.c,v 1.22 2001/01/15 20:19:54 thorpej Exp $ */ /*- * Copyright (c) 1995 Per Fogelstrom @@ -690,7 +690,7 @@ softagain: } if ((ipending & ~pcpl) & (1 << SIR_CLOCK)) { ipending &= ~(1 << SIR_CLOCK); - softclock(); + softclock(NULL); intrcnt[CNT_SOFTCLOCK]++; goto softagain; } diff --git a/sys/arch/mipsco/mipsco/machdep.c b/sys/arch/mipsco/mipsco/machdep.c index 542a2c5b8311..55c70ea5bfc6 100644 --- a/sys/arch/mipsco/mipsco/machdep.c +++ b/sys/arch/mipsco/mipsco/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.13 2000/11/27 05:57:26 soren Exp $ */ +/* $NetBSD: machdep.c,v 1.14 2001/01/15 20:19:55 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -43,7 +43,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.13 2000/11/27 05:57:26 soren Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.14 2001/01/15 20:19:55 thorpej Exp $"); /* from: Utah Hdr: machdep.c 1.63 91/04/24 */ @@ -744,7 +744,7 @@ cpu_intr(status, cause, pc, ipending) _clrsoftintr(MIPS_SOFT_INT_MASK_0); uvmexp.softs++; soft_evcnt[IPL_SOFTCLOCK].ev_count++; - softclock(); + softclock(NULL); } } diff --git a/sys/arch/mmeye/mmeye/shb.c b/sys/arch/mmeye/mmeye/shb.c index 4775342dd857..2a026438fac1 100644 --- a/sys/arch/mmeye/mmeye/shb.c +++ b/sys/arch/mmeye/mmeye/shb.c @@ -1,4 +1,4 @@ -/* $NetBSD: shb.c,v 1.7 2000/07/02 04:40:41 cgd Exp $ */ +/* $NetBSD: shb.c,v 1.8 2001/01/15 20:19:55 thorpej Exp $ */ /*- * Copyright (c) 1993, 1994 Charles Hannum. All rights reserved. @@ -584,7 +584,7 @@ void Xsoftclock(void) { - softclock(); + softclock(NULL); } #define LEGAL_IRQ(x) ((x) >= 0 && (x) < SHB_MAX_HARDINTR && (x) != 2) diff --git a/sys/arch/mvme68k/include/intr.h b/sys/arch/mvme68k/include/intr.h index 1e2c93606ab6..e634d44a3e7e 100644 --- a/sys/arch/mvme68k/include/intr.h +++ b/sys/arch/mvme68k/include/intr.h @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.8 2001/01/14 23:50:30 thorpej Exp $ */ +/* $NetBSD: intr.h,v 1.9 2001/01/15 20:19:55 thorpej Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -159,10 +159,8 @@ void softintr_dispatch(void); /* XXX For legacy software interrupts */ extern struct mvme68k_soft_intrhand *softnet_intrhand; -extern struct mvme68k_soft_intrhand *softclock_intrhand; #define setsoftnet() softintr_schedule(softnet_intrhand) -#define setsoftclock() softintr_schedule(softclock_intrhand) #endif /* !_LOCORE */ #endif /* _KERNEL */ diff --git a/sys/arch/mvme68k/mvme68k/softintr.c b/sys/arch/mvme68k/mvme68k/softintr.c index 972a1698079e..5a00927ba64b 100644 --- a/sys/arch/mvme68k/mvme68k/softintr.c +++ b/sys/arch/mvme68k/mvme68k/softintr.c @@ -1,4 +1,4 @@ -/* $NetBSD: softintr.c,v 1.3 2000/11/24 14:49:44 scw Exp $ */ +/* $NetBSD: softintr.c,v 1.4 2001/01/15 20:19:55 thorpej Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -57,7 +57,6 @@ struct mvme68k_soft_intrhand *softnet_intrhand; -struct mvme68k_soft_intrhand *softclock_intrhand; static struct mvme68k_soft_intr mvme68k_soft_intrs[IPL_NSOFT]; @@ -101,12 +100,9 @@ softintr_init() /* Establish legacy software interrupt handlers */ softnet_intrhand = softintr_establish(IPL_SOFTNET, (void (*)(void *)) netintr, NULL); - softclock_intrhand = softintr_establish(IPL_SOFTCLOCK, - (void (*)(void *)) softclock, NULL); #ifdef DEBUG assert(softnet_intrhand != NULL); - assert(softclock_intrhand != NULL); #endif } diff --git a/sys/arch/news68k/news68k/machdep.c b/sys/arch/news68k/news68k/machdep.c index f25bd2999afb..688bcc79eb46 100644 --- a/sys/arch/news68k/news68k/machdep.c +++ b/sys/arch/news68k/news68k/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.13 2001/01/12 17:17:49 tsutsui Exp $ */ +/* $NetBSD: machdep.c,v 1.14 2001/01/15 20:19:55 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -1122,7 +1122,7 @@ init_sir() { sir_routines[SIR_NET] = (void (*) __P((void *)))netintr; - sir_routines[SIR_CLOCK] = (void (*) __P((void *)))softclock; + sir_routines[SIR_CLOCK] = softclock; next_sir = NEXT_SIR; } diff --git a/sys/arch/newsmips/newsmips/machdep.c b/sys/arch/newsmips/newsmips/machdep.c index 121020704610..8a392649a89b 100644 --- a/sys/arch/newsmips/newsmips/machdep.c +++ b/sys/arch/newsmips/newsmips/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.49 2000/11/27 05:57:26 soren Exp $ */ +/* $NetBSD: machdep.c,v 1.50 2001/01/15 20:19:55 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -43,7 +43,7 @@ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.49 2000/11/27 05:57:26 soren Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.50 2001/01/15 20:19:55 thorpej Exp $"); /* from: Utah Hdr: machdep.c 1.63 91/04/24 */ @@ -710,7 +710,7 @@ cpu_intr(status, cause, pc, ipending) _clrsoftintr(MIPS_SOFT_INT_MASK_0); uvmexp.softs++; intrcnt[SOFTCLOCK_INTR]++; - softclock(); + softclock(NULL); } } diff --git a/sys/arch/next68k/next68k/trap.c b/sys/arch/next68k/next68k/trap.c index 874af8ea6c38..83454dcde13b 100644 --- a/sys/arch/next68k/next68k/trap.c +++ b/sys/arch/next68k/next68k/trap.c @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.29 2000/12/23 09:35:53 jdolecek Exp $ */ +/* $NetBSD: trap.c,v 1.30 2001/01/15 20:19:56 thorpej Exp $ */ /* * This file was taken from mvme68k/mvme68k/trap.c @@ -1009,6 +1009,6 @@ init_sir() extern void netintr(void); sir_routines[0] = (void (*)(void *))netintr; - sir_routines[1] = (void (*)(void *))softclock; + sir_routines[1] = softclock; next_sir = 2; } diff --git a/sys/arch/ofppc/ofppc/soft_spl.c b/sys/arch/ofppc/ofppc/soft_spl.c index 4d121c16d1b9..e23f20f8eb7d 100644 --- a/sys/arch/ofppc/ofppc/soft_spl.c +++ b/sys/arch/ofppc/ofppc/soft_spl.c @@ -1,4 +1,4 @@ -/* $NetBSD: soft_spl.c,v 1.2 1999/08/05 18:08:12 thorpej Exp $ */ +/* $NetBSD: soft_spl.c,v 1.3 2001/01/15 20:19:56 thorpej Exp $ */ /* * Copyright (C) 1997 Wolfgang Solfrank. @@ -134,7 +134,7 @@ soft_splx(new) cpl |= SPLSOFTCLOCK; softclockpending = 0; asm volatile ("mtmsr %0" :: "r"(emsr)); - softclock(); + softclock(NULL); continue; } if (softnetpending && !(cpl & SPLSOFTNET)) { diff --git a/sys/arch/pc532/include/cpu.h b/sys/arch/pc532/include/cpu.h index 0ec853f5eec7..11a6720d52c7 100644 --- a/sys/arch/pc532/include/cpu.h +++ b/sys/arch/pc532/include/cpu.h @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.31 2000/08/25 01:04:10 thorpej Exp $ */ +/* $NetBSD: cpu.h,v 1.32 2001/01/15 20:19:56 thorpej Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -130,7 +130,6 @@ void save_fpu_context __P((struct pcb *)); /* machdep.c */ void dumpconf __P((void)); -void do_softclock __P((void *)); void softnet __P((void *)); /* mainbus.c */ diff --git a/sys/arch/pc532/pc532/machdep.c b/sys/arch/pc532/pc532/machdep.c index 4b4978866d3d..802c71290453 100644 --- a/sys/arch/pc532/pc532/machdep.c +++ b/sys/arch/pc532/pc532/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.117 2001/01/02 19:16:34 matthias Exp $ */ +/* $NetBSD: machdep.c,v 1.118 2001/01/15 20:19:56 thorpej Exp $ */ /*- * Copyright (c) 1996 Matthias Pfaller. @@ -1130,16 +1130,6 @@ cpu_reset() __asm __volatile("jump @0"); } -/* - * Clock software interrupt routine - */ -void -do_softclock(arg) - void *arg; -{ - softclock(); -} - /* * Network software interrupt routine */ diff --git a/sys/arch/pc532/pc532/mainbus.c b/sys/arch/pc532/pc532/mainbus.c index 168c877801f3..4c059a9510f0 100644 --- a/sys/arch/pc532/pc532/mainbus.c +++ b/sys/arch/pc532/pc532/mainbus.c @@ -1,4 +1,4 @@ -/* $NetBSD: mainbus.c,v 1.7 1998/04/11 17:44:11 matthias Exp $ */ +/* $NetBSD: mainbus.c,v 1.8 2001/01/15 20:19:56 thorpej Exp $ */ /* * Copyright (c) 1997 Matthias Pfaller. @@ -83,7 +83,7 @@ mbattach(parent, self, aux) intr_init(); /* Allocate softclock at IPL_NET as splnet() has to block softclock. */ - clk = intr_establish(SOFTINT, do_softclock, NULL, + clk = intr_establish(SOFTINT, softclock, NULL, "softclock", IPL_NET, IPL_NET, 0); net = intr_establish(SOFTINT, softnet, NULL, "softnet", IPL_NET, IPL_NET, 0); diff --git a/sys/arch/pmax/pmax/machdep.c b/sys/arch/pmax/pmax/machdep.c index 6ae73d235774..7480db8909b5 100644 --- a/sys/arch/pmax/pmax/machdep.c +++ b/sys/arch/pmax/pmax/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.184 2000/11/27 08:57:08 nisimura Exp $ */ +/* $NetBSD: machdep.c,v 1.185 2001/01/15 20:19:56 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -43,7 +43,7 @@ */ #include /* RCS ID & Copyright macro defns */ -__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.184 2000/11/27 08:57:08 nisimura Exp $"); +__KERNEL_RCSID(0, "$NetBSD: machdep.c,v 1.185 2001/01/15 20:19:56 thorpej Exp $"); #include "fs_mfs.h" #include "opt_ddb.h" @@ -776,7 +776,7 @@ cpu_intr(status, cause, pc, ipending) _clrsoftintr(MIPS_SOFT_INT_MASK_0); uvmexp.softs++; intrcnt[SOFTCLOCK_INTR]++; - softclock(); + softclock(NULL); } return; diff --git a/sys/arch/powerpc/powerpc/soft_spl.c b/sys/arch/powerpc/powerpc/soft_spl.c index 44d222b19115..659a7701a368 100644 --- a/sys/arch/powerpc/powerpc/soft_spl.c +++ b/sys/arch/powerpc/powerpc/soft_spl.c @@ -1,4 +1,4 @@ -/* $NetBSD: soft_spl.c,v 1.1 1997/04/16 21:20:35 thorpej Exp $ */ +/* $NetBSD: soft_spl.c,v 1.2 2001/01/15 20:19:57 thorpej Exp $ */ /* * Copyright (C) 1997 Wolfgang Solfrank. @@ -132,7 +132,7 @@ soft_splx(new) cpl |= SPLSOFTCLOCK; softclockpending = 0; asm volatile ("mtmsr %0" :: "r"(emsr)); - softclock(); + softclock(NULL); continue; } if (softnetpending && !(cpl & SPLSOFTNET)) { diff --git a/sys/arch/prep/prep/extintr.c b/sys/arch/prep/prep/extintr.c index 094678e1e208..5a7ebb82ed74 100644 --- a/sys/arch/prep/prep/extintr.c +++ b/sys/arch/prep/prep/extintr.c @@ -1,4 +1,4 @@ -/* $NetBSD: extintr.c,v 1.5 2000/11/27 08:53:55 matt Exp $ */ +/* $NetBSD: extintr.c,v 1.6 2001/01/15 20:19:57 thorpej Exp $ */ /* $OpenBSD: isabus.c,v 1.12 1999/06/15 02:40:05 rahnds Exp $ */ /*- @@ -405,7 +405,7 @@ do_pending_int() } if ((ipending & ~pcpl) & SINT_CLOCK) { ipending &= ~SINT_CLOCK; - softclock(); + softclock(NULL); } if ((ipending & ~pcpl) & SINT_NET) { ipending &= ~SINT_NET; diff --git a/sys/arch/sgimips/sgimips/machdep.c b/sys/arch/sgimips/sgimips/machdep.c index c81e85957518..552d20db51d0 100644 --- a/sys/arch/sgimips/sgimips/machdep.c +++ b/sys/arch/sgimips/sgimips/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.7 2000/11/27 05:57:27 soren Exp $ */ +/* $NetBSD: machdep.c,v 1.8 2001/01/15 20:19:57 thorpej Exp $ */ /* * Copyright (c) 2000 Soren S. Jorvang @@ -569,7 +569,7 @@ else clearsoftclock(); uvmexp.softs++; intrcnt[SOFTCLOCK_INTR]++; - softclock(); + softclock(NULL); } } diff --git a/sys/arch/sparc/sparc/intr.c b/sys/arch/sparc/sparc/intr.c index e5de5979d1aa..4a71f6948202 100644 --- a/sys/arch/sparc/sparc/intr.c +++ b/sys/arch/sparc/sparc/intr.c @@ -1,4 +1,4 @@ -/* $NetBSD: intr.c,v 1.47 2000/07/02 04:40:44 cgd Exp $ */ +/* $NetBSD: intr.c,v 1.48 2001/01/15 20:19:57 thorpej Exp $ */ /* * Copyright (c) 1992, 1993 @@ -139,7 +139,7 @@ soft01intr(fp) } if (sir.sir_which[SIR_CLOCK]) { sir.sir_which[SIR_CLOCK] = 0; - softclock(); + softclock(NULL); } #if NCOM > 0 /* diff --git a/sys/arch/sparc64/include/cpu.h b/sys/arch/sparc64/include/cpu.h index 2092e8ca716d..20233ec859d9 100644 --- a/sys/arch/sparc64/include/cpu.h +++ b/sys/arch/sparc64/include/cpu.h @@ -1,4 +1,4 @@ -/* $NetBSD: cpu.h,v 1.26 2000/09/29 17:02:38 eeh Exp $ */ +/* $NetBSD: cpu.h,v 1.27 2001/01/15 20:19:57 thorpej Exp $ */ /* * Copyright (c) 1992, 1993 @@ -170,11 +170,9 @@ extern struct intrhand soft01intr, soft01net, soft01clock; #if 0 #define setsoftint() send_softint(-1, IPL_SOFTINT, &soft01intr) #define setsoftnet() send_softint(-1, IPL_SOFTNET, &soft01net) -#define setsoftclock() send_softint(-1, IPL_SOFTCLOCK, &soft01clock) #else void setsoftint __P((void)); void setsoftnet __P((void)); -void setsoftclock __P((void)); #endif int want_ast; diff --git a/sys/arch/sparc64/sparc64/intr.c b/sys/arch/sparc64/sparc64/intr.c index 0234cedb7728..f4ba2d773154 100644 --- a/sys/arch/sparc64/sparc64/intr.c +++ b/sys/arch/sparc64/sparc64/intr.c @@ -1,4 +1,4 @@ -/* $NetBSD: intr.c,v 1.37 2000/12/04 20:40:07 fvdl Exp $ */ +/* $NetBSD: intr.c,v 1.38 2001/01/15 20:19:58 thorpej Exp $ */ /* * Copyright (c) 1992, 1993 @@ -72,7 +72,6 @@ struct intrhand *intrlev[MAXINTNUM]; void strayintr __P((const struct trapframe64 *, int)); int softintr __P((void *)); int softnet __P((void *)); -int send_softclock __P((void *)); int intr_list_handler __P((void *)); /* @@ -160,20 +159,8 @@ softnet(fp) return (1); } -/* - * Damn softclock doesn't return a value. - */ -int -send_softclock(fp) - void *fp; -{ - softclock(); - return 1; -} - struct intrhand soft01intr = { softintr, NULL, 1 }; struct intrhand soft01net = { softnet, NULL, 1 }; -struct intrhand soft01clock = { send_softclock, NULL, 1 }; #if 1 void @@ -184,10 +171,6 @@ void setsoftnet() { send_softint(-1, IPL_SOFTNET, &soft01net); } -void -setsoftclock() { - send_softint(-1, IPL_SOFTCLOCK, &soft01clock); -} #endif /* diff --git a/sys/arch/sun3/sun3/intreg.c b/sys/arch/sun3/sun3/intreg.c index 8f4846b8cbf2..ce85ad544db4 100644 --- a/sys/arch/sun3/sun3/intreg.c +++ b/sys/arch/sun3/sun3/intreg.c @@ -1,4 +1,4 @@ -/* $NetBSD: intreg.c,v 1.14 2000/06/29 07:19:06 mrg Exp $ */ +/* $NetBSD: intreg.c,v 1.15 2001/01/15 20:19:58 thorpej Exp $ */ /*- * Copyright (c) 1996 The NetBSD Foundation, Inc. @@ -151,7 +151,7 @@ soft1intr(arg) } if (sir.sir_which[SIR_CLOCK]) { sir.sir_which[SIR_CLOCK] = 0; - softclock(); + softclock(NULL); } if (sir.sir_which[SIR_SPARE2]) { sir.sir_which[SIR_SPARE2] = 0; diff --git a/sys/arch/vax/include/intr.h b/sys/arch/vax/include/intr.h index 71bdb39d3786..07cc07625936 100644 --- a/sys/arch/vax/include/intr.h +++ b/sys/arch/vax/include/intr.h @@ -1,4 +1,4 @@ -/* $NetBSD: intr.h,v 1.9 2001/01/14 23:50:30 thorpej Exp $ */ +/* $NetBSD: intr.h,v 1.10 2001/01/15 20:19:58 thorpej Exp $ */ /* * Copyright (c) 1998 Matt Thomas. @@ -135,7 +135,6 @@ do { \ #define setsoftddb() _setsirr(IPL_SOFTDDB) #define setsoftserial() _setsirr(IPL_SOFTSERIAL) #define setsoftnet() _setsirr(IPL_SOFTNET) -#define setsoftclock() _setsirr(IPL_SOFTCLOCK) #if !defined(_LOCORE) LIST_HEAD(sh_head, softintr_handler); diff --git a/sys/arch/vax/vax/intvec.s b/sys/arch/vax/vax/intvec.s index 81d42fb8e2c1..c3a4bd04d21a 100644 --- a/sys/arch/vax/vax/intvec.s +++ b/sys/arch/vax/vax/intvec.s @@ -1,4 +1,4 @@ -/* $NetBSD: intvec.s,v 1.57 2000/12/31 19:27:24 matt Exp $ */ +/* $NetBSD: intvec.s,v 1.58 2001/01/15 20:19:58 thorpej Exp $ */ /* * Copyright (c) 1994, 1997 Ludd, University of Lule}, Sweden. @@ -290,7 +290,8 @@ TRAPCALL(astintr, T_ASTFLT) SCBENTRY(softclock) PUSHR - calls $0,_C_LABEL(softclock) + movab _C_LABEL(softclock_head),r0 + jsb softintr_dispatch incl _C_LABEL(softclock_intrcnt)+EV_COUNT adwc $0,_C_LABEL(softclock_intrcnt)+EV_COUNT+4 POPR diff --git a/sys/arch/vax/vax/machdep.c b/sys/arch/vax/vax/machdep.c index 71093215c87a..a9686b040606 100644 --- a/sys/arch/vax/vax/machdep.c +++ b/sys/arch/vax/vax/machdep.c @@ -1,4 +1,4 @@ -/* $NetBSD: machdep.c,v 1.110 2000/12/22 22:58:56 jdolecek Exp $ */ +/* $NetBSD: machdep.c,v 1.111 2001/01/15 20:19:58 thorpej Exp $ */ /* * Copyright (c) 1994, 1998 Ludd, University of Lule}, Sweden. @@ -116,6 +116,7 @@ vm_map_t phys_map = NULL; int iospace_inited = 0; #endif +struct softintr_head softclock_head = { IPL_SOFTCLOCK }; struct softintr_head softnet_head = { IPL_SOFTNET }; struct softintr_head softserial_head = { IPL_SOFTSERIAL }; @@ -736,6 +737,7 @@ softintr_establish(int ipl, void (*func)(void *), void *arg) struct softintr_head *shd; switch (ipl) { + case IPL_SOFTCLOCK: shd = &softclock_head; break; case IPL_SOFTNET: shd = &softnet_head; break; case IPL_SOFTSERIAL: shd = &softserial_head; break; default: panic("softintr_establish: unsupported soft IPL"); diff --git a/sys/arch/x68k/x68k/trap.c b/sys/arch/x68k/x68k/trap.c index 8208e4bd4805..c473d50c693e 100644 --- a/sys/arch/x68k/x68k/trap.c +++ b/sys/arch/x68k/x68k/trap.c @@ -1,4 +1,4 @@ -/* $NetBSD: trap.c,v 1.47 2000/12/23 09:35:53 jdolecek Exp $ */ +/* $NetBSD: trap.c,v 1.48 2001/01/15 20:19:58 thorpej Exp $ */ /* * Copyright (c) 1988 University of Utah. @@ -557,7 +557,7 @@ trap(type, code, v, frame) if (ssir & SIR_CLOCK) { siroff(SIR_CLOCK); uvmexp.softs++; - softclock(); + softclock(NULL); } if (ssir & SIR_SERIAL) { #include "zsc.h" diff --git a/sys/kern/kern_clock.c b/sys/kern/kern_clock.c index 5fd3470d6b4e..37c84be3716f 100644 --- a/sys/kern/kern_clock.c +++ b/sys/kern/kern_clock.c @@ -1,4 +1,4 @@ -/* $NetBSD: kern_clock.c,v 1.72 2000/12/10 19:29:31 mycroft Exp $ */ +/* $NetBSD: kern_clock.c,v 1.73 2001/01/15 20:19:59 thorpej Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -394,6 +394,11 @@ static void callout_stop_locked(struct callout *); */ u_int64_t hardclock_ticks, softclock_ticks; +#ifdef __HAVE_GENERIC_SOFT_INTERRUPTS +void softclock(void *); +void *softclock_si; +#endif + /* * Initialize clock frequencies and start both clocks running. */ @@ -402,6 +407,12 @@ initclocks(void) { int i; +#ifdef __HAVE_GENERIC_SOFT_INTERRUPTS + softclock_si = softintr_establish(IPL_SOFTCLOCK, softclock, NULL); + if (softclock_si == NULL) + panic("initclocks: unable to register softclock intr"); +#endif + /* * Set divisors to 1 (normal case) and let the machine-specific * code do its bit. @@ -879,10 +890,15 @@ hardclock(struct clockframe *frame) */ spllowersoftclock(); KERNEL_LOCK(LK_CANRECURSE|LK_EXCLUSIVE); - softclock(); + softclock(NULL); KERNEL_UNLOCK(); - } else + } else { +#ifdef __HAVE_GENERIC_SOFT_INTERRUPTS + softintr_schedule(softclock_si); +#else setsoftclock(); +#endif + } return; } else if (softclock_running == 0 && (softclock_ticks + 1) == hardclock_ticks) { @@ -897,7 +913,7 @@ hardclock(struct clockframe *frame) */ /*ARGSUSED*/ void -softclock(void) +softclock(void *v) { struct callout_queue *bucket; struct callout *c; diff --git a/sys/sys/systm.h b/sys/sys/systm.h index cea31f520fef..d3b864f22882 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -1,4 +1,4 @@ -/* $NetBSD: systm.h,v 1.123 2000/11/26 11:09:00 takemura Exp $ */ +/* $NetBSD: systm.h,v 1.124 2001/01/15 20:19:59 thorpej Exp $ */ /*- * Copyright (c) 1982, 1988, 1991, 1993 @@ -237,7 +237,9 @@ int hzto __P((struct timeval *tv)); void realitexpire __P((void *)); void hardclock __P((struct clockframe *frame)); -void softclock __P((void)); +#ifndef __HAVE_GENERIC_SOFT_INTERRUPTS +void softclock __P((void *)); +#endif void statclock __P((struct clockframe *frame)); #ifdef NTP void hardupdate __P((long offset));