diff options
author | wollman <wollman@FreeBSD.org> | 1996-08-12 20:03:16 +0000 |
---|---|---|
committer | wollman <wollman@FreeBSD.org> | 1996-08-12 20:03:16 +0000 |
commit | 084c9a9ee62a92c88d40e132afda3e098c2fa304 (patch) | |
tree | 799c35447bf1cad7969bc8799854edbe5e2b37dc /sys/i386 | |
parent | 9782a04d1c5d60ca088a810609d6944046f86ab0 (diff) | |
download | FreeBSD-src-084c9a9ee62a92c88d40e132afda3e098c2fa304.zip FreeBSD-src-084c9a9ee62a92c88d40e132afda3e098c2fa304.tar.gz |
Back out mistaken local change that sneaked in on the last commit.
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/machdep.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index 025afc1..7e43259 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -185,10 +185,12 @@ vm_offset_t phys_avail[10]; #define PHYS_AVAIL_ARRAY_END ((sizeof(phys_avail) / sizeof(vm_offset_t)) - 2) static void dumpsys __P((void)); +static void setup_netisrs __P((struct linker_set *)); /* XXX declare elsewhere */ 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)) @@ -250,6 +252,17 @@ cpu_startup(dummy) } /* + * Quickly wire in netisrs. + */ + setup_netisrs(&netisr_set); + +/* +#ifdef ISDN + DONET(isdnintr, NETISR_ISDN); +#endif +*/ + + /* * Allocate space for system data structures. * The first available kernel virtual address is in "v". * As pages of kernel virtual memory are allocated, "v" is incremented. @@ -427,6 +440,33 @@ again: } } +int +register_netisr(num, handler) + int num; + netisr_t *handler; +{ + + if (num < 0 || num >= (sizeof(netisrs)/sizeof(*netisrs)) ) { + printf("register_netisr: bad isr number: %d\n", num); + return (EINVAL); + } + netisrs[num] = handler; + return (0); +} + +static void +setup_netisrs(ls) + struct linker_set *ls; +{ + 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); + } +} + /* * Send an interrupt to process. * |