On Mon, 26 Feb 2007, Oleg Nesterov wrote:
> 
> I know nothing about floppy, but I guess the reason is floppy_disable_hlt().
> 
> Sorry for the offtopic question, is it really needed? According to grep, 
> floppy
> is the only one user of disable_hlt().

I suspect you'd have a hard time finding a machine where it was broken any 
more.

But it used to be that the native (aka "braindamaged and idiotic") DMA by 
the motherboard southbridge chipset (and apparently _only_ that) had 
problems with the CPU being halted on some motherboards, and would corrupt 
data if the CPU was halted while the DMA took place.

We never bothered to even figure out why it happened, though. It was 
undeniable that there were people who had trouble with "hlt" and the 
floppy driver, but it is not clear what the cause was.

That's a _loong_ time ago, though, and it *probably* hasn't been an issue 
on any recent machine. People just don't care enough to test, especially 
since the upside is negligible, and the downside for when it would trigger 
is huge.

The floppy is still pretty much the only user of native motherboard (aka 
i8237) DMA'ing for most people. Some old ISA sound-cards may do it, of 
course. But any PCI device will do its own DMA rather than rely on the 
broken 8237 DMA engine, so for all I know, the bug - whatever it ever 
ended up being - could still be there.

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

Reply via email to