Xref: utzoo comp.unix.questions:26375 comp.unix.sysv386:1431 Path: utzoo!attcan!uunet!bu.edu!rpi!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!haven!mimsy!chris From: chris@mimsy.umd.edu (Chris Torek) Newsgroups: comp.unix.questions,comp.unix.sysv386 Subject: Re: Loadable device drivers...in V.4? Message-ID: <27088@mimsy.umd.edu> Date: 21 Oct 90 19:51:07 GMT References: <6681@suns302.cel.co.uk> <35110@cup.portal.com> Organization: U of Maryland, Dept. of Computer Science, Coll. Pk., MD 20742 Lines: 19 In article <35110@cup.portal.com> ts@cup.portal.com (Tim W Smith) writes: >I wish vendors would do this. It's not even hard. ... >First, you need a system call that will allocate kernel memory >for the driver. Second, you need a system call that will install >an interrupt handler for the driver. [Do everything else in user code] It is not (always) this easy. On some machines, you must use particular memory regions for particular devices, and they may already be in use. Not all machines use interrupts, either; the `install' call must have more information than just an interrupt vector. The first problem is really the hardest, though, and usually means everything critical must be allocated at boot time. (Even VAXen, which are notorious for allowing sloppiness, sometimes require special memory, e.g., for Unibus vectors on 750s---these must appear immediately after the SCB [you could copy and then move the SCB, of course...]---or for some Unibus devices [need 16-bit addresses].) -- In-Real-Life: Chris Torek, Univ of MD Comp Sci Dept (+1 301 405 2750) Domain: chris@cs.umd.edu Path: uunet!mimsy!chris