public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Tymm Twillman <ttwillman@penguincomputing.com>
To: linux-kernel@vger.kernel.org
Subject: 2.4.31 - nforce chipset timer override bios bug workaround
Date: Thu, 09 Jun 2005 15:37:53 -0700	[thread overview]
Message-ID: <42A8C4C1.4030700@penguincomputing.com> (raw)

[-- Attachment #1: Type: text/plain, Size: 1130 bytes --]

In the 2.4.30/31 kernels there is now a backport from the 2.6 kernels of 
a workaround for buggy timer overrides in the ACPI tables for many 
nvidia chipset based motherboards.  Unfortunately the code for this on 
x86-64 based systems is conditionally compiled in only for non-SMP 
kernels.  This is a patch to remove the conditional and allow the code 
to be compiled in for SMP kernels as well (we've seen a number of SMP 
motherboards which intermittently lock up during boot, and otherwise 
sometimes seem unstable without the workaround).  Patch so far has been 
tested across numerous reboots and several hours uptime.

Also part of this patch is modifications to avoid referencing the 
variable "swiotlb" from pci-gart.c when CONFIG_SWIOTLB is not set; 
without modification, an x86_64 kernel without CONFIG_SWIOTLB set breaks 
during compilation of arch/x86_64/kernel/pci-gart.c.

All small changes & straightforward; don't think there's anything to 
worry about WRT enabling the override workaround code on SMP boxes, 
although I'd appreciate verification from someone more familiar with the 
setup code.

Thanks,

-Tymm

[-- Attachment #2: linux-2.4.31-nforce-smp-timer-override-plus-swiotlb.patch --]
[-- Type: text/x-patch, Size: 1720 bytes --]

diff -urN linux-2.4.31-vanilla/arch/x86_64/kernel/io_apic.c linux-2.4.31/arch/x86_64/kernel/io_apic.c
--- linux-2.4.31-vanilla/arch/x86_64/kernel/io_apic.c	2005-04-03 18:42:19.000000000 -0700
+++ linux-2.4.31/arch/x86_64/kernel/io_apic.c	2005-06-10 03:12:22.000000000 -0700
@@ -222,7 +222,6 @@
 
 __setup("apic", ioapic_setup);
 
-#ifndef CONFIG_SMP
 #include <asm/pci-direct.h>
 #include <linux/pci_ids.h>
 #include <linux/pci.h>
@@ -279,7 +278,6 @@
 		}
 	}
 } 
-#endif
 
 static int __init ioapic_pirq_setup(char *str)
 {
diff -urN linux-2.4.31-vanilla/arch/x86_64/kernel/pci-gart.c linux-2.4.31/arch/x86_64/kernel/pci-gart.c
--- linux-2.4.31-vanilla/arch/x86_64/kernel/pci-gart.c	2005-05-31 17:56:56.000000000 -0700
+++ linux-2.4.31/arch/x86_64/kernel/pci-gart.c	2005-06-10 04:45:54.000000000 -0700
@@ -155,7 +155,12 @@
 	int i;
 	unsigned long iommu_page;
 
+#ifdef CONFIG_SWIOTLB
 	if (hwdev == NULL || hwdev->dma_mask < 0xffffffff || (no_iommu && !swiotlb))
+#else
+	if (hwdev == NULL || hwdev->dma_mask < 0xffffffff || (no_iommu))
+
+#endif
 		gfp |= GFP_DMA;
 
 	/* 
diff -urN linux-2.4.31-vanilla/arch/x86_64/kernel/setup.c linux-2.4.31/arch/x86_64/kernel/setup.c
--- linux-2.4.31-vanilla/arch/x86_64/kernel/setup.c	2005-04-03 18:42:19.000000000 -0700
+++ linux-2.4.31/arch/x86_64/kernel/setup.c	2005-06-10 04:57:36.000000000 -0700
@@ -51,8 +51,10 @@
 int acpi_disabled;
 EXPORT_SYMBOL(acpi_disabled);
 
+#ifdef CONFIG_SWIOTLB
 int swiotlb;
 EXPORT_SYMBOL(swiotlb);
+#endif
 
 extern	int phys_proc_id[NR_CPUS];
 
@@ -304,7 +306,7 @@
 #endif
 
 	paging_init();
-#if !defined(CONFIG_SMP) && defined(CONFIG_X86_IO_APIC)
+#if defined(CONFIG_X86_IO_APIC)
 	extern void check_ioapic(void);
 	check_ioapic();
 #endif

                 reply	other threads:[~2005-06-09 22:38 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=42A8C4C1.4030700@penguincomputing.com \
    --to=ttwillman@penguincomputing.com \
    --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