Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel.anu.edu.au!munnari.oz.au!uunet!mcsun!Germany.EU.net!ira.uka.de!smurf.sub.org!flatlin!bad From: bad@flatlin.ka.sub.org (Christoph Badura) Subject: Re: [386BSD] 16550 Not Resetting. Organization: Guru Systems/Funware Department Date: Mon, 7 Dec 1992 17:24:41 GMT Message-ID: <BywGD5.K5x@flatlin.ka.sub.org> References: <CGD.92Nov26175845@toe.CS.Berkeley.EDU> <1992Nov28.032555.20511@gagetalker.com> <CGD.92Nov27220347@eden.CS.Berkeley.EDU> Lines: 34 In <CGD.92Nov27220347@eden.CS.Berkeley.EDU> cgd@eden.CS.Berkeley.EDU (Chris G. Demetriou) writes: >In article <1992Nov28.032555.20511@gagetalker.com> scotty@gagetalker.com (Scott Turner) writes: >>386BSD should reset the FIFO's during shutdown, then the BIOS will be able to >>autodetect the UART and these problems won't occur in DOS mode. >*NOT*. >Why do i say "misfeature"? because that would require a *major* addition >to the per-driver stuff, and would add (in my opinion, unneeded) >complexity to system shutdown. This doesn't require a major addition to the driver. Two things need to be done: 1) At the first open of the device, enable the FIFOs on the 550s. 2) In the driver's close routine, disable the FIFOs after all data has been drained from them. [Disabling the FIFOs clears all data in them, but the close routine has to wait for all data in the transmitter FIFO to drain anyway. (The receiver FIFO is of course not an issue.)] An alternative approach would be to adopt a per-driver halt routine, that is called during a shutdown(2) system call. This would solve the problem with the Ethernet cards not being reset upon shutdown. This would also provide a way to support other devices that require special treatment upon shutdown. (BTW SYS V.3 and up (and Xenix) support such a halt routine. -- Christoph Badura --- bad@flatlin.ka.sub.org AIX is a better... is a better... is a better... OpenSystem. IBM Rep at GUUG Symposium '92