lkml.org 
[lkml]   [2003]   [Dec]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: PROBLEM: floppy motor spins when floppy module not installed
On Sat, 13 Dec 2003, John Bradford wrote:

> Quote from "Richard B. Johnson" <root@chaos.analogic.com>:
>
> > Yes, and I recall we agreed to disagree where the FDC stop must
> > be put, but we both agreed that it must be stopped. I still contend
> > that since the Linux startup code takes control away from the BIOS,
> > it's that codes responsibility to turn OFF things that the BIOS
> > might have left ON.
>
> Well, on a practical level, yes, I agree with you, it is the easiest
> way to solve the problem.
>
> On a technical level, I still think that the BIOS configuration is
> broken if it leaves the floppy motor on, on a system running a kernel
> without the floppy code compiled in.
>
> John.
>

Hmmm. The BIOS doesn't know that you have a kernel without any
floppy code. The BIOS also doesn't know that its timer queue
is going to be destroyed by the data (code) that it's properly
reading from some disk. All it knows is that every time the
floppy is accessed, the motor must be turn ON before access
and must be turned OFF two seconds after the last access. Since
it doesn't know when the last access will be (it doesn't know the
future), it resets a timer-variable upon every access. The timer-
queue bumps the variable and if it gets to zero, turns OFF the
FDC motor.

The BIOS code is properly doing its job. When control is
taken away from the BIOS, the code that took control must
tie up any loose-ends that the BIOS wasn't able to finish.

It's not the job of the boot-loader because it didn't alter
the BIOS in any way. It used the BIOS to put the kernel in
it's correct place. Then it gives control to the kernel
code. It's that kernel code that takes control away from
the BIOS. It's the responsibility of that kernel code
to handle the consequences of doing that.

Cheers,
Dick Johnson
Penguin : Linux version 2.4.22 on an i686 machine (797.90 BogoMips).
Note 96.31% of all statistics are fiction.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:59    [W:0.119 / U:0.072 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site