From cbc4b2562bfe5286e4cdccdfb39b54becb24672d Mon Sep 17 00:00:00 2001 From: peter Date: Mon, 26 Apr 1999 08:57:51 +0000 Subject: Register the netisr's via SYSINIT rather than linker sets. --- sys/alpha/alpha/machdep.c | 22 ++++++---------------- sys/amd64/amd64/machdep.c | 38 ++++++-------------------------------- sys/i386/i386/machdep.c | 38 ++++++-------------------------------- 3 files changed, 18 insertions(+), 80 deletions(-) diff --git a/sys/alpha/alpha/machdep.c b/sys/alpha/alpha/machdep.c index 3c4e567..a4d8c7d 100644 --- a/sys/alpha/alpha/machdep.c +++ b/sys/alpha/alpha/machdep.c @@ -23,7 +23,7 @@ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * - * $Id: machdep.c,v 1.38 1999/04/19 14:14:11 peter Exp $ + * $Id: machdep.c,v 1.39 1999/04/23 19:53:37 dt Exp $ */ /*- * Copyright (c) 1998 The NetBSD Foundation, Inc. @@ -234,13 +234,11 @@ SYSCTL_INT(_hw, OID_AUTO, availpages, CTLFLAG_RD, &physmem, 0, ""); /* must be 2 less so 0 0 can signal end of chunks */ #define PHYS_AVAIL_ARRAY_END ((sizeof(phys_avail) / sizeof(vm_offset_t)) - 2) -static void setup_netisrs __P((struct linker_set *)); /* XXX declare elsewhere */ static void identifycpu __P((void)); static vm_offset_t buffer_sva, buffer_eva; vm_offset_t clean_sva, clean_eva; static vm_offset_t pager_sva, pager_eva; -extern struct linker_set netisr_set; #define offsetof(type, member) ((size_t)(&((type *)0)->member)) @@ -297,11 +295,6 @@ cpu_startup(dummy) } /* - * Quickly wire in netisrs. - */ - setup_netisrs(&netisr_set); - - /* * Calculate callout wheel size */ for (callwheelsize = 1, callwheelbits = 0; @@ -464,17 +457,14 @@ register_netisr(num, handler) return (0); } -static void -setup_netisrs(ls) - struct linker_set *ls; +void +netisr_sysinit(data) + void *data; { - int i; const struct netisrtab *nit; - for(i = 0; ls->ls_items[i]; i++) { - nit = (const struct netisrtab *)ls->ls_items[i]; - register_netisr(nit->nit_num, nit->nit_isr); - } + nit = (const struct netisrtab *)data; + register_netisr(nit->nit_num, nit->nit_isr); } /* diff --git a/sys/amd64/amd64/machdep.c b/sys/amd64/amd64/machdep.c index 6ff8559..712996e 100644 --- a/sys/amd64/amd64/machdep.c +++ b/sys/amd64/amd64/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.329 1999/04/16 21:22:13 peter Exp $ + * $Id: machdep.c,v 1.330 1999/04/19 14:14:12 peter Exp $ */ #include "apm.h" @@ -101,14 +101,7 @@ #include -#if defined(INET) || defined(IPX) || defined(NATM) || defined(NETATALK) \ - || NETHER > 0 || defined(NS) -#define NETISR -#endif - -#ifdef NETISR #include -#endif #include #include @@ -253,16 +246,9 @@ vm_offset_t phys_avail[10]; /* must be 2 less so 0 0 can signal end of chunks */ #define PHYS_AVAIL_ARRAY_END ((sizeof(phys_avail) / sizeof(vm_offset_t)) - 2) -#ifdef NETISR -static void setup_netisrs __P((struct linker_set *)); -#endif - static vm_offset_t buffer_sva, buffer_eva; vm_offset_t clean_sva, clean_eva; static vm_offset_t pager_sva, pager_eva; -#ifdef NETISR -extern struct linker_set netisr_set; -#endif #if NNPX > 0 extern struct isa_driver npxdriver; #endif @@ -311,13 +297,6 @@ cpu_startup(dummy) } } -#ifdef NETISR - /* - * Quickly wire in netisrs. - */ - setup_netisrs(&netisr_set); -#endif - /* * Calculate callout wheel size */ @@ -466,7 +445,6 @@ again: #endif /* SMP */ } -#ifdef NETISR int register_netisr(num, handler) int num; @@ -481,19 +459,15 @@ register_netisr(num, handler) return (0); } -static void -setup_netisrs(ls) - struct linker_set *ls; +void +netisr_sysinit(data) + void *data; { - int i; const struct netisrtab *nit; - for(i = 0; ls->ls_items[i]; i++) { - nit = (const struct netisrtab *)ls->ls_items[i]; - register_netisr(nit->nit_num, nit->nit_isr); - } + nit = (const struct netisrtab *)data; + register_netisr(nit->nit_num, nit->nit_isr); } -#endif /* NETISR */ /* * Send an interrupt to process. diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 6ff8559..712996e 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -35,7 +35,7 @@ * SUCH DAMAGE. * * from: @(#)machdep.c 7.4 (Berkeley) 6/3/91 - * $Id: machdep.c,v 1.329 1999/04/16 21:22:13 peter Exp $ + * $Id: machdep.c,v 1.330 1999/04/19 14:14:12 peter Exp $ */ #include "apm.h" @@ -101,14 +101,7 @@ #include -#if defined(INET) || defined(IPX) || defined(NATM) || defined(NETATALK) \ - || NETHER > 0 || defined(NS) -#define NETISR -#endif - -#ifdef NETISR #include -#endif #include #include @@ -253,16 +246,9 @@ vm_offset_t phys_avail[10]; /* must be 2 less so 0 0 can signal end of chunks */ #define PHYS_AVAIL_ARRAY_END ((sizeof(phys_avail) / sizeof(vm_offset_t)) - 2) -#ifdef NETISR -static void setup_netisrs __P((struct linker_set *)); -#endif - static vm_offset_t buffer_sva, buffer_eva; vm_offset_t clean_sva, clean_eva; static vm_offset_t pager_sva, pager_eva; -#ifdef NETISR -extern struct linker_set netisr_set; -#endif #if NNPX > 0 extern struct isa_driver npxdriver; #endif @@ -311,13 +297,6 @@ cpu_startup(dummy) } } -#ifdef NETISR - /* - * Quickly wire in netisrs. - */ - setup_netisrs(&netisr_set); -#endif - /* * Calculate callout wheel size */ @@ -466,7 +445,6 @@ again: #endif /* SMP */ } -#ifdef NETISR int register_netisr(num, handler) int num; @@ -481,19 +459,15 @@ register_netisr(num, handler) return (0); } -static void -setup_netisrs(ls) - struct linker_set *ls; +void +netisr_sysinit(data) + void *data; { - int i; const struct netisrtab *nit; - for(i = 0; ls->ls_items[i]; i++) { - nit = (const struct netisrtab *)ls->ls_items[i]; - register_netisr(nit->nit_num, nit->nit_isr); - } + nit = (const struct netisrtab *)data; + register_netisr(nit->nit_num, nit->nit_isr); } -#endif /* NETISR */ /* * Send an interrupt to process. -- cgit v1.1