Path: utzoo!utgpu!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!rutgers!gatech!ncar!tank!nic.MR.NET!hal!ncoast!allbery From: allbery@ncoast.UUCP (Brandon S. Allbery) Newsgroups: comp.os.minix Subject: Re: BIOS disk driver Message-ID: <13219@ncoast.UUCP> Date: 7 Dec 88 23:04:57 GMT References: <79151@sun.uucp> <1730@ast.cs.vu.nl> Reply-To: allbery@ncoast.UUCP (Brandon S. Allbery) Followup-To: comp.os.minix Organization: Cleveland Public Access UN*X, Cleveland, Oh Lines: 40 As quoted from <1730@ast.cs.vu.nl> by ast@cs.vu.nl (Andy Tanenbaum): +--------------- | In article <79151@sun.uucp> alanf%smile@Sun.COM (Alan Fargusson) writes: | >There is a problem with calling the ROM BIOS when you are using interrupts on | >the Z-248. The problem is that the BIOS switches to an internal stack which | >is very small. If an interrupt occurs during the call to the BIOS it is | >likely that this stack will overflow. There are other potential problems as | >well. | | Progress at last. Do you have any suggestions about how to fix it? I had | hopes that the BIOS routine would work on all machines. Perhaps this is a | pipe dream. However, it seems strange that bios_wini.c does work on my | machine, which is also a Z-248. What is going on here? +--------------- (1) Perhaps the PS/2 has an even smaller internal stack? (2) I've heard that Model 50's have unusual *serial port* incompatibilities. If one of these involves sending an interrupt where it's not expected (e.g. to the floppy driver?) things could conceivably blow up. (It looks suspiciously like it uses an interrupt normally used by some networks, since initializing the serial port on a PS/2 with Novell Advanced Netware installed wedges the system pretty thoroughly. Might Minix be using one of those vectors for something?) (3) Even if (2) isn't the cause, it speaks of possible *other* interrupt incompatibilities. Maybe the BIOS doesn't like to be interrupted, for instance. (One assumes that the BIOS clock interrupt would have some way of dealing with this.) Or the BIOS hooks an interrupt vector for some reason *after* Minix hooks it, causing some normal interrupt to send the computer off executing something that won't work because DOS isn't loaded. ++Brandon -- Brandon S. Allbery, comp.sources.misc moderator and one admin of ncoast PA UN*X uunet!hal.cwru.edu!ncoast!allbery ncoast!allbery@hal.cwru.edu allberyb@skybridge.sdi.cwru.edu allbery@uunet.uu.net comp.sources.misc is moving off ncoast -- please do NOT send submissions direct Send comp.sources.misc submissions to comp-sources-misc@.