Re: Athlon: Try this (was: Re: Athlon bug stomping #2)

Jonathan Morton
2001-09-15T18:02:50Z

> > > +static void __init pci_fixup_athlon_bug(struct pci_dev *d)
>> > +{
>> > + u8 v;
>> > + pci_read_config_byte(d, 0x55, &v);
>> > + if(v & 0x80) {
>> > + printk(KERN_NOTICE "Stomping on Athlon bug.\n");
>> > + v &= 0x7f; /* clear bit 55.7 */
>> > + pci_write_config_byte(d, 0x55, v);
>> > + }
>> > +}
>> >
>> > Well, these are cosmetic changes anyway...
>> > What is more important now:
>> > 1) Do we have people who still see Athlon bug with the patch?
>> > 2) Do Alan read these messages? ;-)
>>
>> Im watching the discussion with interest. If it proves to be the magic
>> bullet I will ask VIA for guidance on the issue
>
>Not being a developer or guru on the internal software workings of the
>hardware here, I have to ask, does this clear up some bug, or does it
>disable the optimizations causing the problem? Is this a *fix* or a
>band-aid?

AFAICT, it's a *fix*. The register in question is "for debug use
only, never write anything other than zero in it" but generally shows
non-zero when a faulty BIOS is installed. We're zeroing the bit that
appears to cause the problem. It's highly unlikely to be an extra
optimisation - if it is, it's an unsafe one.

--
--------------------------------------------------------------
from: Jonathan "Chromatix" Morton
mail: chromi@cyberspace.org (not for attachments)
website: http://www.chromatix.uklinux.net/vnc/
geekcode: GCS$/E dpu(!) s:- a20 C+++ UL++ P L+++ E W+ N- o? K? w--- O-- M++$
V? PS PE- Y+ PGP++ t- 5- X- R !tv b++ DI+++ D G e+ h+ r++ y+(*)
tagline: The key to knowledge is not to rely on people to teach you it.