linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Athlon bug stomping #2
@ 2001-09-13 12:31 VDA
  2001-09-14  2:56 ` Roberto Jung Drebes
  0 siblings, 1 reply; 18+ messages in thread
From: VDA @ 2001-09-13 12:31 UTC (permalink / raw)
  To: linux-kernel

Hi,

It seems there is some misunderstanding about my previous post.
Further reports aren't very much needed now.
( If you insist, send them to me not to lkml.
  Include lspci -vvvxxx dump from *both* good and bad BIOS.
  Booting with K7 optimized kernel is not needed)

It is time to fiddle with chipset config registers.
We need volunteers to do the testing.
I don't have the hardware.

Meanwhile, I figured out where fix should go:
to arch/i386/kernel/pci-pc.c

This is an example (see below how to modify):
=========================================================
--- pci-pc.c    Fri Apr 20 03:57:06 2001
+++ new-pci-pc.c        Thu Sep 13 14:13:25 2001
@@ -987,6 +987,15 @@
        }
 }
 
+static void __init pci_fixup_athlon_bug(struct pci_dev *d)
+{
+       printk("Trying to stomp on Athlon bug...\n");
+       u8 v;
+       pci_read_config_byte(d, 0x52, &v);
+       v |= 0x80; /* set 52.7: Disconnect Enable When STPGNT Detected */
+       pci_write_config_byte(d, 0x52, v);
+}
+
 
 struct pci_fixup pcibios_fixups[] = {
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82451NX,    pci_fixup_i450nx },
@@ -1010,6 +1019,7 @@
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_VIA,      PCI_DEVICE_ID_VIA_82C686_4,     pci_fixup_via_acpi },
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_VIA,      PCI_DEVICE_ID_VIA_82C691,       pci_fixup_via691 },
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_VIA,      PCI_DEVICE_ID_VIA_82C598_1,     pci_fixup_via691_2 },
+       { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_VIA,      PCI_DEVICE_ID_VIA_8363_0,       pci_fixup_athlon_bug },
        { PCI_FIXUP_HEADER,     PCI_VENDOR_ID_INTEL,    PCI_DEVICE_ID_INTEL_82371AB_3,  pci_fixup_piix4_acpi },
        { 0 }
 };
====================================================
There's no point in modifying registers which are known
to work fine, so use info below to figure out which
registers can be responsible for the bug and
modify them in pci_fixup_athlon_bug().
Then compile K7 optimized kernel with this fix
and give it a try. Try again with next register
until you find which one is guilty.

Okay, this is a heavily modified printouts of
1) lspci -vvvxxx made on VIA KT133A based mainboard
   with BIOS version 3R flashed in (this system is
   exhibiting Athlon bug)
2) and on the same system with BIOS version YH
   (which do not trigger bug).
   
Each chipset config register which is changed between these two BIOSes
is underlined with carets "^" with programming details immediately
below.
Each suspicious register is then commented with:
*** 3R BIOS: settings made by 3R BIOS
*** YH BIOS: settings made by YH BIOS
*** TODO: is this relevant and what to do
========================================================
00:00.0 Host bridge: VIA Technologies, Inc.: Unknown device 0305 (rev
03)
        Subsystem: ABIT Computer Corp.: Unknown device a401
                
YH 00: 06 11 05 03 06 00 10 22 03 00 00 06 00 00 00 00
3R 00: 06 11 05 03 06 00 10 22 03 00 00 06 00 08 00 00
                                              ^^
Device 0 Offset D - Latency Timer (00h)(RW)
Specifies the latency timer value in PCI bus clocks.
7-3 Guaranteed Time Slice for CPU. default=0
2-0 Reserved (fixed granularity of 8 clks). always read 0
    Bits 2-1 are writeable but read 0 for PCI specification
    compatibility. The programmed value may be read
    back in Offset 75 bits 5-4 (PCI Arbitration 1).
*** 3R BIOS: bits 7-3=00001
*** YH BIOS: bits 7-3=00000
*** TODO: probably does not matter

YH 10: 08 00 00 d0 00 00 00 00 00 00 00 00 00 00 00 00
3R 10: 08 00 00 e0 00 00 00 00 00 00 00 00 00 00 00 00
       ^^^^^^^^^^^
Device 0 Offset 13-10 - Graphics Aperture Base
    (00000008h) (RW)
31-28 Upper Programmable Base Address Bits. default=0
27-20 Lower Programmable Base Address Bits. default=0
    These bits behave as if hardwired to 0 if the
    corresponding Graphics Aperture Size register bit
    (Device 0 Offset 84h) is 0.
    27 26 25 24 23 22 21 20 (This Register)
     7  6  5  4  3  2  1  0 (Gr Aper Size)
    RW RW RW RW RW RW RW RW 1M
    RW RW RW RW RW RW RW  0 2M
    RW RW RW RW RW RW  0  0 4M
    RW RW RW RW RW  0  0  0 8M
    RW RW RW RW  0  0  0  0 16M
    RW RW RW  0  0  0  0  0 32M
    RW RW  0  0  0  0  0  0 64M
    RW  0  0  0  0  0  0  0 128M
     0  0  0  0  0  0  0  0 256M
19-0 Reserved. always reads 00008
    Note: The locations in the address range defined by this
    register are prefetchable.

*** 3R BIOS: addr: E0000000
*** YH BIOS: addr: D0000000
*** TODO: probably does not matter

YH 50: 16 f4 eb
3R 50: 16 f4 6b
             ^^
Device 0 Offset 52 - S2K Timing Control III..................RW
    The contents of this register are preserved during suspend.
    Bits 2-0 have no default value.
7 Disconnect Enable When STPGNT Detected
6 Write to Read Delay. default = 1
5-4 Read to Write Delay. default = 11b
3 1ns Skew Between Even / Odd Clock Group For Data (Strapped
  from MAB3)
    0 Disable (default if no strap on MAB3)
    1 Enable
2-0 Write Data Delay from SYSDC to CPU Data
  Output (WrDataDly)
*** 3R BIOS: bit 7=0
*** YH BIOS: bit 7=1 
*** TODO: try to set bit 7 to 1.

YH 50: .. .. .. b4 06
3R 50: .. .. .. b4 47
                   ^^
Device 0 Offset 54 - BIU Control (RW)
7 SDRAM Self-Refresh When Disconnected
    0 Disable (default)  1 Enable
6 Probe Next Tag State T1 When PCI Master Read
 Cacheing Enabled
    0 Disable (default)  1 Enable
5 S2K Data Input Buffer
    0 Disable (default
)  1 Enable
4 S2K Data Output Enable Timing
    0 1T Setup / Hold (default)  1 1/2T Setup / Hold
3 DRAM Speculative Read for PCI Master Read
 (Before Probe Result is Known)
    0 Disable (default)  1 Enable
2 PCI Master Pipeline Request
    0 Disable (default)  1 Enable
1 PCI-to-CPU / CPU-to-PCI (P2C / C2P)
 Concurrency
    0 Disable (default)  1 Enable
0 Fast Write-to-Read Turnaround
    0 Disable (default)  1 Enable
*** 3R BIOS: enabled 6,2,1,0 bits only.
*** YH BIOS: enabled   2,1   bits only.
*** TODO: try disabling bits 6,0.
    bit 0 is most interesting. Try it first.
    
YH 50: .. .. .. .. .. 00 04 04 00 00 01 02 03 04 04 04
3R 50: .. .. .. .. .. 89 04 04 00 00 01 02 03 04 04 04
                      ^^
Device 0 Offset 55 - Debug (RW)
7-0 Reserved (do not program). default = 0
*** 3R BIOS: non-zero!?
*** YH BIOS: zero.
*** TODO: try to set to 0.

YH 60: 0f 0a 00 20 e4 e4 d4 c4 50 28 65 0d 08 5f 00 00
3R 60: 0f 0a 00 20 e4 e4 d4 00 50 08 65 0d 08 5f 00 00
                                  ^^
Device 0 Offset 69 - DRAM Clock Select (00h) (RW)
7 Reserved. always reads 0
6 DRAM Operating Frequency Faster Than CPU
    0 DRAM Same As or Equal to CPU (default)
    1 DRAM Faster Than CPU by 33 MHz
    Rx68[0] Rx69[6] CPU / DRAM
          0       0 100 / 100
          0       1 100 / 133
          1       0 133 / 133 (default)
          1       1 -reserved-
5 Write Recovery Time For Write With Auto-Precharge
    0 1T (default)  1 2T
4 DRAM Controller Command Register Output
    0 Disable (default)  1 Enable
3 Fast DRAM Precharge for Different Bank
    0 Disable (default)  1 Enable
2 DRAM 4K Page Enable (for 64Mbit DRAM)
    0 Disable (default)  1 Enable
1 DIMM Type
    0 Unbuffered (default)  1 Registered
0 AutoPrecharge on CPU Writeback / TLB Lookup
    0 Disable (default)  1 Enable
*** 3R BIOS: bit 5 is 0
*** YH BIOS: bit 5 is 1
*** TODO: try setting it back to 1

YH 70: d4 88 cc 0c 0e 81 d2 00 01 b4 19 02 00 00 00 00
3R 70: d8 88 cc 0c 0e 81 d2 00 01 b4 19 02 00 00 00 00
       ^^
Device 0 Offset 70 - PCI Buffer Control (00h) (RW)
7 CPU to PCI Post-Write
    0 Disable (default)  1 Enable
6 PCI Master to DRAM Post-Write
    0 Disable (default)  1 Enable
5 Reserved. always reads 0
4 PCI Master to DRAM Prefetch
    0 Enable (default)  1 Disable
3 Enhance CPU-to-PCI Write
    0 Normal operation (default)
    1 Reduce 1 cycle when the CPU-to-PCI buffer
      becomes available after being full (PCI and AGP buses)
2 PCI Master Read Caching
    0 Disable (default)  1 Enable
1 Delay Transaction
    0 Disable (default)  1 Enable
0 Slave Device Stopped Idle Cycle Reduction
    0 Normal Operation (default)
    1 Reduce 1 PCI idle cycle when stopped by a
      slave device (PCI and AGP buses)
*** 3R BIOS: bit 4=1, 3=0
*** YH BIOS: bit 4=0, 3=1
*** TODO: probably doesn't matter

YH a0: 02 c0 20 00 03 02 00 1f 00 00 00 00 2b 12 00 00
3R a0: 02 c0 20 00 03 02 00 1f 00 00 00 00 2f 12 00 00
                                           ^^
Device 0 Offset AC - AGP Control (00h) (RW)
7 Reserved. always reads 0
6 CPU Stall on AGP Command FIFO GART
 Address Request
    0 Disable (default)  1 Enable
5 AGP Read Snoop DRAM Post-Write Buffer
    0 Disable (default)  1 Enable
4 GREQ# Priority Becomes Higher When Arbiter is
 Parked at AGP Master
    0 Disable (default)  1 Enable
3 2X Rate Supported (read also at RxA4[1])
    0 Not supported (default)  1 Supported
2 LPR In-Order Access (Force Fence)
    0 Fence/Flush functions not guaranteed. AGP
      read requests (low/normal priority and
      high priority) may be executed
      before previously issued write requests
      (default)
    1 Force all requests to be executed in order
      (automatically enables Fence/Flush functions).
      Low (i.e., normal) priority AGP read requests
      will never be executed before previously
      issued writes. High priority AGP read requests
      may still be executed prior to previously issued
      write requests as required.
1 AGP Arbitration Parking
    0 Disable (default)
    1 Enable (GGNT# remains asserted until either
      GREQ# de-asserts or data phase ready)
0 AGP to PCI Master or CPU to PCI Turnaround Cycle
    0 2T or 3T Timing (default)
    1 1T Timing
*** 3R BIOS: bit 2=1
*** YH BIOS: bit 2=0
*** TODO: probably doesn't matter
    
YH b0: db 63 02
3R b0: db 63 1a
             ^^
Device 0 Offset B2 - AGP Pad Drive / Delay Control (RW)
7 GD/GBE/GDS, SBA/SBS Control
  1.5V (Bit-1 = 0)
    0 SBA/SBS = no cap (default)
      GD/GBE/GDS = no cap
    1 SBA/SBS = no cap
      GD/GBE/GDS = cap
  3.3V (Bit-1 = 1)
    0 SBA/SBS = cap (default)
      GD/GBE/GDS = no cap
    1 SBA/SBS = cap
      GD/GBE/GDS = cap
6 Reserved. always reads 0
5 S2K Slew Rate Control. strapped from SRASA#
    0 Enable (default)  1 Disable
4 GD[31-16] Staggered Delay
    0 None (default)  1 GD[31:16] delayed by 1 ns
3 Reserved. always reads 0
2 AGP Preamble Control
    0 Disable (default)  1 Enable
1 AGP Voltage
    0 1.5V (default)  1 3.3V
0 GDS Output Delay
    0 None (default)
    1 GDS[1-0] & GDS[1-0]# delayed by 0.4 ns
      (GDS1 & GDS1# will be delayed an additional
      1ns if bit-4 = 1)
*** 3R BIOS: 1A=00011010
*** YH BIOS: 02=00000010
*** TODO: probably doesn't matter

YH b0: .. .. .. 50 31 ff 80 0a 67 00 00 00 00 00 00 00
3R b0: .. .. .. 50 31 ff 80 0b 67 00 00 00 00 00 00 00
                            ^^
Device 0 Offset B7 - S2K Compensation Result 3 (RO)
7-5 Reserved. always reads 0
4-0 S2K Strobe Delay from DLL Counter (Auto)
    default = 0
*** TODO: readonly. doesn't matter

YH f0: 00 00 00 00 00 03 03 00 22 00 00 00 00 00 00 00
3R f0: 00 00 00 00 00 03 03 00 22 00 00 00 00 80 00 00
                                              ^^
Device 0 Offset FD - Back-DoorControl 2 (00h) ........... RW
7-5 Reserved. always reads 0
4-0 Max # of AGP Requests. default = 0
    00000 1 Request
    00001 2 Requests
    00010 3 Requests
    ..... ........
    11111 32 Requests
    (see also RxA7 and RxFC[1])
*** 3R BIOS: 80
*** YH BIOS: 00
*** TODO: probably doesn't matter
    Curious how "always zero" bit 7 happen to become 1
-- 
Best regards, VDA
mailto:VDA@port.imtp.ilyichevsk.odessa.ua
http://port.imtp.ilyichevsk.odessa.ua/vda/



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon bug stomping #2
  2001-09-13 12:31 Athlon bug stomping #2 VDA
@ 2001-09-14  2:56 ` Roberto Jung Drebes
  2001-09-14  4:02   ` Chris Vandomelen
  0 siblings, 1 reply; 18+ messages in thread
From: Roberto Jung Drebes @ 2001-09-14  2:56 UTC (permalink / raw)
  To: VDA; +Cc: linux-kernel

On Thu, 13 Sep 2001, VDA wrote:

> Device 0 Offset 55 - Debug (RW)
> 7-0 Reserved (do not program). default = 0
> *** 3R BIOS: non-zero!?
> *** YH BIOS: zero.
> *** TODO: try to set to 0.

I tryed sequentially to test the values given. It only worked when I set
offset 0x55 to 0, and then stopped. I don't need to set any other value in
other addresses. This is enough.

It's weird when your system only works when changing a "do not
program" value. :)

--
Roberto Jung Drebes <drebes@inf.ufrgs.br>
Porto Alegre, RS - Brasil
http://www.inf.ufrgs.br/~drebes/


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon bug stomping #2
  2001-09-14  2:56 ` Roberto Jung Drebes
@ 2001-09-14  4:02   ` Chris Vandomelen
  2001-09-14  5:51     ` Eric W. Biederman
  0 siblings, 1 reply; 18+ messages in thread
From: Chris Vandomelen @ 2001-09-14  4:02 UTC (permalink / raw)
  To: linux-kernel

> On Thu, 13 Sep 2001, VDA wrote:
>
> > Device 0 Offset 55 - Debug (RW)
> > 7-0 Reserved (do not program). default = 0
> > *** 3R BIOS: non-zero!?
> > *** YH BIOS: zero.
> > *** TODO: try to set to 0.
>
> I tryed sequentially to test the values given. It only worked when I set
> offset 0x55 to 0, and then stopped. I don't need to set any other value in
> other addresses. This is enough.
>
> It's weird when your system only works when changing a "do not
> program" value. :)

Makes me wonder just a little: my system is perfectly fine with 0x02
written to offset 0x55. (Yes, it is an Athlon compiled kernel.. something
I've been doing ever since I've been using this machine). It had it's
problems when I originally got it

>
> --
> Roberto Jung Drebes <drebes@inf.ufrgs.br>
> Porto Alegre, RS - Brasil
> http://www.inf.ufrgs.br/~drebes/
>
> -
> 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/
>


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon bug stomping #2
  2001-09-14  4:02   ` Chris Vandomelen
@ 2001-09-14  5:51     ` Eric W. Biederman
  2001-09-14  7:34       ` Roberto Jung Drebes
  0 siblings, 1 reply; 18+ messages in thread
From: Eric W. Biederman @ 2001-09-14  5:51 UTC (permalink / raw)
  To: Chris Vandomelen; +Cc: linux-kernel, VDA

Chris Vandomelen <chrisv@b0rked.dhs.org> writes:

> > On Thu, 13 Sep 2001, VDA wrote:
> >
> > > Device 0 Offset 55 - Debug (RW)
> > > 7-0 Reserved (do not program). default = 0
> > > *** 3R BIOS: non-zero!?
> > > *** YH BIOS: zero.
> > > *** TODO: try to set to 0.
> >
> > I tryed sequentially to test the values given. It only worked when I set
> > offset 0x55 to 0, and then stopped. I don't need to set any other value in
> > other addresses. This is enough.
> >
> > It's weird when your system only works when changing a "do not
> > program" value. :)
> 
> Makes me wonder just a little: my system is perfectly fine with 0x02
> written to offset 0x55. (Yes, it is an Athlon compiled kernel.. something
> I've been doing ever since I've been using this machine). It had it's
> problems when I originally got it

So we have two confirmations that setting this register clears the problem.
Anyone want to generate a kernel patch so this fix can get some wider
testing?

Eric

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon bug stomping #2
  2001-09-14  5:51     ` Eric W. Biederman
@ 2001-09-14  7:34       ` Roberto Jung Drebes
  2001-09-14  8:27         ` Athlon: Try this (was: Re: Athlon bug stomping #2) Roberto Jung Drebes
  2001-09-14  9:26         ` Jeff Lightfoot
  0 siblings, 2 replies; 18+ messages in thread
From: Roberto Jung Drebes @ 2001-09-14  7:34 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: Chris Vandomelen, linux-kernel, VDA

On 13 Sep 2001, Eric W. Biederman wrote:

> Anyone want to generate a kernel patch so this fix can get some wider
> testing?

I'll try to isolate the single bit in the register that is causing the
fault and will send the diff.

--
Roberto Jung Drebes <drebes@inf.ufrgs.br>
Porto Alegre, RS - Brasil
http://www.inf.ufrgs.br/~drebes/


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-14  7:34       ` Roberto Jung Drebes
@ 2001-09-14  8:27         ` Roberto Jung Drebes
  2001-09-14 18:19           ` Byron Stanoszek
                             ` (2 more replies)
  2001-09-14  9:26         ` Jeff Lightfoot
  1 sibling, 3 replies; 18+ messages in thread
From: Roberto Jung Drebes @ 2001-09-14  8:27 UTC (permalink / raw)
  To: Eric W. Biederman; +Cc: Chris Vandomelen, linux-kernel, VDA

On Fri, 14 Sep 2001, Roberto Jung Drebes wrote:

> On 13 Sep 2001, Eric W. Biederman wrote:
> 
> > Anyone want to generate a kernel patch so this fix can get some wider
> > testing?
> 
> I'll try to isolate the single bit in the register that is causing the
> fault and will send the diff.

I tested here and it seems that bit 7 is responsible. Here is the diff to
pci-pc.c:

=================================================
--- linux-2.4.9/arch/i386/kernel/pci-pc.c.orig	Fri Sep 14 05:03:59 2001
+++ linux-2.4.9/arch/i386/kernel/pci-pc.c	Fri Sep 14 05:12:28 2001
@@ -701,6 +701,22 @@
 	return rt;
 }
 
+/* Fixes some oopses on fast_copy_page when it uses 'movntq's
+ * instead of 'movq's on Athlon/Duron optimized kernels. 
+ * Bit 7 at offset 0x55 seems to be responsible. 
+ * > Device 0 Offset 55 - Debug (RW)
+ * > 7-0 Reserved (do not program). default = 0
+ * > *** ABIT KT7A 3R BIOS: non-zero!? (oopses)
+ * > *** ABIT KT7A YH BIOS: zero. (works)
+ */
+static void __init pci_fixup_athlon_bug(struct pci_dev *d)
+{ 
+       u8 v; 
+       printk("Trying to stomp on Athlon bug...\n");
+       pci_read_config_byte(d, 0x55, &v);
+       v &= 0x7f; /* clear bit 55.7 */
+       pci_write_config_byte(d, 0x55, v);
+}
 
 int pcibios_set_irq_routing(struct pci_dev *dev, int pin, int irq)
 {
@@ -966,6 +982,8 @@
 	{ PCI_FIXUP_HEADER,	PCI_ANY_ID,		PCI_ANY_ID,			pci_fixup_ide_bases },
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_SI,	PCI_DEVICE_ID_SI_5597,		pci_fixup_latency },
 	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_SI,	PCI_DEVICE_ID_SI_5598,		pci_fixup_latency },
+	{ PCI_FIXUP_HEADER,     PCI_VENDOR_ID_VIA,   PCI_DEVICE_ID_VIA_8363_0,
+     pci_fixup_athlon_bug }, 
  	{ PCI_FIXUP_HEADER,	PCI_VENDOR_ID_INTEL,	PCI_DEVICE_ID_INTEL_82371AB_3,	pci_fixup_piix4_acpi },
 	{ 0 }
 };
=================================================

--
Roberto Jung Drebes <drebes@inf.ufrgs.br>
Porto Alegre, RS - Brasil
http://www.inf.ufrgs.br/~drebes/


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-14  7:34       ` Roberto Jung Drebes
  2001-09-14  8:27         ` Athlon: Try this (was: Re: Athlon bug stomping #2) Roberto Jung Drebes
@ 2001-09-14  9:26         ` Jeff Lightfoot
  1 sibling, 0 replies; 18+ messages in thread
From: Jeff Lightfoot @ 2001-09-14  9:26 UTC (permalink / raw)
  To: Roberto Jung Drebes; +Cc: linux-kernel

On Fri, 14 Sep 2001 05:27:49 -0300 (EST)
Roberto Jung Drebes <drebes@inf.ufrgs.br> wrote:

> I tested here and it seems that bit 7 is responsible. Here is the diff
> to pci-pc.c:

[snip patch]

I tried it with my IWill 266 Plus and Althon 1.4G

Things now boot up normally with Athlon Optimizations turned on.

Before this, those same optimizations would produce oops galore on
system startup.

Let me know if you want more system info.

-- 
Jeff Lightfoot   --    jeffml at pobox.com   --   http://thefoots.com/
    "How can I sing like a girl and not be stigmatized by the rest of
    the world?" -- TMBG

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-14  8:27         ` Athlon: Try this (was: Re: Athlon bug stomping #2) Roberto Jung Drebes
@ 2001-09-14 18:19           ` Byron Stanoszek
  2001-09-15 18:00             ` Liakakis Kostas
  2001-09-15  7:15           ` brian
  2001-09-16 21:53           ` Carsten Leonhardt
  2 siblings, 1 reply; 18+ messages in thread
From: Byron Stanoszek @ 2001-09-14 18:19 UTC (permalink / raw)
  To: Roberto Jung Drebes
  Cc: Eric W. Biederman, Chris Vandomelen, linux-kernel, VDA

On Fri, 14 Sep 2001, Roberto Jung Drebes wrote:

> +/* Fixes some oopses on fast_copy_page when it uses 'movntq's
> + * instead of 'movq's on Athlon/Duron optimized kernels.
> + * Bit 7 at offset 0x55 seems to be responsible.
> + * > Device 0 Offset 55 - Debug (RW)
> + * > 7-0 Reserved (do not program). default = 0
> + * > *** ABIT KT7A 3R BIOS: non-zero!? (oopses)
> + * > *** ABIT KT7A YH BIOS: zero. (works)
> + */

I'm using the ZT bios with ABIT KT7A and I have not encountered any OOPSes or
anything with Athlon/Duron optimized kernels. I've been using the -ac kernels
since 2.4.0, upgrading regularly. I'm running a 1200 MHz TBird.  I'm reluctant
to try later BIOSes because #1: Mine works as it is now, and #2: I'm afraid of
'increased memory stability' changes that would decrease performance or raise
CPU temperature (as one BIOS changelog had mentioned).

Output of /proc/bus/pci/00/00.0:

000:  06 11 05 03 06 00 10 22  03 00 00 06 00 08 00 00         "
010:  08 00 00 d8 00 00 00 00  00 00 00 00 00 00 00 00
020:  00 00 00 00 00 00 00 00  00 00 00 00 7b 14 01 a4              {
030:  00 00 00 00 a0 00 00 00  00 00 00 00 00 00 00 00
040:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
050:  18 a3 ec b4 47 89 10 10  08 80 00 00 08 08 0c 10      G
060:  3c 2a 00 20 52 52 52 c6  45 0c 43 0f 08 5f 00 00  <*  RRR E C  _
070:  dc 88 cc 0c 0e 80 d2 00  01 b4 19 02 00 00 00 00
080:  0f 40 00 00 c0 00 00 00  02 00 00 00 00 00 00 00   @
090:  00 00 00 00 00 00 00 00  00 00 00 00 00 32 00 00               2
0A0:  02 c0 20 00 17 02 00 1f  00 00 00 00 2f 12 14 00              /
0B0:  49 da 88 58 31 ff 80 05  67 00 00 00 00 00 00 00  I  X1   g
0C0:  01 00 02 00 00 00 00 00  00 00 00 00 00 00 00 00
0D0:  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00
*
0F0:  00 00 00 00 00 03 03 00  22 00 00 00 00 00 91 06          "

The ZT bios has bit 7 of offset 0x55 set, too.

This is an unmodified 2.4.8-ac7.

 -Byron

-- 
Byron Stanoszek                         Ph: (330) 644-3059
Systems Programmer                      Fax: (330) 644-8110
Commercial Timesharing Inc.             Email: byron@comtime.com


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-14  8:27         ` Athlon: Try this (was: Re: Athlon bug stomping #2) Roberto Jung Drebes
  2001-09-14 18:19           ` Byron Stanoszek
@ 2001-09-15  7:15           ` brian
  2001-09-19  1:30             ` brian
  2001-09-19 13:10             ` Re[2]: " VDA
  2001-09-16 21:53           ` Carsten Leonhardt
  2 siblings, 2 replies; 18+ messages in thread
From: brian @ 2001-09-15  7:15 UTC (permalink / raw)
  To: Roberto Jung Drebes
  Cc: Eric W. Biederman, Chris Vandomelen, linux-kernel, VDA

> > On 13 Sep 2001, Eric W. Biederman wrote:
> > > Anyone want to generate a kernel patch so this fix can get some wider
> > > testing?

> On Fri, 14 Sep 2001, Roberto Jung Drebes wrote:
> > I'll try to isolate the single bit in the register that is causing the
> > fault and will send the diff.

On Fri, Sep 14, 2001 at 05:27:49AM -0300, Roberto Jung Drebes wrote:
> I tested here and it seems that bit 7 is responsible. Here is the diff to
> pci-pc.c:

I just tried the patch and for the first time I've been able to
successfully boot and run a 2.4 kernel with Athlon optimizations.

I have 11 machines all of which oops to death trying to boot
2.4.9ac5 with Athlon optimizations.

The machine that has been successful, and the only one I tried, is an
800 MHz Duron system with an Epox 8KTA3+ MB which is now running fine
with linux 2.4.9ac10 + the Athlon Bug stomper #2 bit 7 patch version 1.

I'll try some more of the machines on Monday.

-- 
Brian Litzinger <brian@worldcontrol.com>

    Copyright (c) 2000 By Brian Litzinger, All Rights Reserved

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-14 18:19           ` Byron Stanoszek
@ 2001-09-15 18:00             ` Liakakis Kostas
  2001-09-15 20:28               ` VDA
  0 siblings, 1 reply; 18+ messages in thread
From: Liakakis Kostas @ 2001-09-15 18:00 UTC (permalink / raw)
  To: linux-kernel


Hate to post a me-too, but my Asus A7V133 does have 55.7 set (reg 55 ==
0x89) and is running fine with 2.4.9-ac9 and K7 optimizations. BIOS
revision is 1005A, memory is 3x256MB noname DIMMs. 

-K.


On Fri, 14 Sep 2001, Byron Stanoszek wrote:

> I'm using the ZT bios with ABIT KT7A and I have not encountered any OOPSes or
> anything with Athlon/Duron optimized kernels. I've been using the -ac kernels
> since 2.4.0, upgrading regularly. I'm running a 1200 MHz TBird.  I'm reluctant
> to try later BIOSes because #1: Mine works as it is now, and #2: I'm afraid of
[snip]


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-15 18:00             ` Liakakis Kostas
@ 2001-09-15 20:28               ` VDA
  0 siblings, 0 replies; 18+ messages in thread
From: VDA @ 2001-09-15 20:28 UTC (permalink / raw)
  To: Liakakis Kostas; +Cc: linux-kernel

Hello Liakakis,
Saturday, September 15, 2001, 9:00:41 PM, you wrote:
LK> Hate to post a me-too, but my Asus A7V133 does have 55.7 set (reg 55 ==
LK> 0x89) and is running fine with 2.4.9-ac9 and K7 optimizations. BIOS
LK> revision is 1005A, memory is 3x256MB noname DIMMs.

Ok, but we don't see KT133A mobos with Athlon/Duron and 55.7=1
to fail always. It can start failing with faster CPU, different
memory or once in a blue moon - nobody knows.

It is better to turn that bit off for good,
unless VIA and BIOS writers will enlighten
us what is 55.7 (and 55.6-0 too).
-- 
Best regards, VDA
mailto:VDA@port.imtp.ilyichevsk.odessa.ua
http://port.imtp.ilyichevsk.odessa.ua/vda/



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-14  8:27         ` Athlon: Try this (was: Re: Athlon bug stomping #2) Roberto Jung Drebes
  2001-09-14 18:19           ` Byron Stanoszek
  2001-09-15  7:15           ` brian
@ 2001-09-16 21:53           ` Carsten Leonhardt
  2001-09-19  3:55             ` Dan Hollis
  2 siblings, 1 reply; 18+ messages in thread
From: Carsten Leonhardt @ 2001-09-16 21:53 UTC (permalink / raw)
  To: linux-kernel

Roberto Jung Drebes <drebes@inf.ufrgs.br> writes:

> I tested here and it seems that bit 7 is responsible. Here is the
> diff to pci-pc.c:

I tried it here on my Tyan Trinity KT-A (S2390B), and it works!

Very nice!

Thanks,
  leo

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-15  7:15           ` brian
@ 2001-09-19  1:30             ` brian
  2001-09-19 13:10             ` Re[2]: " VDA
  1 sibling, 0 replies; 18+ messages in thread
From: brian @ 2001-09-19  1:30 UTC (permalink / raw)
  To: Roberto Jung Drebes, Eric W. Biederman, Chris Vandomelen,
	linux-kernel, VDA

I just tried the 'Athlon Bug stomper #2 bit 7 patch version 1' on a 2nd
matchine, 900 MHz Duron system with an Epox 8KTA3+ MB, and it too
is now running fine with an Athlon optimized kernel, when before it
would oops to death on boot.

Shall I keep posting success reports or are people convinced this
fix works?

> > > On 13 Sep 2001, Eric W. Biederman wrote:
> > > > Anyone want to generate a kernel patch so this fix can get some wider
> > > > testing?
> 
> > On Fri, 14 Sep 2001, Roberto Jung Drebes wrote:
> > > I'll try to isolate the single bit in the register that is causing the
> > > fault and will send the diff.
> 
> On Fri, Sep 14, 2001 at 05:27:49AM -0300, Roberto Jung Drebes wrote:
> > I tested here and it seems that bit 7 is responsible. Here is the diff to
> > pci-pc.c:
> 
On Sat, Sep 15, 2001 at 12:15:30AM -0700, brian@worldcontrol.com wrote:
> I just tried the patch and for the first time I've been able to
> successfully boot and run a 2.4 kernel with Athlon optimizations.
> ...
> The machine that has been successful, and the only one I tried, is an
> 800 MHz Duron system with an Epox 8KTA3+ MB which is now running fine
> with linux 2.4.9ac10 + the Athlon Bug stomper #2 bit 7 patch version 1.


-- 
Brian Litzinger <brian@worldcontrol.com>

    Copyright (c) 2000 By Brian Litzinger, All Rights Reserved

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-16 21:53           ` Carsten Leonhardt
@ 2001-09-19  3:55             ` Dan Hollis
  0 siblings, 0 replies; 18+ messages in thread
From: Dan Hollis @ 2001-09-19  3:55 UTC (permalink / raw)
  To: Carsten Leonhardt; +Cc: linux-kernel

On 16 Sep 2001, Carsten Leonhardt wrote:
> Roberto Jung Drebes <drebes@inf.ufrgs.br> writes:
> > I tested here and it seems that bit 7 is responsible. Here is the
> > diff to pci-pc.c:
> I tried it here on my Tyan Trinity KT-A (S2390B), and it works!

Has anyone compared memcopy speed with it on and with it off?
Eg does it slow down memory accesses even slower than non-optimized
memcopy?

-Dan

-- 
[-] Omae no subete no kichi wa ore no mono da. [-]


^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re[2]: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-15  7:15           ` brian
  2001-09-19  1:30             ` brian
@ 2001-09-19 13:10             ` VDA
  2001-09-19 23:56               ` Nicholas Knight
  1 sibling, 1 reply; 18+ messages in thread
From: VDA @ 2001-09-19 13:10 UTC (permalink / raw)
  To: brian; +Cc: linux-kernel

Hello brian,
Wednesday, September 19, 2001, 4:30:17 AM, you wrote:
bwc> I just tried the 'Athlon Bug stomper #2 bit 7 patch version 1' on a 2nd
bwc> matchine, 900 MHz Duron system with an Epox 8KTA3+ MB, and it too
bwc> is now running fine with an Athlon optimized kernel, when before it
bwc> would oops to death on boot.
bwc> Shall I keep posting success reports or are people convinced this
bwc> fix works?

It is pleasant to hear success stories.
However, now we are pretty sure fix is ok,
so only failure reports to lkml please.
-- 
Best regards, VDA
mailto:VDA@port.imtp.ilyichevsk.odessa.ua
http://port.imtp.ilyichevsk.odessa.ua/vda/



^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Re[2]: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-19 13:10             ` Re[2]: " VDA
@ 2001-09-19 23:56               ` Nicholas Knight
  2001-09-20  3:17                 ` Nicholas Knight
  0 siblings, 1 reply; 18+ messages in thread
From: Nicholas Knight @ 2001-09-19 23:56 UTC (permalink / raw)
  To: VDA, brian; +Cc: linux-kernel

On Wednesday 19 September 2001 06:10 am, VDA wrote:
> Hello brian,
> Wednesday, September 19, 2001, 4:30:17 AM, you wrote:
> bwc> I just tried the 'Athlon Bug stomper #2 bit 7 patch version 1' on
> a 2nd bwc> matchine, 900 MHz Duron system with an Epox 8KTA3+ MB, and
> it too bwc> is now running fine with an Athlon optimized kernel, when
> before it bwc> would oops to death on boot.
> bwc> Shall I keep posting success reports or are people convinced this
> bwc> fix works?
>
> It is pleasant to hear success stories.
> However, now we are pretty sure fix is ok,
> so only failure reports to lkml please.

Reports of loss of performance due to this patch would be good too.

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Re[2]: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-19 23:56               ` Nicholas Knight
@ 2001-09-20  3:17                 ` Nicholas Knight
  2001-09-20 12:34                   ` Alan Cox
  0 siblings, 1 reply; 18+ messages in thread
From: Nicholas Knight @ 2001-09-20  3:17 UTC (permalink / raw)
  To: VDA, brian; +Cc: linux-kernel

Here's a new one:
http://zerowing.idsoftware.com/linux/q3a/
I have an AMD CPU and a kernel 2.4.*, Quake III Arena is slowing down to 
a complete stop after a while?

It seems the 3DNow! copy routines have issues with the southbridge chip 
in the KT133A, this results in performances degrading while playing for a 
while. Re-compile your kernel without 3DNow! instructions to avoid the 
problem, and wait for newer kernels with better support for 3DNow! / 
KT133A.


Anyone know further details on this and if it's in any way connected with 
the current K7 optimization problems in the kernel?

^ permalink raw reply	[flat|nested] 18+ messages in thread

* Re: Re[2]: Athlon: Try this (was: Re: Athlon bug stomping #2)
  2001-09-20  3:17                 ` Nicholas Knight
@ 2001-09-20 12:34                   ` Alan Cox
  0 siblings, 0 replies; 18+ messages in thread
From: Alan Cox @ 2001-09-20 12:34 UTC (permalink / raw)
  To: tegeran; +Cc: VDA, brian, linux-kernel

> It seems the 3DNow! copy routines have issues with the southbridge chip 
> in the KT133A, this results in performances degrading while playing for a 
> while. Re-compile your kernel without 3DNow! instructions to avoid the 
> problem, and wait for newer kernels with better support for 3DNow! / 
> KT133A.> 

I have no data of any kind to remotely substantiate that claim. I would
have expected to see such data if it existed.

Alan

^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2001-09-20 12:31 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-09-13 12:31 Athlon bug stomping #2 VDA
2001-09-14  2:56 ` Roberto Jung Drebes
2001-09-14  4:02   ` Chris Vandomelen
2001-09-14  5:51     ` Eric W. Biederman
2001-09-14  7:34       ` Roberto Jung Drebes
2001-09-14  8:27         ` Athlon: Try this (was: Re: Athlon bug stomping #2) Roberto Jung Drebes
2001-09-14 18:19           ` Byron Stanoszek
2001-09-15 18:00             ` Liakakis Kostas
2001-09-15 20:28               ` VDA
2001-09-15  7:15           ` brian
2001-09-19  1:30             ` brian
2001-09-19 13:10             ` Re[2]: " VDA
2001-09-19 23:56               ` Nicholas Knight
2001-09-20  3:17                 ` Nicholas Knight
2001-09-20 12:34                   ` Alan Cox
2001-09-16 21:53           ` Carsten Leonhardt
2001-09-19  3:55             ` Dan Hollis
2001-09-14  9:26         ` Jeff Lightfoot

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).