From: vda <vda@port.imtp.ilyichevsk.odessa.ua>
To: Corrin Lakeland <lakeland@atlas.otago.ac.nz>,
linux-kernel@vger.kernel.org
Subject: Re: 2.4.16 not booting with Athlon optimisations
Date: Thu, 13 Dec 2001 10:44:01 -0200 [thread overview]
Message-ID: <01121310440102.01849@manta> (raw)
In-Reply-To: <Pine.OSF.4.21.0112130954120.517863-100000@atlas.otago.ac.nz>
In-Reply-To: <Pine.OSF.4.21.0112130954120.517863-100000@atlas.otago.ac.nz>
On Wednesday 12 December 2001 19:01, Corrin Lakeland wrote:
> This message seems similar to a thread a few months back called "Duron
> kernel crash (i686 works)". I posted a) because I couldn't find a
> solution at the end of that thread and b) I could be wrong about it being
> the same.
The fix went into mainstream. Grep pci-pc.c for "Athlon bug".
If it does not work for you, we might need more thorough VIA fix.
You may try this patch (it is not mine and untested, use it with
reasonable caution).
Please report back.
--
vda
--- linux-2.4.16/arch/i386/kernel/pci-pc.c Fri Nov 9 22:58:02 2001
+++ linux-2.4.16-devel/arch/i386/kernel/pci-pc.c Fri Dec 7 11:00:01 2001
@@ -1109,25 +1109,38 @@
}
/*
- * Nobody seems to know what this does. Damn.
- *
- * But it does seem to fix some unspecified problem
+ * This does seem to fix some unspecified problem
* with 'movntq' copies on Athlons.
*
- * VIA 8363 chipset:
- * - bit 7 at offset 0x55: Debug (RW)
+ * VIA 8361/8363/8662 chipset:
+ * - bit 7,6,5 at offset 0x55: Debug (RW)
*/
static void __init pci_fixup_via_athlon_bug(struct pci_dev *d)
{
u8 v;
pci_read_config_byte(d, 0x55, &v);
- if (v & 0x80) {
- printk("Trying to stomp on Athlon bug...\n");
- v &= 0x7f; /* clear bit 55.7 */
+ if (v & 0xE0) {
+ printk("PCI: Disabling VIA VT8361/8363/8662 Memory Write Queue\n");
+ v &= 0x1f; /* clear bit 55.7, 6, 5 */
pci_write_config_byte(d, 0x55, v);
}
}
+/*
+ * VIA 8366 chipset:
+ * - bit 7,6,5 at offset 0x95: Debug (RW)
+ */
+static void __init pci_fixup_via_kt266_athlon_bug(struct pci_dev *d)
+{
+ u8 v;
+ pci_read_config_byte(d, 0x95, &v);
+ if (v & 0xE0) {
+ printk("PCI: Disabling VIA VT8366 Memory Write Queue\n");
+ v &= 0x1f; /* clear bit 55.7, 6, 5 */
+ pci_write_config_byte(d, 0x95, v);
+ }
+}
+
struct pci_fixup pcibios_fixups[] = {
{ PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82451NX,
pci_fixup_i450nx },
{ PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454GX,
pci_fixup_i450gx },
@@ -1138,6 +1151,9 @@
{ PCI_FIXUP_HEADER, PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_5598,
pci_fixup_latency },
{ PCI_FIXUP_HEADER, PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371AB_3,
pci_fixup_piix4_acpi },
{ PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8363_0,
pci_fixup_via_athlon_bug },
+ { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8366_0,
pci_fixup_via_kt266_athlon_bug },
+ { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8662_0,
pci_fixup_via_athlon_bug },
+ { PCI_FIXUP_HEADER, PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_8361_0,
pci_fixup_via_athlon_bug },
{ 0 }
};
--- linux-2.4.16/include/linux/pci_ids.h Fri Nov 9 23:11:15 2001
+++ linux-2.4.16-devel/include/linux/pci_ids.h Fri Dec 7 00:25:12 2001
@@ -948,6 +948,9 @@
#define PCI_DEVICE_ID_VIA_8233_0 0x3074
#define PCI_DEVICE_ID_VIA_8233C_0 0x3109
#define PCI_DEVICE_ID_VIA_8633_0 0x3091
+#define PCI_DEVICE_ID_VIA_8366_0 0x3099
+#define PCI_DEVICE_ID_VIA_8662_0 0x3102
+#define PCI_DEVICE_ID_VIA_8361_0 0x3112
#define PCI_DEVICE_ID_VIA_8367_0 0x3099
#define PCI_DEVICE_ID_VIA_86C100A 0x6100
#define PCI_DEVICE_ID_VIA_8231 0x8231
next prev parent reply other threads:[~2001-12-13 8:46 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2001-12-12 21:01 2.4.16 not booting with Athlon optimisations Corrin Lakeland
2001-12-12 22:51 ` Alan Cox
2001-12-13 12:44 ` vda [this message]
-- strict thread matches above, loose matches on Subject: below --
2001-12-13 19:39 Corrin Lakeland
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=01121310440102.01849@manta \
--to=vda@port.imtp.ilyichevsk.odessa.ua \
--cc=lakeland@atlas.otago.ac.nz \
--cc=linux-kernel@vger.kernel.org \
/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