linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Richard B. Johnson" <root@chaos.analogic.com>
To: John Bradford <john@grabjohn.com>
Cc: "Måns Rullgård" <mru@kth.se>, linux-kernel@vger.kernel.org
Subject: Re: PROBLEM: floppy motor spins when floppy module not installed
Date: Mon, 15 Dec 2003 09:50:34 -0500 (EST)	[thread overview]
Message-ID: <Pine.LNX.4.53.0312150938540.9281@chaos> (raw)
In-Reply-To: <200312131040.hBDAeisM000455@81-2-122-30.bradfords.org.uk>

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.



  reply	other threads:[~2003-12-15 14:49 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-12-12 13:57 PROBLEM: floppy motor spins when floppy module not installed Dale Mellor
2003-12-12 14:18 ` Måns Rullgård
2003-12-12 15:04   ` Richard B. Johnson
2003-12-12 15:11     ` Måns Rullgård
2003-12-12 15:20       ` Richard B. Johnson
2003-12-12 15:33         ` Måns Rullgård
2003-12-12 16:05           ` Petr Vandrovec
2003-12-12 16:27             ` Måns Rullgård
2003-12-12 16:41               ` Petr Vandrovec
2003-12-12 16:00       ` Matthew Kirkwood
2003-12-12 19:28     ` John Bradford
2003-12-12 19:47       ` Richard B. Johnson
2003-12-13  6:18         ` Joshua Schmidlkofer
2003-12-15 14:37           ` Richard B. Johnson
2003-12-13 10:40         ` John Bradford
2003-12-15 14:50           ` Richard B. Johnson [this message]
2003-12-15 20:24             ` John Bradford
2003-12-13 13:18   ` Helge Hafting
2003-12-13 16:42     ` Joshua Schmidlkofer
2003-12-12 14:59 ` Richard B. Johnson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.LNX.4.53.0312150938540.9281@chaos \
    --to=root@chaos.analogic.com \
    --cc=john@grabjohn.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mru@kth.se \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).