Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!bu-cs!cloud9!banyan!gil From: gil@banyan.UUCP (Gil Pilz@Eng@Banyan) Newsgroups: comp.unix.wizards Subject: Re: What SHOULD go in the kernel Message-ID: <569@banyan.UUCP> Date: 30 Oct 89 21:47:15 GMT References: <2186@ektools.UUCP> <47040@bbn.COM> <17166@rpp386.cactus.org> <3718@altos86.Altos.COM> Reply-To: gil@banyan.com Distribution: na Organization: Banyan Systems, Inc. Lines: 21 In article <3718@altos86.Altos.COM> dtynan@altos86.Altos.COM (Dermot Tynan) writes: >Another reason for not paging the kernel, is instruction restart within a >device driver. A classic example is a UART with a FIFO. Allowing >instruction restart after a page-fault, when the driver is reading from the >UART, and writing to (pageable) memory will create havoc. Intel products >are insulated from this, because they have a separate I/O bus, which means >that I/O can only be done to an on-chip register. However, memory-mapped >I/O will fail horribly. So page in (if necessary) and lock down the target page(s) *before* starting the I/O, then unlock them on I/O completion. What's the problem ? "forty orange cookies, some are black some are white what would it take to make 'em all turn *just* *right* ? forty orange cookies sitting on the bed one took off, the others followed went straight for my head" - house of large sizes Gilbert W. Pilz Jr. gil@banyan.com